add unit test for vnfmregister. 11/27711/1
authorLizi <li.zi30@zte.com.cn>
Tue, 9 Jan 2018 11:37:38 +0000 (11:37 +0000)
committerLizi <li.zi30@zte.com.cn>
Tue, 9 Jan 2018 11:47:33 +0000 (11:47 +0000)
Change-Id: I90e690efd0f35fff7151650f078e2b77e134b440
Issue-ID: AAI-500
Signed-off-by: Lizi <li.zi30@zte.com.cn>
esr-mgr/dependency-reduced-pom.xml
esr-mgr/src/main/java/org/onap/aai/esr/externalservice/aai/ExternalSystemProxy.java
esr-mgr/src/test/java/org/onap/aai/esr/wrapper/VnfmManagerWrapperTest.java [new file with mode: 0644]

index 481d79b..6feab2a 100644 (file)
-<?xml version="1.0" encoding="UTF-8"?>\r
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">\r
-  <parent>\r
-    <artifactId>aai-esr-server</artifactId>\r
-    <groupId>org.onap.aai.esr-server</groupId>\r
-    <version>1.0.0-SNAPSHOT</version>\r
-  </parent>\r
-  <modelVersion>4.0.0</modelVersion>\r
-  <artifactId>esr-mgr</artifactId>\r
-  <name>esr-server/esr-mgr</name>\r
-  <version>1.0.0-SNAPSHOT</version>\r
-  <build>\r
-    <plugins>\r
-      <plugin>\r
-        <groupId>org.eclipse.m2e</groupId>\r
-        <artifactId>lifecycle-mapping</artifactId>\r
-        <configuration>\r
-          <lifecycleMappingMetadata>\r
-            <pluginExecutions>\r
-              <pluginExecution>\r
-                <pluginExecutionFilter>\r
-                  <groupId>org.apache.maven.plugins</groupId>\r
-                  <artifactId>maven-dependency-plugin</artifactId>\r
-                  <versionRange>[2.0,)</versionRange>\r
-                  <goals>\r
-                    <goal>copy-dependencies</goal>\r
-                  </goals>\r
-                </pluginExecutionFilter>\r
-                <action>\r
-                  <ignore />\r
-                </action>\r
-              </pluginExecution>\r
-            </pluginExecutions>\r
-          </lifecycleMappingMetadata>\r
-        </configuration>\r
-      </plugin>\r
-      <plugin>\r
-        <artifactId>maven-jar-plugin</artifactId>\r
-        <configuration>\r
-          <archive>\r
-            <manifest>\r
-              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>\r
-            </manifest>\r
-          </archive>\r
-        </configuration>\r
-      </plugin>\r
-      <plugin>\r
-        <artifactId>maven-shade-plugin</artifactId>\r
-        <executions>\r
-          <execution>\r
-            <phase>package</phase>\r
-            <goals>\r
-              <goal>shade</goal>\r
-            </goals>\r
-            <configuration>\r
-              <transformers>\r
-                <transformer />\r
-                <transformer>\r
-                  <mainClass>org.onap.aai.esr.extsysApp</mainClass>\r
-                </transformer>\r
-              </transformers>\r
-            </configuration>\r
-          </execution>\r
-        </executions>\r
-        <configuration>\r
-          <createDependencyReducedPom>true</createDependencyReducedPom>\r
-          <filters>\r
-            <filter>\r
-              <artifact>*:*</artifact>\r
-              <excludes>\r
-                <exclude>META-INF/*.SF</exclude>\r
-                <exclude>META-INF/*.DSA</exclude>\r
-                <exclude>META-INF/*.RSA</exclude>\r
-              </excludes>\r
-            </filter>\r
-          </filters>\r
-        </configuration>\r
-      </plugin>\r
-      <plugin>\r
-        <artifactId>maven-dependency-plugin</artifactId>\r
-        <executions>\r
-          <execution>\r
-            <id>copy-dependencies</id>\r
-            <phase>package</phase>\r
-            <goals>\r
-              <goal>copy-dependencies</goal>\r
-            </goals>\r
-            <configuration>\r
-              <artifactItems>\r
-                <artifactItem>\r
-                  <groupId>io.dropwizard</groupId>\r
-                  <artifactId>dropwizard-core</artifactId>\r
-                  <version>${dropwizard.version}</version>\r
-                  <overWrite>true</overWrite>\r
-                </artifactItem>\r
-              </artifactItems>\r
-            </configuration>\r
-          </execution>\r
-        </executions>\r
-      </plugin>\r
-    </plugins>\r
-  </build>\r
-  <profiles>\r
-    <profile>\r
-      <id>swagger</id>\r
-      <build>\r
-        <plugins>\r
-          <plugin>\r
-            <groupId>com.github.kongchen</groupId>\r
-            <artifactId>swagger-maven-plugin</artifactId>\r
-            <version>3.1.1</version>\r
-            <executions>\r
-              <execution>\r
-                <phase>compile</phase>\r
-                <goals>\r
-                  <goal>generate</goal>\r
-                </goals>\r
-              </execution>\r
-            </executions>\r
-            <dependencies>\r
-              <dependency>\r
-                <groupId>io.swagger</groupId>\r
-                <artifactId>swagger-hibernate-validations</artifactId>\r
-                <version>1.5.6</version>\r
-              </dependency>\r
-            </dependencies>\r
-            <configuration>\r
-              <apiSources>\r
-                <apiSource>\r
-                  <springmvc>false</springmvc>\r
-                  <locations>org.onap.aai.esr.resource</locations>\r
-                  <basePath>/api/aai-esr-server/v1/</basePath>\r
-                  <info>\r
-                    <title>API Descriptions for External System Management</title>\r
-                    <version>v1</version>\r
-                    <description>This page shows all the APIs available in the ESR server module.</description>\r
-                    <termsOfService>http://www.github.com/kongchen/swagger-maven-plugin</termsOfService>\r
-                    <contact>\r
-                      <email>li.zi30@zte.com.cn</email>\r
-                      <name>Zi Li</name>\r
-                    </contact>\r
-                    <license>\r
-                      <url>http://www.apache.org/licenses/LICENSE-2.0.html</url>\r
-                      <name>Apache 2.0</name>\r
-                    </license>\r
-                  </info>\r
-                  <securityDefinitions />\r
-                  <swaggerDirectory>${basedir}/src/main/resources</swaggerDirectory>\r
-                </apiSource>\r
-              </apiSources>\r
-            </configuration>\r
-          </plugin>\r
-        </plugins>\r
-      </build>\r
-      <dependencies>\r
-        <dependency>\r
-          <groupId>io.swagger</groupId>\r
-          <artifactId>swagger-jersey2-jaxrs</artifactId>\r
-          <version>1.5.0</version>\r
-        </dependency>\r
-      </dependencies>\r
-    </profile>\r
-  </profiles>\r
-  <dependencies>\r
-    <dependency>\r
-      <groupId>junit</groupId>\r
-      <artifactId>junit</artifactId>\r
-      <version>4.10</version>\r
-      <scope>test</scope>\r
-      <exclusions>\r
-        <exclusion>\r
-          <artifactId>hamcrest-core</artifactId>\r
-          <groupId>org.hamcrest</groupId>\r
-        </exclusion>\r
-      </exclusions>\r
-    </dependency>\r
-    <dependency>\r
-      <groupId>org.powermock</groupId>\r
-      <artifactId>powermock-module-junit4</artifactId>\r
-      <version>1.4.10</version>\r
-      <scope>test</scope>\r
-      <exclusions>\r
-        <exclusion>\r
-          <artifactId>powermock-module-junit4-common</artifactId>\r
-          <groupId>org.powermock</groupId>\r
-        </exclusion>\r
-      </exclusions>\r
-    </dependency>\r
-    <dependency>\r
-      <groupId>org.powermock</groupId>\r
-      <artifactId>powermock-api-mockito</artifactId>\r
-      <version>1.4.10</version>\r
-      <scope>test</scope>\r
-      <exclusions>\r
-        <exclusion>\r
-          <artifactId>mockito-all</artifactId>\r
-          <groupId>org.mockito</groupId>\r
-        </exclusion>\r
-        <exclusion>\r
-          <artifactId>powermock-api-support</artifactId>\r
-          <groupId>org.powermock</groupId>\r
-        </exclusion>\r
-      </exclusions>\r
-    </dependency>\r
-    <dependency>\r
-      <groupId>org.apache.ant</groupId>\r
-      <artifactId>ant</artifactId>\r
-      <version>1.8.2</version>\r
-      <scope>test</scope>\r
-      <exclusions>\r
-        <exclusion>\r
-          <artifactId>ant-launcher</artifactId>\r
-          <groupId>org.apache.ant</groupId>\r
-        </exclusion>\r
-      </exclusions>\r
-    </dependency>\r
-  </dependencies>\r
-</project>\r
-\r
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <parent>
+    <artifactId>aai-esr-server</artifactId>
+    <groupId>org.onap.aai.esr-server</groupId>
+    <version>1.0.0-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>esr-mgr</artifactId>
+  <name>esr-server/esr-mgr</name>
+  <version>1.0.0-SNAPSHOT</version>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.eclipse.m2e</groupId>
+        <artifactId>lifecycle-mapping</artifactId>
+        <configuration>
+          <lifecycleMappingMetadata>
+            <pluginExecutions>
+              <pluginExecution>
+                <pluginExecutionFilter>
+                  <groupId>org.apache.maven.plugins</groupId>
+                  <artifactId>maven-dependency-plugin</artifactId>
+                  <versionRange>[2.0,)</versionRange>
+                  <goals>
+                    <goal>copy-dependencies</goal>
+                  </goals>
+                </pluginExecutionFilter>
+                <action>
+                  <ignore />
+                </action>
+              </pluginExecution>
+            </pluginExecutions>
+          </lifecycleMappingMetadata>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-jar-plugin</artifactId>
+        <configuration>
+          <archive>
+            <manifest>
+              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+            </manifest>
+          </archive>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-shade-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>package</phase>
+            <goals>
+              <goal>shade</goal>
+            </goals>
+            <configuration>
+              <transformers>
+                <transformer />
+                <transformer>
+                  <mainClass>org.onap.aai.esr.extsysApp</mainClass>
+                </transformer>
+              </transformers>
+            </configuration>
+          </execution>
+        </executions>
+        <configuration>
+          <createDependencyReducedPom>true</createDependencyReducedPom>
+          <filters>
+            <filter>
+              <artifact>*:*</artifact>
+              <excludes>
+                <exclude>META-INF/*.SF</exclude>
+                <exclude>META-INF/*.DSA</exclude>
+                <exclude>META-INF/*.RSA</exclude>
+              </excludes>
+            </filter>
+          </filters>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-dependency-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>copy-dependencies</id>
+            <phase>package</phase>
+            <goals>
+              <goal>copy-dependencies</goal>
+            </goals>
+            <configuration>
+              <artifactItems>
+                <artifactItem>
+                  <groupId>io.dropwizard</groupId>
+                  <artifactId>dropwizard-core</artifactId>
+                  <version>${dropwizard.version}</version>
+                  <overWrite>true</overWrite>
+                </artifactItem>
+              </artifactItems>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+  <profiles>
+    <profile>
+      <id>swagger</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>com.github.kongchen</groupId>
+            <artifactId>swagger-maven-plugin</artifactId>
+            <version>3.1.1</version>
+            <executions>
+              <execution>
+                <phase>compile</phase>
+                <goals>
+                  <goal>generate</goal>
+                </goals>
+              </execution>
+            </executions>
+            <dependencies>
+              <dependency>
+                <groupId>io.swagger</groupId>
+                <artifactId>swagger-hibernate-validations</artifactId>
+                <version>1.5.6</version>
+              </dependency>
+            </dependencies>
+            <configuration>
+              <apiSources>
+                <apiSource>
+                  <springmvc>false</springmvc>
+                  <locations>org.onap.aai.esr.resource</locations>
+                  <basePath>/api/aai-esr-server/v1/</basePath>
+                  <info>
+                    <title>API Descriptions for External System Management</title>
+                    <version>v1</version>
+                    <description>This page shows all the APIs available in the ESR server module.</description>
+                    <termsOfService>http://www.github.com/kongchen/swagger-maven-plugin</termsOfService>
+                    <contact>
+                      <email>li.zi30@zte.com.cn</email>
+                      <name>Zi Li</name>
+                    </contact>
+                    <license>
+                      <url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
+                      <name>Apache 2.0</name>
+                    </license>
+                  </info>
+                  <securityDefinitions />
+                  <swaggerDirectory>${basedir}/src/main/resources</swaggerDirectory>
+                </apiSource>
+              </apiSources>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+      <dependencies>
+        <dependency>
+          <groupId>io.swagger</groupId>
+          <artifactId>swagger-jersey2-jaxrs</artifactId>
+          <version>1.5.0</version>
+        </dependency>
+      </dependencies>
+    </profile>
+  </profiles>
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.10</version>
+      <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <artifactId>hamcrest-core</artifactId>
+          <groupId>org.hamcrest</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.powermock</groupId>
+      <artifactId>powermock-module-junit4</artifactId>
+      <version>1.4.10</version>
+      <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <artifactId>powermock-module-junit4-common</artifactId>
+          <groupId>org.powermock</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.powermock</groupId>
+      <artifactId>powermock-api-mockito</artifactId>
+      <version>1.4.10</version>
+      <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <artifactId>mockito-all</artifactId>
+          <groupId>org.mockito</groupId>
+        </exclusion>
+        <exclusion>
+          <artifactId>powermock-api-support</artifactId>
+          <groupId>org.powermock</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.ant</groupId>
+      <artifactId>ant</artifactId>
+      <version>1.8.2</version>
+      <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <artifactId>ant-launcher</artifactId>
+          <groupId>org.apache.ant</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+  </dependencies>
+</project>
+
index 6fca0e6..a4c80eb 100644 (file)
@@ -26,8 +26,8 @@ import com.eclipsesource.jaxrs.consumer.ConsumerFactory;
 
 public class ExternalSystemProxy {
 
+  public static boolean isTest = false;
   private static IExternalSystem externalSystemproxy;
-
   private static String transactionId = "9999";
   private static String fromAppId = "esr-server";
   private static String authorization = AaiCommon.getAuthenticationCredentials();
@@ -37,15 +37,20 @@ public class ExternalSystemProxy {
         config, IExternalSystem.class);
   }
 
-  public static void registerVnfm(String vnfmId, EsrVnfmDetail esrVnfmDetail) throws ExtsysException {
-    ClientConfig config = new ClientConfig(new VnfmRegisterProvider());
-    IExternalSystem registerVnfmServiceproxy = ConsumerFactory
-        .createConsumer(MsbConfig.getExternalSystemAddr(), config, IExternalSystem.class);
-    try {
-      registerVnfmServiceproxy.registerVNFM(transactionId, fromAppId, authorization, vnfmId,
-          esrVnfmDetail);
-    } catch (Exception e) {
-      throw new ExtsysException("PUT VNFM to A&AI failed.", e);
+  public static void registerVnfm(String vnfmId, EsrVnfmDetail esrVnfmDetail)
+      throws ExtsysException {
+    if (isTest) {
+
+    } else {
+      ClientConfig config = new ClientConfig(new VnfmRegisterProvider());
+      IExternalSystem registerVnfmServiceproxy = ConsumerFactory
+          .createConsumer(MsbConfig.getExternalSystemAddr(), config, IExternalSystem.class);
+      try {
+        registerVnfmServiceproxy.registerVNFM(transactionId, fromAppId, authorization, vnfmId,
+            esrVnfmDetail);
+      } catch (Exception e) {
+        throw new ExtsysException("PUT VNFM to A&AI failed.", e);
+      }
     }
   }
   
diff --git a/esr-mgr/src/test/java/org/onap/aai/esr/wrapper/VnfmManagerWrapperTest.java b/esr-mgr/src/test/java/org/onap/aai/esr/wrapper/VnfmManagerWrapperTest.java
new file mode 100644 (file)
index 0000000..5952763
--- /dev/null
@@ -0,0 +1,60 @@
+/**
+ * Copyright 2017 ZTE Corporation.
+ *
+ * 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
+ *
+ * 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.aai.esr.wrapper;
+
+import javax.ws.rs.core.Response;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.aai.esr.common.MsbConfig;
+import org.onap.aai.esr.entity.rest.VnfmRegisterInfo;
+import org.onap.aai.esr.externalservice.aai.ExternalSystemProxy;
+
+public class VnfmManagerWrapperTest {
+
+  private static VnfmManagerWrapper vnfmManagerWrapper;
+  static {
+    MsbConfig.setMsbServerAddr("http://127.0.0.1:80");
+  }
+
+  @Before
+  public void setUp() throws Exception {
+    vnfmManagerWrapper = VnfmManagerWrapper.getInstance();
+  }
+
+  @Test
+  public void test_registerVnfm() {
+    ExternalSystemProxy.isTest = true;
+    VnfmRegisterInfo vnfmRegisterInfo = new VnfmRegisterInfo();
+    vnfmRegisterInfo.setVimId("987654");
+    vnfmRegisterInfo.setVersion("v1");
+    vnfmRegisterInfo.setVendor("zte");
+    vnfmRegisterInfo.setUserName("onap");
+    vnfmRegisterInfo.setUrl("http://10.11.22.33:8000");
+    vnfmRegisterInfo.setType("vnfm");
+    vnfmRegisterInfo.setPassword("987654");
+    vnfmRegisterInfo.setName("ONAP VNFM");
+    vnfmRegisterInfo.setCertificateUrl("http://11.22.33.44:5000/v3");
+    Response response = vnfmManagerWrapper.registerVnfm(vnfmRegisterInfo);
+    if (response != null) {
+      Assert.assertTrue(response.getStatus() == 200);
+    }
+    ExternalSystemProxy.isTest = false;
+  }
+
+
+}