Adapt to new A1Client interface
[nonrtric.git] / policy-agent / src / test / java / org / oransc / policyagent / ApplicationTest.java
index df26ba4..83ee760 100644 (file)
  * limitations under the License.
  * ========================LICENSE_END===================================
  */
+
 package org.oransc.policyagent;
 
 import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.Assert.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertFalse;
 
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
@@ -30,9 +31,8 @@ import java.net.URL;
 import java.util.List;
 import java.util.Vector;
 
-import org.junit.Test;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.oransc.policyagent.configuration.ApplicationConfig;
 import org.oransc.policyagent.configuration.ImmutableRicConfig;
 import org.oransc.policyagent.configuration.RicConfig;
@@ -55,15 +55,18 @@ import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
 import org.springframework.boot.test.context.TestConfiguration;
 import org.springframework.boot.web.server.LocalServerPort;
+import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
-import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
 import org.springframework.web.client.RestTemplate;
 
-@RunWith(SpringRunner.class)
+@ExtendWith(SpringExtension.class)
 @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
 public class ApplicationTest {
+    @Autowired
+    ApplicationContext context;
 
     @Autowired
     private Rics rics;
@@ -87,7 +90,7 @@ public class ApplicationTest {
     }
 
     /**
-     * overrides the BeanFactory
+     * Overrides the BeanFactory.
      */
     @TestConfiguration
     static class TestBeanFactory {
@@ -96,6 +99,16 @@ public class ApplicationTest {
         public ApplicationConfig getApplicationConfig() {
             return new MockApplicationConfig();
         }
+
+        @Bean
+        public Rics getRics() {
+            Rics rics = new Rics();
+            rics.put(new Ric(ImmutableRicConfig.builder().name("kista_1").baseUrl("kista_url")
+                .managedElementIds(new Vector<>()).build()));
+            rics.put(new Ric(ImmutableRicConfig.builder().name("ric1").baseUrl("ric_url")
+                .managedElementIds(new Vector<>()).build()));
+            return rics;
+        }
     }
 
     @LocalServerPort
@@ -103,8 +116,7 @@ public class ApplicationTest {
 
     private final RestTemplate restTemplate = new RestTemplate();
 
-    @BeforeEach
-    public void reset() {
+    private void reset() {
         rics.clear();
         policies.clear();
         policyTypes.clear();
@@ -115,7 +127,13 @@ public class ApplicationTest {
     public void testGetRics() throws Exception {
         String url = baseUrl() + "/rics";
         String rsp = this.restTemplate.getForObject(url, String.class);
+        System.out.println(rsp);
         assertThat(rsp).contains("kista_1");
+
+        url = baseUrl() + "/rics?policyType=ANR";
+        rsp = this.restTemplate.getForObject(url, String.class);
+        // TODO this should test that the correct types are retrieved from the RIC
+        assertThat(rsp).isEqualTo("[]");
     }
 
     @Test
@@ -150,7 +168,6 @@ public class ApplicationTest {
 
     private PolicyType addPolicyType(String name) {
         PolicyType type = ImmutablePolicyType.builder() //
-            .jsonSchema("") //
             .name(name) //
             .build();
 
@@ -213,7 +230,7 @@ public class ApplicationTest {
         assertThat(policies.size()).isEqualTo(0);
     }
 
-    public static <T> List<T> parseList(String json, Class<T> clazz) {
+    private static <T> List<T> parseList(String json, Class<T> clazz) {
         if (null == json) {
             return null;
         }
@@ -222,11 +239,11 @@ public class ApplicationTest {
 
     @Test
     public void testGetPolicyTypes() throws Exception {
-        String url = baseUrl() + "/policy_types";
         reset();
         addPolicy("id1", "type1", "service1");
         addPolicy("id2", "type2", "service2");
 
+        String url = baseUrl() + "/policy_types";
         String rsp = this.restTemplate.getForObject(url, String.class);
         System.out.println(rsp);
         assertThat(rsp).contains("type1");