Fixed broken mapping of ChoiceOrOther 15/27115/4
authorvempo <vitaliy.emporopulo@amdocs.com>
Thu, 28 Dec 2017 15:12:44 +0000 (17:12 +0200)
committerVitaly Emporopulo <Vitaliy.Emporopulo@amdocs.com>
Thu, 28 Dec 2017 17:10:36 +0000 (17:10 +0000)
ChoiceOrOther needs default constructor to be recreated by reflection

Change-Id: I194ced8b5e6a60f0dbe6f9b73715cd36c70f5163
Issue-ID: SDC-830
Signed-off-by: vempo <vitaliy.emporopulo@amdocs.com>
openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/pom.xml
openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/test/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/ChoiceOrOtherMappingTest.java [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-api/src/main/java/org/openecomp/sdc/vendorlicense/dao/types/ChoiceOrOther.java

index cec09f0..7934900 100644 (file)
 
     </dependencies>
 
-
        <build>
                <plugins>
                        <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-surefire-plugin</artifactId>
-                               <configuration>
-                                       <includes>
-                                               <include>test/core/unittest/offline/**</include>
-                                       </includes>
-                               </configuration>
                        </plugin>
-                       <!-- Error codes generator plugin -->
-                       <!--plugin>
-                               <groupId>org.openecomp.nfv.tools</groupId>
-                               <artifactId>error-codes-maven-plugin</artifactId>
-                       </plugin-->
                </plugins>
        </build>
 
diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/test/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/ChoiceOrOtherMappingTest.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/test/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/ChoiceOrOtherMappingTest.java
new file mode 100644 (file)
index 0000000..30a0922
--- /dev/null
@@ -0,0 +1,49 @@
+package org.openecomp.sdcrests.vendorlicense.rest.mapping;
+
+import org.openecomp.sdc.vendorlicense.dao.types.ChoiceOrOther;
+import org.openecomp.sdcrests.vendorlicense.types.ChoiceOrOtherDto;
+import org.testng.annotations.Test;
+
+import static org.testng.Assert.assertEquals;
+
+/**
+ * Any change to ChoiceOrOther easily break reconstruction of objects of this type.
+ * This test protects from such accidental changes.
+ *
+ * @author EVITALIY
+ * @since 28 Dec 17
+ */
+public class ChoiceOrOtherMappingTest {
+
+    private static final String UNKNOWN = "Unknown";
+
+    public enum TestEnum {
+        Yes
+    }
+
+    @Test
+    public void testApplyMappingFromDto() {
+
+        ChoiceOrOtherDto<TestEnum> source = new ChoiceOrOtherDto<>();
+        source.setChoice(TestEnum.Yes);
+        source.setOther(UNKNOWN);
+
+        ChoiceOrOther<TestEnum> expected = new ChoiceOrOther<>(TestEnum.Yes, UNKNOWN);
+
+        ChoiceOrOther result = new MapChoiceOrOtherDtoToChoiceOrOther().applyMapping(source, ChoiceOrOther.class);
+        assertEquals(result, expected);
+    }
+
+    @Test
+    public void testApplyMappingToDto() {
+
+        ChoiceOrOther<TestEnum> source = new ChoiceOrOther<>(TestEnum.Yes, UNKNOWN);
+
+        ChoiceOrOtherDto<TestEnum> expected = new ChoiceOrOtherDto<>();
+        expected.setChoice(TestEnum.Yes);
+        expected.setOther(UNKNOWN);
+
+        ChoiceOrOtherDto result = new MapChoiceOrOtherToChoiceOrOtherDto().applyMapping(source, ChoiceOrOtherDto.class);
+        assertEquals(result, expected);
+    }
+}
\ No newline at end of file