import org.onap.dmaap.dbcapi.model.ApiError;
import org.onap.dmaap.dbcapi.model.Dmaap;
import org.onap.dmaap.dbcapi.model.Topic;
+import org.onap.dmaap.dbcapi.util.DmaapConfig;
import java.util.List;
private AafServiceStub aafService = new AafServiceStub();
@Mock
private DmaapService dmaapService;
+ @Mock
+ private DmaapConfig dmaapConfig;
private AafTopicSetupService aafTopicSetupService;
@Before
dmaap.setTopicNsRoot(TOPIC_NS_ROOT);
given(dmaapService.getDmaap()).willReturn(dmaap);
given(dmaapService.getTopicPerm()).willReturn(TOPIC_PERM);
- aafTopicSetupService = new AafTopicSetupService(aafService, dmaapService, true);
+ given(dmaapConfig.getProperty("aaf.CreateTopicRoles", "true")).willReturn("true");
+ given(dmaapConfig.getProperty("MR.ClientDeleteLevel", "0")).willReturn("2");
+ aafTopicSetupService = new AafTopicSetupService(aafService, dmaapService, dmaapConfig);
}
@Test
@Test
public void shouldCreateOnlyPermissionsWhenCreateTopicRolesIsFalse() {
- aafTopicSetupService = new AafTopicSetupService(aafService, dmaapService, false);
+ given(dmaapConfig.getProperty("aaf.CreateTopicRoles", "true")).willReturn("false");
aafTopicSetupService.aafTopicSetup(givenTopic(TOPIC_FQTN));
@Test
public void shouldRemoveOnlyPermissionsWhenCreateTopicRolesIsFalse() {
- aafTopicSetupService = new AafTopicSetupService(aafService, dmaapService, false);
+ given(dmaapConfig.getProperty("aaf.CreateTopicRoles", "true")).willReturn("false");
aafTopicSetupService.aafTopicCleanup(givenTopic(TOPIC_FQTN));
assertErrorStatus(apiError, INTERNAL_SERVER_ERROR);
}
+ @Test
+ public void shouldNotPerformCleanupWhenDeleteLevelIsLessThanTwo() {
+ given(dmaapConfig.getProperty("MR.ClientDeleteLevel", "0")).willReturn("0");
+
+ ApiError apiError = aafTopicSetupService.aafTopicCleanup(givenTopic(TOPIC_FQTN));
+
+ aafService.shouldNotPerformCleanup();
+ assertOkStatus(apiError);
+ }
+
+ @Test
+ public void shouldNotPerformCleanupWhenDeleteLevelIsNotNumericValue() {
+ given(dmaapConfig.getProperty("MR.ClientDeleteLevel", "0")).willReturn("not number");
+
+ ApiError apiError = aafTopicSetupService.aafTopicCleanup(givenTopic(TOPIC_FQTN));
+
+ aafService.shouldNotPerformCleanup();
+ assertOkStatus(apiError);
+ }
+
private Topic givenTopic(String topicFqtn) {
Topic topic = new Topic();
topic.setFqtn(topicFqtn);
throw new UnsupportedOperationException();
}
- @Override
- public int delGrant(DmaapGrant grant) {
- throw new UnsupportedOperationException();
- }
-
@Override
public int addRole(AafRole role) {
this.addedRoles.add(role);
assertNull(this.removedNamespace);
}
+ void shouldNotPerformCleanup() {
+ shouldNotRemoveNamespace();
+ assertTrue(removedPerms.isEmpty());
+ }
}
}
\ No newline at end of file