Made the retry interval longer during MSB reg.
[holmes/common.git] / holmes-actions / src / test / java / org / onap / holmes / common / utils / MsbRegisterTest.java
index 19b3251..0201935 100644 (file)
@@ -1,5 +1,5 @@
 /**
- * Copyright 2017-2020 ZTE Corporation.
+ * Copyright 2017-2022 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.
@@ -27,40 +27,39 @@ import org.powermock.api.easymock.PowerMock;
 import org.powermock.core.classloader.annotations.PowerMockIgnore;
 import org.powermock.core.classloader.annotations.PrepareForTest;
 import org.powermock.modules.junit4.PowerMockRunner;
-import org.powermock.reflect.internal.WhiteboxImpl;
 
 import javax.ws.rs.client.Entity;
+import javax.ws.rs.core.MediaType;
 
 import static org.easymock.EasyMock.anyObject;
 import static org.easymock.EasyMock.expect;
-import static org.powermock.api.easymock.PowerMock.createPartialMock;
+import static org.powermock.api.easymock.PowerMock.createMock;
+import static org.powermock.api.easymock.PowerMock.expectNew;
 
 @PrepareForTest({MicroServiceConfig.class, JerseyClient.class})
 @RunWith(PowerMockRunner.class)
 @PowerMockIgnore({"javax.net.ssl.*", "javax.security.*"})
 public class MsbRegisterTest {
 
-    private MsbRegister msbRegister;
     private JerseyClient mockedJerseyClient;
     private MicroServiceInfo msi;
 
     @Before
-    public void before() {
+    public void before() throws Exception {
         msi = new MicroServiceInfo();
         String[] msbAddrInfo = {"127.0.0.1", "80"};
 
         PowerMock.mockStatic(MicroServiceConfig.class);
         expect(MicroServiceConfig.getMsbIpAndPort()).andReturn(msbAddrInfo);
 
-        mockedJerseyClient = createPartialMock(JerseyClient.class,
-                "post", new Class[]{String.class, Entity.class, Class.class});
-
-        msbRegister = new MsbRegister();
-        WhiteboxImpl.setInternalState(msbRegister, "client", mockedJerseyClient);
+        mockedJerseyClient = createMock(JerseyClient.class);
+        expectNew(JerseyClient.class).andReturn(mockedJerseyClient);
     }
 
     @Test
     public void test_register2Msb_normal() {
+        expect(mockedJerseyClient.header("Accept", MediaType.APPLICATION_JSON)).andReturn(mockedJerseyClient);
+        expect(mockedJerseyClient.queryParam("createOrUpdate", true)).andReturn(mockedJerseyClient);
         expect(mockedJerseyClient.post(anyObject(String.class),
                 anyObject(Entity.class),
                 anyObject(Class.class)))
@@ -75,6 +74,7 @@ public class MsbRegisterTest {
 
         PowerMock.replayAll();
 
+        MsbRegister msbRegister = new MsbRegister();
         try {
             msbRegister.register2Msb(msi);
         } catch (CorrelationException e) {
@@ -85,11 +85,14 @@ public class MsbRegisterTest {
     }
 
     @Test
-    public void test_register2Msb_fail_once() {
+    public void test_register2Msb_fail_n_times() {
+        int requestTimes = 3;
+        expect(mockedJerseyClient.header("Accept", MediaType.APPLICATION_JSON)).andReturn(mockedJerseyClient).times(requestTimes);
+        expect(mockedJerseyClient.queryParam("createOrUpdate", true)).andReturn(mockedJerseyClient).times(requestTimes);
         expect(mockedJerseyClient.post(anyObject(String.class),
                 anyObject(Entity.class),
                 anyObject(Class.class)))
-                .andReturn(null);
+                .andReturn(null).times(requestTimes - 1);
 
         expect(mockedJerseyClient.post(anyObject(String.class),
                 anyObject(Entity.class),
@@ -105,6 +108,8 @@ public class MsbRegisterTest {
 
         PowerMock.replayAll();
 
+        MsbRegister msbRegister = new MsbRegister();
+        msbRegister.setInterval(1);
         try {
             msbRegister.register2Msb(msi);
         } catch (CorrelationException e) {