Removed Dependency: httpclient
[holmes/rule-management.git] / rulemgt / src / test / java / org / onap / holmes / rulemgt / dcae / DcaeConfigurationPollingTest.java
index 25e211a..b6e7149 100644 (file)
@@ -1,12 +1,12 @@
 /**
- * Copyright 2017 ZTE Corporation.
- *
+ * Copyright 2017-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
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
+ * <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.
  */
 package org.onap.holmes.rulemgt.dcae;
 
-import static org.easymock.EasyMock.anyObject;
-import static org.hamcrest.CoreMatchers.anyOf;
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.junit.Assert.assertThat;
-import static org.powermock.api.mockito.PowerMockito.when;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import javax.ws.rs.ProcessingException;
-import org.junit.Before;
 import org.junit.Test;
-import org.junit.rules.ExpectedException;
 import org.junit.runner.RunWith;
-import org.onap.holmes.common.config.MicroServiceConfig;
+import org.onap.holmes.common.dcae.DcaeConfigurationQuery;
 import org.onap.holmes.common.dcae.entity.DcaeConfigurations;
 import org.onap.holmes.common.dcae.entity.Rule;
-import org.onap.holmes.common.dcae.utils.DcaeConfigurationParser;
-import org.onap.holmes.common.exception.CorrelationException;
-import org.onap.holmes.rulemgt.bean.request.RuleCreateRequest;
+import org.onap.holmes.common.utils.JerseyClient;
+import org.onap.holmes.rulemgt.bean.response.RuleQueryListResponse;
+import org.onap.holmes.rulemgt.bean.response.RuleResult4API;
 import org.powermock.api.easymock.PowerMock;
-import org.powermock.api.mockito.PowerMockito;
 import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.core.classloader.annotations.SuppressStaticInitializationFor;
 import org.powermock.modules.junit4.PowerMockRunner;
 import org.powermock.reflect.Whitebox;
 
-@PrepareForTest({DcaeConfigurationPolling.class, MicroServiceConfig.class, ObjectMapper.class})
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.easymock.EasyMock.*;
+import static org.powermock.api.easymock.PowerMock.*;
+
 @RunWith(PowerMockRunner.class)
+@SuppressStaticInitializationFor("org.onap.holmes.common.utils.JerseyClient")
+@PrepareForTest({DcaeConfigurationPolling.class, DcaeConfigurationQuery.class})
 public class DcaeConfigurationPollingTest {
 
-    @org.junit.Rule
-    public ExpectedException thrown = ExpectedException.none();
+    @Test
+    public void run() throws Exception {
+        DcaeConfigurations dcaeConfigurations = new DcaeConfigurations();
+        dcaeConfigurations.addDefaultRule(new Rule("test", "clName", "contents", 1));
+        mockStatic(DcaeConfigurationQuery.class);
+        expect(DcaeConfigurationQuery.getDcaeConfigurations(anyObject(String.class))).andReturn(dcaeConfigurations);
+        DcaeConfigurationPolling dcaeConfigurationPolling = new DcaeConfigurationPolling("localhost");
+
+        Whitebox.setInternalState(dcaeConfigurationPolling, "url", "http://127.0.0.1");
 
-    private DcaeConfigurationPolling daceConfigurationPolling;
+        RuleQueryListResponse ruleQueryListResponse = new RuleQueryListResponse();
+        List<RuleResult4API> ruleResult4APIList = new ArrayList<RuleResult4API>() {
+            {
+                add(new RuleResult4API());
+            }
+        };
+        ruleQueryListResponse.setCorrelationRules(ruleResult4APIList);
+        ruleQueryListResponse.setTotalCount(ruleResult4APIList.size());
 
-    @Before
-    public void setUp() {
-        daceConfigurationPolling = new DcaeConfigurationPolling("holmes-rule-mgmt");
-    }
+        JerseyClient mockedJerseyClient = PowerMock.createMock(JerseyClient.class);
+        PowerMock.expectNew(JerseyClient.class).andReturn(mockedJerseyClient);
+        expect(mockedJerseyClient.get(anyString(), anyObject())).andReturn(ruleQueryListResponse);
 
-    @Test
-    public void testDaceConfigurationPolling_getDcaeConfigurations_exception() throws Exception {
-        PowerMock.resetAll();
-        thrown.expect(CorrelationException.class);
-        thrown.expectMessage("host");
-        PowerMockito.mockStatic(MicroServiceConfig.class);
-        when(MicroServiceConfig.getServiceAddrInfoFromCBS("holmes-rule-mgmt"))
-                .thenReturn("host");
-        PowerMock.createMock(DcaeConfigurationParser.class);
-        PowerMock.expectPrivate(DcaeConfigurationParser.class, "parse", "host")
-                .andThrow(new CorrelationException("tests")).anyTimes();
-
-        PowerMock.replayAll();
-        Whitebox.invokeMethod(daceConfigurationPolling, "getDcaeConfigurations");
-        PowerMock.verifyAll();
-    }
+        PowerMock.expectNew(JerseyClient.class).andReturn(mockedJerseyClient);
+        expect(mockedJerseyClient.delete(anyString())).andReturn("true");
 
-    @Test
-    public void testDaceConfigurationPolling_getDcaeConfigurations_null() throws Exception {
-        PowerMock.resetAll();
-        thrown.expect(CorrelationException.class);
-        PowerMockito.mockStatic(MicroServiceConfig.class);
-        when(MicroServiceConfig.getServiceAddrInfoFromCBS("holmes-rule-mgmt"))
-                .thenReturn("host");
-        PowerMock.createMock(DcaeConfigurationParser.class);
-        PowerMock.expectPrivate(DcaeConfigurationParser.class, "parse", "host")
-                .andReturn(null).anyTimes();
-
-        PowerMock.replayAll();
-        DcaeConfigurations dcaeConfigurations = Whitebox
-                .invokeMethod(daceConfigurationPolling, "getDcaeConfigurations");
-        PowerMock.verifyAll();
-
-        assertThat(dcaeConfigurations == null, equalTo(true));
+        PowerMock.expectNew(JerseyClient.class).andReturn(mockedJerseyClient);
+        expect(mockedJerseyClient.header(anyString(), anyString())).andReturn(mockedJerseyClient);
+        expect(mockedJerseyClient.put(anyString(), anyObject())).andReturn("true");
+
+        replayAll();
+
+        dcaeConfigurationPolling.run();
+
+        verifyAll();
     }
 
     @Test
-    public void testDaceConfigurationPolling_addAllCorrelationRules_connection_exception()
-            throws Exception {
-        PowerMock.resetAll();
-        thrown.expect(ProcessingException.class);
+    public void run_identical_contents() throws Exception {
         DcaeConfigurations dcaeConfigurations = new DcaeConfigurations();
-        Rule rule = new Rule("test", "test", "tset",1);
-        dcaeConfigurations.getDefaultRules().add(rule);
+        dcaeConfigurations.addDefaultRule(new Rule("test", "clName", "contents", 1));
+        mockStatic(DcaeConfigurationQuery.class);
+        expect(DcaeConfigurationQuery.getDcaeConfigurations(anyObject(String.class))).andReturn(dcaeConfigurations).times(2);
+        DcaeConfigurationPolling dcaeConfigurationPolling = new DcaeConfigurationPolling("localhost");
 
-        PowerMock.replayAll();
-        Whitebox.invokeMethod(daceConfigurationPolling, "addAllCorrelationRules",
-                dcaeConfigurations);
-        PowerMock.verifyAll();
-    }
+        Whitebox.setInternalState(dcaeConfigurationPolling, "url", "http://127.0.0.1");
 
-    @Test
-    public void testDaceConfigurationPolling_getRuleCreateRequest() throws Exception {
-        PowerMock.resetAll();
-        Rule rule = new Rule("test", "test1", "stest",1);
-        PowerMock.replayAll();
-        RuleCreateRequest actual = Whitebox
-                .invokeMethod(daceConfigurationPolling, "getRuleCreateRequest", rule);
-        PowerMock.verifyAll();
-
-        assertThat(actual.getRuleName(), equalTo("test"));
-        assertThat(actual.getLoopControlName(), equalTo("test1"));
-        assertThat(actual.getContent(), equalTo("stest"));
-        assertThat(actual.getDescription(), equalTo(""));
-        assertThat(actual.getEnabled(), equalTo(1));
+        RuleQueryListResponse ruleQueryListResponse = new RuleQueryListResponse();
+        List<RuleResult4API> ruleResult4APIList = new ArrayList<RuleResult4API>() {
+            {
+                add(new RuleResult4API());
+            }
+        };
+        ruleQueryListResponse.setCorrelationRules(ruleResult4APIList);
+        ruleQueryListResponse.setTotalCount(ruleResult4APIList.size());
+        JerseyClient mockedJerseyClient = PowerMock.createMock(JerseyClient.class);
+        PowerMock.expectNew(JerseyClient.class).andReturn(mockedJerseyClient);
+        expect(mockedJerseyClient.get(anyString(), anyObject())).andReturn(ruleQueryListResponse);
+
+        PowerMock.expectNew(JerseyClient.class).andReturn(mockedJerseyClient);
+        expect(mockedJerseyClient.delete(anyString())).andReturn("true");
+
+        PowerMock.expectNew(JerseyClient.class).andReturn(mockedJerseyClient);
+        expect(mockedJerseyClient.header(anyString(), anyString())).andReturn(mockedJerseyClient);
+        expect(mockedJerseyClient.put(anyString(), anyObject())).andReturn("true");
+
+        replayAll();
+
+        dcaeConfigurationPolling.run();
+        dcaeConfigurationPolling.run();
+
+        verifyAll();
     }
 }
\ No newline at end of file