+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+import org.openecomp.sdc.be.datatypes.elements.GroupInstanceDataDefinition;
+import org.openecomp.sdc.be.datatypes.elements.PropertyDataDefinition;
+
+class GroupInstanceTest {
+
+ private GroupInstance createTestSubject() {
+ return new GroupInstance();
+ }
+
+ @Test
+ void testCtor() throws Exception {
+ Assertions.assertNotNull(new GroupInstance(new GroupInstanceDataDefinition()));
+ }
+
+ @Test
+ void testConvertToGroupInstancesProperties() throws Exception {
+ final GroupInstance testSubject = createTestSubject();
+ List<GroupInstanceProperty> result;
+
+ result = testSubject.convertToGroupInstancesProperties();
+ Assertions.assertNull(result);
+
+ final List<PropertyDataDefinition> properties = new LinkedList<>();
+ properties.add(new PropertyDataDefinition());
+ testSubject.setProperties(properties);
+ result = testSubject.convertToGroupInstancesProperties();
+ Assertions.assertNotNull(result);
+ Assertions.assertFalse(result.isEmpty());
+ }
+
+ @Test
+ void testConvertFromGroupInstancesProperties() throws Exception {
+ final GroupInstance testSubject = createTestSubject();
+ List<GroupInstanceProperty> groupInstancesProperties = null;
+
+ groupInstancesProperties = null;
+ testSubject.convertFromGroupInstancesProperties(groupInstancesProperties);
+ List<PropertyDataDefinition> properties = testSubject.getProperties();
+ Assertions.assertNull(properties);
+
+ groupInstancesProperties = new LinkedList<>();
+ groupInstancesProperties.add(new GroupInstanceProperty());
+ testSubject.convertFromGroupInstancesProperties(groupInstancesProperties);
+ properties = testSubject.getProperties();
+ Assertions.assertNotNull(properties);
+ Assertions.assertFalse(properties.isEmpty());
+ }
+
+ @Test
+ void testAlignArtifactsUuid() throws Exception {
+ final GroupInstance testSubject = createTestSubject();
+ Map<String, ArtifactDefinition> deploymentArtifacts = null;
+
+ testSubject.alignArtifactsUuid(deploymentArtifacts);
+ Assertions.assertNull(testSubject.getArtifacts());
+
+ deploymentArtifacts = new HashMap<>();
+
+ final List<String> artifacts = new ArrayList<>();
+ artifacts.add("mock1");
+ testSubject.setArtifacts(artifacts);
+
+ final List<String> artifactUuids = new ArrayList<>();
+ artifactUuids.add("mock1");
+ testSubject.setArtifactsUuid(artifactUuids);
+ final var artifactDefinition = new ArtifactDefinition();
+ artifactDefinition.setArtifactUUID("mock1");
+ deploymentArtifacts.put("mock1", artifactDefinition);
+ testSubject.alignArtifactsUuid(deploymentArtifacts);
+ List<String> groupInstanceArtifactsUuid = testSubject.getGroupInstanceArtifactsUuid();
+ Assertions.assertNotNull(groupInstanceArtifactsUuid);
+ Assertions.assertTrue(groupInstanceArtifactsUuid.isEmpty());
+
+ artifactDefinition.setArtifactUUID("mock2");
+ artifactDefinition.setArtifactType("HEAT_ENV");
+ deploymentArtifacts.put("mock2", artifactDefinition);
+ testSubject.alignArtifactsUuid(deploymentArtifacts);
+ groupInstanceArtifactsUuid = testSubject.getGroupInstanceArtifactsUuid();
+ Assertions.assertNotNull(groupInstanceArtifactsUuid);
+ Assertions.assertFalse(groupInstanceArtifactsUuid.isEmpty());
+ List<String> artifactsUuid = testSubject.getArtifactsUuid();
+ Assertions.assertNotNull(artifactsUuid);
+ Assertions.assertTrue(artifactsUuid.isEmpty());
+
+ testSubject.setArtifactsUuid(null);
+ testSubject.alignArtifactsUuid(deploymentArtifacts);
+ artifactsUuid = testSubject.getArtifactsUuid();
+ Assertions.assertNotNull(artifactsUuid);
+ Assertions.assertTrue(artifactsUuid.isEmpty());
+
+ List<String> groupInstanceArtifacts = new ArrayList<>();
+ groupInstanceArtifacts.add("mock1");
+ testSubject.setGroupInstanceArtifacts(groupInstanceArtifacts);
+ testSubject.setGroupInstanceArtifactsUuid(null);
+ testSubject.alignArtifactsUuid(deploymentArtifacts);
+ groupInstanceArtifactsUuid = testSubject.getGroupInstanceArtifactsUuid();
+ Assertions.assertNotNull(groupInstanceArtifactsUuid);
+ Assertions.assertFalse(groupInstanceArtifactsUuid.isEmpty());
+
+ testSubject.setGroupInstanceArtifactsUuid(groupInstanceArtifacts);
+ testSubject.alignArtifactsUuid(deploymentArtifacts);
+ groupInstanceArtifactsUuid = testSubject.getGroupInstanceArtifactsUuid();
+ Assertions.assertNotNull(groupInstanceArtifactsUuid);
+ Assertions.assertFalse(groupInstanceArtifactsUuid.isEmpty());
+ }