diff options
author | 2018-07-29 16:13:45 +0300 | |
---|---|---|
committer | 2018-07-29 16:20:34 +0300 | |
commit | 5b593496b8f1b8e8be8d7d2dbcc223332e65a49b (patch) | |
tree | 2f9dfc45191e723da69cf74be7829784e9741b94 /catalog-be/src/test/java/org/openecomp/sdc/be/components/merge/input/DeclaredInputsResolverTest.java | |
parent | 9200382f2ce7b4bb729aa287d0878004b2d2b4f9 (diff) |
re base code
Change-Id: I12a5ca14a6d8a87e9316b9ff362eb131105f98a5
Issue-ID: SDC-1566
Signed-off-by: Michael Lando <ml636r@att.com>
Diffstat (limited to 'catalog-be/src/test/java/org/openecomp/sdc/be/components/merge/input/DeclaredInputsResolverTest.java')
-rw-r--r-- | catalog-be/src/test/java/org/openecomp/sdc/be/components/merge/input/DeclaredInputsResolverTest.java | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/components/merge/input/DeclaredInputsResolverTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/components/merge/input/DeclaredInputsResolverTest.java new file mode 100644 index 0000000000..5dedbb39d6 --- /dev/null +++ b/catalog-be/src/test/java/org/openecomp/sdc/be/components/merge/input/DeclaredInputsResolverTest.java @@ -0,0 +1,101 @@ +package org.openecomp.sdc.be.components.merge.input; + +import com.google.common.collect.ImmutableMap; +import org.junit.Before; +import org.junit.Test; +import org.openecomp.sdc.be.components.utils.PropertyDataDefinitionBuilder; +import org.openecomp.sdc.be.components.utils.ResourceBuilder; +import org.openecomp.sdc.be.datatypes.elements.PropertyDataDefinition; +import org.openecomp.sdc.be.model.InputDefinition; +import org.openecomp.sdc.be.model.Resource; + +import java.util.List; +import java.util.Map; + +import static java.util.Arrays.asList; +import static java.util.Collections.emptyMap; +import static java.util.Collections.singletonList; +import static org.assertj.core.api.Assertions.assertThat; + + +public class DeclaredInputsResolverTest { + + private DeclaredInputsResolver testInstance; + private Resource prevResource, currResource; + + @Before + public void setUp() throws Exception { + testInstance = new DeclaredInputsResolver(); + prevResource = new ResourceBuilder() + .addInput("input1") + .addInput("input2") + .addInput("input3") + .addInput("input4") + .build(); + + currResource = new ResourceBuilder() + .addInput("input1") + .addInput("input3") + .build(); + } + + @Test + public void whenPropertiesMapIsEmpty_returnEmptyList() { + List<InputDefinition> previouslyDeclaredInputsToMerge = testInstance.getPreviouslyDeclaredInputsToMerge(prevResource, currResource, emptyMap()); + assertThat(previouslyDeclaredInputsToMerge).isEmpty(); + } + + @Test + public void whenPrevResourceHasNoInputs_returnEmptyList() { + List<InputDefinition> previouslyDeclaredInputsToMerge = testInstance.getPreviouslyDeclaredInputsToMerge(new Resource(), currResource, emptyMap()); + assertThat(previouslyDeclaredInputsToMerge).isEmpty(); + } + + @Test + public void whenAllPropertiesNotReferencingInput_returnEmptyList() { + PropertyDataDefinition prop1 = createProperty("prop1"); + PropertyDataDefinition prop2 = createProperty("prop2"); + Map<String, List<PropertyDataDefinition>> props = ImmutableMap.of("inst1", singletonList(prop1), "inst2", singletonList(prop2)); + List<InputDefinition> previouslyDeclaredInputsToMerge = testInstance.getPreviouslyDeclaredInputsToMerge(prevResource, currResource, props); + assertThat(previouslyDeclaredInputsToMerge).isEmpty(); + } + + @Test + public void doNotReturnReferencedInputIfAlreadyExistInNewResource() { + PropertyDataDefinition prop1 = createPropertyReferencingInput("prop1", "input1"); + PropertyDataDefinition prop2 = createPropertyReferencingInput("prop2", "input3"); + Map<String, List<PropertyDataDefinition>> props = ImmutableMap.of("inst1", singletonList(prop1), "inst2", singletonList(prop2)); + List<InputDefinition> previouslyDeclaredInputsToMerge = testInstance.getPreviouslyDeclaredInputsToMerge(prevResource, currResource, props); + assertThat(previouslyDeclaredInputsToMerge).isEmpty(); + } + + @Test + public void returnAllInputsReferencedByPropertyAndNotExistInNewResource() { + PropertyDataDefinition prop1 = createPropertyReferencingInput("prop1", "input1"); + PropertyDataDefinition prop2 = createPropertyReferencingInput("prop2", "input2"); + PropertyDataDefinition prop3 = createPropertyReferencingInput("prop3", "input3"); + PropertyDataDefinition prop4 = createPropertyReferencingInput("prop4", "input4"); + PropertyDataDefinition prop5 = createProperty("prop5"); + Map<String, List<PropertyDataDefinition>> props = ImmutableMap.of("inst1", asList(prop1, prop3), "inst2", singletonList(prop2), "group1", asList(prop4, prop5)); + List<InputDefinition> previouslyDeclaredInputsToMerge = testInstance.getPreviouslyDeclaredInputsToMerge(prevResource, currResource, props); + assertThat(previouslyDeclaredInputsToMerge) + .extracting("name") + .containsExactlyInAnyOrder("input2", "input4"); + } + + private PropertyDataDefinition createPropertyReferencingInput(String propName, String referencingInputName) { + return new PropertyDataDefinitionBuilder() + .setName(propName) + .addGetInputValue(referencingInputName) + .build(); + } + + private PropertyDataDefinition createProperty(String propName) { + return new PropertyDataDefinitionBuilder() + .setName(propName) + .build(); + } + + + +}
\ No newline at end of file |