summaryrefslogtreecommitdiffstats
path: root/engine-d/src/test/java/org/onap/holmes/engine/dcae/ConfigFileScanningTaskTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'engine-d/src/test/java/org/onap/holmes/engine/dcae/ConfigFileScanningTaskTest.java')
-rw-r--r--engine-d/src/test/java/org/onap/holmes/engine/dcae/ConfigFileScanningTaskTest.java82
1 files changed, 82 insertions, 0 deletions
diff --git a/engine-d/src/test/java/org/onap/holmes/engine/dcae/ConfigFileScanningTaskTest.java b/engine-d/src/test/java/org/onap/holmes/engine/dcae/ConfigFileScanningTaskTest.java
new file mode 100644
index 0000000..b663133
--- /dev/null
+++ b/engine-d/src/test/java/org/onap/holmes/engine/dcae/ConfigFileScanningTaskTest.java
@@ -0,0 +1,82 @@
+/**
+ * Copyright 2021 ZTE Corporation.
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onap.holmes.engine.dcae;
+
+import org.easymock.EasyMock;
+import org.glassfish.hk2.api.ServiceLocator;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.onap.holmes.common.dcae.DcaeConfigurationsCache;
+import org.onap.holmes.common.dropwizard.ioc.utils.ServiceLocatorHolder;
+import org.onap.holmes.dsa.dmaappolling.DMaaPResponseUtil;
+import org.onap.holmes.dsa.dmaappolling.Subscriber;
+import org.onap.holmes.engine.dmaap.SubscriberAction;
+import org.powermock.api.easymock.PowerMock;
+import org.powermock.modules.junit4.PowerMockRunner;
+import org.powermock.reflect.Whitebox;
+
+import static org.hamcrest.core.IsEqual.equalTo;
+import static org.junit.Assert.assertThat;
+
+@RunWith(PowerMockRunner.class)
+public class ConfigFileScanningTaskTest {
+
+ @Test
+ public void run() {
+ ServiceLocator mockedSl = PowerMock.createMock(ServiceLocator.class);
+ SubscriberAction mockedSa = PowerMock.createMock(SubscriberAction.class);
+ ServiceLocatorHolder.setLocator(mockedSl);
+ EasyMock.expect(mockedSl.getService(SubscriberAction.class)).andReturn(mockedSa);
+ // This is invoked while executing new Subscriber().
+ EasyMock.expect(mockedSl.getService(DMaaPResponseUtil.class)).andReturn(new DMaaPResponseUtil());
+ mockedSa.addSubscriber(EasyMock.anyObject(Subscriber.class));
+ EasyMock.expectLastCall();
+
+ ConfigFileScanningTask cfst = new ConfigFileScanningTask(null);
+ String configFilePath = ConfigFileScanningTaskTest.class.getResource("/cfy.json").getFile();
+ Whitebox.setInternalState(cfst, "configFile", configFilePath);
+
+ PowerMock.replayAll();
+ cfst.run();
+ PowerMock.verifyAll();
+
+ assertThat(DcaeConfigurationsCache.getPubSecInfo("dcae_cl_out").getDmaapInfo().getTopicUrl(),
+ equalTo("http://message-router.onap:3904/events/unauthenticated.DCAE_CL_OUTPUT"));
+ }
+
+ @Test
+ public void run_config_not_changed() {
+ ServiceLocator mockedSl = PowerMock.createMock(ServiceLocator.class);
+ SubscriberAction mockedSa = PowerMock.createMock(SubscriberAction.class);
+ ServiceLocatorHolder.setLocator(mockedSl);
+ // mocked objects will be only used once
+ EasyMock.expect(mockedSl.getService(SubscriberAction.class)).andReturn(mockedSa);
+ // This is invoked while executing new Subscriber().
+ EasyMock.expect(mockedSl.getService(DMaaPResponseUtil.class)).andReturn(new DMaaPResponseUtil());
+ mockedSa.addSubscriber(EasyMock.anyObject(Subscriber.class));
+ EasyMock.expectLastCall();
+
+ ConfigFileScanningTask cfst = new ConfigFileScanningTask(null);
+ String configFilePath = ConfigFileScanningTaskTest.class.getResource("/cfy.json").getFile();
+ Whitebox.setInternalState(cfst, "configFile", configFilePath);
+
+ PowerMock.replayAll();
+ cfst.run();
+ cfst.run();
+ PowerMock.verifyAll();
+ }
+} \ No newline at end of file