diff options
author | Xue Gao <xg353y@intl.att.com> | 2019-04-05 14:33:59 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2019-04-05 14:33:59 +0000 |
commit | 8ca701623868f201f4248131ff7a5b26f547385d (patch) | |
tree | 2541d58493756362783a11250e8410b1736a54e3 /src/test/java | |
parent | aa35d54be07a0fa89d967a54ade8db2c3b5b4dc7 (diff) | |
parent | 0cb57989949080d6cc3853c432a233605c321388 (diff) |
Merge "LoopLog repository"
Diffstat (limited to 'src/test/java')
4 files changed, 144 insertions, 108 deletions
diff --git a/src/test/java/org/onap/clamp/loop/LoopRepositoriesItCase.java b/src/test/java/org/onap/clamp/loop/LoopRepositoriesItCase.java index 9d07415bc..a935808ab 100644 --- a/src/test/java/org/onap/clamp/loop/LoopRepositoriesItCase.java +++ b/src/test/java/org/onap/clamp/loop/LoopRepositoriesItCase.java @@ -30,8 +30,8 @@ import com.google.gson.GsonBuilder; import com.google.gson.JsonObject; import java.time.Instant; - import java.util.HashSet; + import org.junit.Test; import org.junit.runner.RunWith; import org.onap.clamp.clds.Application; @@ -83,19 +83,16 @@ public class LoopRepositoriesItCase { return loop; } - private MicroServicePolicy getMicroServicePolicy(String name, String modelType, String jsonRepresentation, String policyTosca, - String jsonProperties, boolean shared) { + private MicroServicePolicy getMicroServicePolicy(String name, String modelType, String jsonRepresentation, + String policyTosca, String jsonProperties, boolean shared) { MicroServicePolicy µService = new MicroServicePolicy(name, modelType, policyTosca, shared, - gson.fromJson(jsonRepresentation, JsonObject.class), new HashSet<>(), ""); + gson.fromJson(jsonRepresentation, JsonObject.class), new HashSet<>()); µService.setProperties(new Gson().fromJson(jsonProperties, JsonObject.class)); return µService; } - private LoopLog getLoopLog(LogType type, String message) { - LoopLog log = new LoopLog(); - log.setLogType(type); - log.setMessage(message); - return log; + private LoopLog getLoopLog(LogType type, String message, Loop loop) { + return new LoopLog(message, type, loop); } @Test @@ -105,10 +102,11 @@ public class LoopRepositoriesItCase { "123456789", "https://dcaetest.org", "UUID-blueprint"); OperationalPolicy opPolicy = this.getOperationalPolicy("{\"type\":\"GUARD\"}", "GuardOpPolicyTest"); loopTest.addOperationalPolicy(opPolicy); - MicroServicePolicy microServicePolicy = getMicroServicePolicy("configPolicyTest", "", "{\"configtype\":\"json\"}", - "YamlContent", "{\"param1\":\"value1\"}", true); + MicroServicePolicy microServicePolicy = getMicroServicePolicy("configPolicyTest", "", + "{\"configtype\":\"json\"}", "tosca_definitions_version: tosca_simple_yaml_1_0_0", + "{\"param1\":\"value1\"}", true); loopTest.addMicroServicePolicy(microServicePolicy); - LoopLog loopLog = getLoopLog(LogType.INFO, "test message"); + LoopLog loopLog = getLoopLog(LogType.INFO, "test message", loopTest); loopTest.addLog(loopLog); // Attemp to save into the database the entire loop diff --git a/src/test/java/org/onap/clamp/loop/LoopServiceTestItCase.java b/src/test/java/org/onap/clamp/loop/LoopServiceTestItCase.java index 9a44d41bc..23723386b 100644 --- a/src/test/java/org/onap/clamp/loop/LoopServiceTestItCase.java +++ b/src/test/java/org/onap/clamp/loop/LoopServiceTestItCase.java @@ -21,14 +21,17 @@ * */ - package org.onap.clamp.loop; import static org.assertj.core.api.Assertions.assertThat; import com.google.gson.JsonObject; + import java.util.Set; import java.util.stream.Collectors; + +import javax.transaction.Transactional; + import org.assertj.core.util.Lists; import org.junit.After; import org.junit.Test; @@ -39,10 +42,9 @@ import org.onap.clamp.policy.microservice.MicroServicePolicy; import org.onap.clamp.policy.operational.OperationalPolicy; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; +import org.springframework.test.context.junit4.SpringRunner; -@RunWith(SpringJUnit4ClassRunner.class) +@RunWith(SpringRunner.class) @SpringBootTest(classes = Application.class) public class LoopServiceTestItCase { @@ -61,18 +63,19 @@ public class LoopServiceTestItCase { } @Test + @Transactional public void shouldCreateEmptyLoop() { - //given + // given String loopBlueprint = "blueprint"; String loopSvg = "representation"; Loop testLoop = createTestLoop(EXAMPLE_LOOP_NAME, loopBlueprint, loopSvg); testLoop.setGlobalPropertiesJson(JsonUtils.GSON.fromJson(EXAMPLE_JSON, JsonObject.class)); testLoop.setLastComputedState(LoopState.DESIGN); - //when + // when Loop actualLoop = loopService.saveOrUpdateLoop(testLoop); - //then + // then assertThat(actualLoop).isNotNull(); assertThat(actualLoop).isEqualTo(loopsRepository.findById(actualLoop.getName()).get()); assertThat(actualLoop.getName()).isEqualTo(EXAMPLE_LOOP_NAME); @@ -83,81 +86,77 @@ public class LoopServiceTestItCase { } @Test + @Transactional public void shouldAddOperationalPolicyToLoop() { - //given + // given saveTestLoopToDb(); - JsonObject confJson = JsonUtils.GSON.fromJson(EXAMPLE_JSON, JsonObject.class); - String policyName = "policyName"; - OperationalPolicy operationalPolicy = new OperationalPolicy(policyName, null, confJson); + OperationalPolicy operationalPolicy = new OperationalPolicy("policyName", null, + JsonUtils.GSON.fromJson(EXAMPLE_JSON, JsonObject.class)); - //when - Loop actualLoop = loopService - .updateAndSaveOperationalPolicies(EXAMPLE_LOOP_NAME, Lists.newArrayList(operationalPolicy)); + // when + Loop actualLoop = loopService.updateAndSaveOperationalPolicies(EXAMPLE_LOOP_NAME, + Lists.newArrayList(operationalPolicy)); - //then + // then assertThat(actualLoop).isNotNull(); assertThat(actualLoop.getName()).isEqualTo(EXAMPLE_LOOP_NAME); Set<OperationalPolicy> savedPolicies = actualLoop.getOperationalPolicies(); assertThat(savedPolicies).hasSize(1); - assertThat(savedPolicies) - .usingElementComparatorIgnoringFields("loop") - .contains(operationalPolicy); + assertThat(savedPolicies).usingElementComparatorIgnoringFields("loop").contains(operationalPolicy); OperationalPolicy savedPolicy = savedPolicies.iterator().next(); assertThat(savedPolicy.getLoop().getName()).isEqualTo(EXAMPLE_LOOP_NAME); } @Test + @Transactional public void shouldAddMicroservicePolicyToLoop() { - //given + // given saveTestLoopToDb(); - JsonObject confJson = JsonUtils.GSON.fromJson(EXAMPLE_JSON, JsonObject.class); - String policyName = "policyName"; - String policyTosca = "policyTosca"; - MicroServicePolicy microServicePolicy = new MicroServicePolicy(policyName, "", policyTosca, false, confJson, null, ""); + MicroServicePolicy microServicePolicy = new MicroServicePolicy("policyName", "", + "tosca_definitions_version: tosca_simple_yaml_1_0_0", false, + JsonUtils.GSON.fromJson(EXAMPLE_JSON, JsonObject.class), null); - //when - Loop actualLoop = loopService - .updateAndSaveMicroservicePolicies(EXAMPLE_LOOP_NAME, Lists.newArrayList(microServicePolicy)); + // when + Loop actualLoop = loopService.updateAndSaveMicroservicePolicies(EXAMPLE_LOOP_NAME, + Lists.newArrayList(microServicePolicy)); - //then + // then assertThat(actualLoop).isNotNull(); assertThat(actualLoop.getName()).isEqualTo(EXAMPLE_LOOP_NAME); Set<MicroServicePolicy> savedPolicies = actualLoop.getMicroServicePolicies(); assertThat(savedPolicies).hasSize(1); assertThat(savedPolicies).usingElementComparatorIgnoringFields("usedByLoops") .containsExactly(microServicePolicy); - assertThat(savedPolicies).extracting("usedByLoops") - .hasSize(1); + assertThat(savedPolicies).extracting("usedByLoops").hasSize(1); } @Test @Transactional public void shouldCreateNewMicroservicePolicyAndUpdateJsonRepresentationOfOldOne() { - //given + // given saveTestLoopToDb(); - String firstPolicyName = "firstPolicyName"; - JsonObject newJsonRepresentation = JsonUtils.GSON.fromJson("{}", JsonObject.class); - String secondPolicyName = "secondPolicyName"; - String secondPolicyTosca = "secondPolicyTosca"; - MicroServicePolicy firstMicroServicePolicy = new MicroServicePolicy(firstPolicyName, "", "policyTosca", - false, JsonUtils.GSON.fromJson(EXAMPLE_JSON, JsonObject.class), null, ""); - loopService.updateAndSaveMicroservicePolicies(EXAMPLE_LOOP_NAME, Lists.newArrayList(firstMicroServicePolicy)); - MicroServicePolicy secondMicroServicePolicy = new MicroServicePolicy(secondPolicyName, "", secondPolicyTosca, true, - newJsonRepresentation, null, ""); + MicroServicePolicy firstMicroServicePolicy = new MicroServicePolicy("firstPolicyName", "", "", false, + JsonUtils.GSON.fromJson(EXAMPLE_JSON, JsonObject.class), null); + loopService.updateAndSaveMicroservicePolicies(EXAMPLE_LOOP_NAME, Lists.newArrayList(firstMicroServicePolicy)); + MicroServicePolicy secondMicroServicePolicy = new MicroServicePolicy("secondPolicyName", "", + "tosca_definitions_version: tosca_simple_yaml_1_0_0", true, JsonUtils.GSON.fromJson("{}", JsonObject.class), + null); - //when + // when firstMicroServicePolicy.setProperties(JsonUtils.GSON.fromJson("{\"name1\":\"value1\"}", JsonObject.class)); Loop actualLoop = loopService.updateAndSaveMicroservicePolicies(EXAMPLE_LOOP_NAME, Lists.newArrayList(firstMicroServicePolicy, secondMicroServicePolicy)); - //then + // then assertThat(actualLoop).isNotNull(); assertThat(actualLoop.getName()).isEqualTo(EXAMPLE_LOOP_NAME); Set<MicroServicePolicy> savedPolicies = actualLoop.getMicroServicePolicies(); assertThat(savedPolicies).hasSize(2); + assertThat(savedPolicies).contains(firstMicroServicePolicy); + assertThat(savedPolicies).contains(secondMicroServicePolicy); assertThat(savedPolicies).usingElementComparatorIgnoringFields("usedByLoops") .containsExactlyInAnyOrder(firstMicroServicePolicy, secondMicroServicePolicy); @@ -170,26 +169,24 @@ public class LoopServiceTestItCase { } @Test + @Transactional public void shouldRemoveOldMicroservicePolicyIfNotInUpdatedList() { - //given + // given saveTestLoopToDb(); - JsonObject jsonRepresentation = JsonUtils.GSON.fromJson("{}", JsonObject.class); - String firstPolicyName = "firstPolicyName"; - String secondPolicyName = "policyName"; - String secondPolicyTosca = "secondPolicyTosca"; - MicroServicePolicy firstMicroServicePolicy = new MicroServicePolicy(firstPolicyName, "", "policyTosca", - false, JsonUtils.GSON.fromJson(EXAMPLE_JSON, JsonObject.class), null, ""); + MicroServicePolicy firstMicroServicePolicy = new MicroServicePolicy("firstPolicyName", "", + "\"tosca_definitions_version: tosca_simple_yaml_1_0_0\"", false, + JsonUtils.GSON.fromJson(EXAMPLE_JSON, JsonObject.class), null); loopService.updateAndSaveMicroservicePolicies(EXAMPLE_LOOP_NAME, Lists.newArrayList(firstMicroServicePolicy)); - MicroServicePolicy secondMicroServicePolicy = new MicroServicePolicy(secondPolicyName, "", secondPolicyTosca, true, - jsonRepresentation, null, ""); + MicroServicePolicy secondMicroServicePolicy = new MicroServicePolicy("policyName", "", "secondPolicyTosca", + true, JsonUtils.GSON.fromJson("{}", JsonObject.class), null); - //when - Loop actualLoop = loopService - .updateAndSaveMicroservicePolicies(EXAMPLE_LOOP_NAME, Lists.newArrayList(secondMicroServicePolicy)); + // when + Loop actualLoop = loopService.updateAndSaveMicroservicePolicies(EXAMPLE_LOOP_NAME, + Lists.newArrayList(secondMicroServicePolicy)); - //then + // then assertThat(actualLoop).isNotNull(); assertThat(actualLoop.getName()).isEqualTo(EXAMPLE_LOOP_NAME); Set<MicroServicePolicy> savedPolicies = actualLoop.getMicroServicePolicies(); @@ -202,82 +199,77 @@ public class LoopServiceTestItCase { @Test @Transactional public void shouldCreateNewOperationalPolicyAndUpdateJsonRepresentationOfOldOne() { - //given + // given saveTestLoopToDb(); - String firstPolicyName = "firstPolicyName"; JsonObject newJsonConfiguration = JsonUtils.GSON.fromJson("{}", JsonObject.class); - String secondPolicyName = "secondPolicyName"; - OperationalPolicy firstOperationalPolicy = new OperationalPolicy(firstPolicyName, null, + + OperationalPolicy firstOperationalPolicy = new OperationalPolicy("firstPolicyName", null, JsonUtils.GSON.fromJson(EXAMPLE_JSON, JsonObject.class)); loopService.updateAndSaveOperationalPolicies(EXAMPLE_LOOP_NAME, Lists.newArrayList(firstOperationalPolicy)); - OperationalPolicy secondOperationalPolicy = new OperationalPolicy(secondPolicyName, null, newJsonConfiguration); + OperationalPolicy secondOperationalPolicy = new OperationalPolicy("secondPolicyName", null, + newJsonConfiguration); - //when + // when firstOperationalPolicy.setConfigurationsJson(newJsonConfiguration); Loop actualLoop = loopService.updateAndSaveOperationalPolicies(EXAMPLE_LOOP_NAME, Lists.newArrayList(firstOperationalPolicy, secondOperationalPolicy)); - //then + // then assertThat(actualLoop).isNotNull(); assertThat(actualLoop.getName()).isEqualTo(EXAMPLE_LOOP_NAME); Set<OperationalPolicy> savedPolicies = actualLoop.getOperationalPolicies(); assertThat(savedPolicies).hasSize(2); assertThat(savedPolicies).usingElementComparatorIgnoringFields("loop") .containsExactlyInAnyOrder(firstOperationalPolicy, secondOperationalPolicy); - Set<String> policiesLoops = Lists.newArrayList(savedPolicies).stream() - .map(OperationalPolicy::getLoop) - .map(Loop::getName) - .collect(Collectors.toSet()); - assertThat(policiesLoops) - .containsExactly(EXAMPLE_LOOP_NAME); + Set<String> policiesLoops = Lists.newArrayList(savedPolicies).stream().map(OperationalPolicy::getLoop) + .map(Loop::getName).collect(Collectors.toSet()); + assertThat(policiesLoops).containsExactly(EXAMPLE_LOOP_NAME); } @Test + @Transactional public void shouldRemoveOldOperationalPolicyIfNotInUpdatedList() { - //given + // given saveTestLoopToDb(); - JsonObject jsonRepresentation = JsonUtils.GSON.fromJson("{}", JsonObject.class); - String firstPolicyName = "firstPolicyName"; - String secondPolicyName = "policyName"; - OperationalPolicy firstOperationalPolicy = new OperationalPolicy(firstPolicyName, null, + OperationalPolicy firstOperationalPolicy = new OperationalPolicy("firstPolicyName", null, JsonUtils.GSON.fromJson(EXAMPLE_JSON, JsonObject.class)); loopService.updateAndSaveOperationalPolicies(EXAMPLE_LOOP_NAME, Lists.newArrayList(firstOperationalPolicy)); - OperationalPolicy secondOperationalPolicy = new OperationalPolicy(secondPolicyName, null, jsonRepresentation); + OperationalPolicy secondOperationalPolicy = new OperationalPolicy("policyName", null, + JsonUtils.GSON.fromJson("{}", JsonObject.class)); - //when - Loop actualLoop = loopService - .updateAndSaveOperationalPolicies(EXAMPLE_LOOP_NAME, Lists.newArrayList(secondOperationalPolicy)); + // when + Loop actualLoop = loopService.updateAndSaveOperationalPolicies(EXAMPLE_LOOP_NAME, + Lists.newArrayList(secondOperationalPolicy)); - //then + // then assertThat(actualLoop).isNotNull(); assertThat(actualLoop.getName()).isEqualTo(EXAMPLE_LOOP_NAME); Set<OperationalPolicy> savedPolicies = actualLoop.getOperationalPolicies(); assertThat(savedPolicies).hasSize(1); - assertThat(savedPolicies).usingElementComparatorIgnoringFields("loop") - .containsExactly(secondOperationalPolicy); + assertThat(savedPolicies).usingElementComparatorIgnoringFields("loop").containsExactly(secondOperationalPolicy); OperationalPolicy savedPolicy = savedPolicies.iterator().next(); assertThat(savedPolicy.getLoop().getName()).isEqualTo(EXAMPLE_LOOP_NAME); } @Test + @Transactional public void shouldCreateModelPropertiesAndUpdateJsonRepresentationOfOldOne() { - //given + // given saveTestLoopToDb(); String expectedJson = "{\"test\":\"test\"}"; JsonObject baseGlobalProperites = JsonUtils.GSON.fromJson("{}", JsonObject.class); JsonObject updatedGlobalProperites = JsonUtils.GSON.fromJson(expectedJson, JsonObject.class); loopService.updateAndSaveGlobalPropertiesJson(EXAMPLE_LOOP_NAME, baseGlobalProperites); - //when - Loop actualLoop = loopService - .updateAndSaveGlobalPropertiesJson(EXAMPLE_LOOP_NAME, updatedGlobalProperites); + // when + Loop actualLoop = loopService.updateAndSaveGlobalPropertiesJson(EXAMPLE_LOOP_NAME, updatedGlobalProperites); - //then + // then assertThat(actualLoop).isNotNull(); assertThat(actualLoop.getName()).isEqualTo(EXAMPLE_LOOP_NAME); JsonObject returnedGlobalProperties = actualLoop.getGlobalPropertiesJson(); diff --git a/src/test/java/org/onap/clamp/loop/LoopToJsonTest.java b/src/test/java/org/onap/clamp/loop/LoopToJsonTest.java index 1c218977d..0e03e1b06 100644 --- a/src/test/java/org/onap/clamp/loop/LoopToJsonTest.java +++ b/src/test/java/org/onap/clamp/loop/LoopToJsonTest.java @@ -33,11 +33,11 @@ import java.util.HashSet; import java.util.Random; import org.junit.Test; +import org.onap.clamp.clds.util.JsonUtils; import org.onap.clamp.loop.log.LogType; import org.onap.clamp.loop.log.LoopLog; import org.onap.clamp.policy.microservice.MicroServicePolicy; import org.onap.clamp.policy.operational.OperationalPolicy; -import org.onap.clamp.clds.util.JsonUtils; public class LoopToJsonTest { @@ -58,19 +58,17 @@ public class LoopToJsonTest { return loop; } - private MicroServicePolicy getMicroServicePolicy(String name, String modelType, String jsonRepresentation, String policyTosca, - String jsonProperties, boolean shared) { + private MicroServicePolicy getMicroServicePolicy(String name, String modelType, String jsonRepresentation, + String policyTosca, String jsonProperties, boolean shared) { MicroServicePolicy µService = new MicroServicePolicy(name, modelType, policyTosca, shared, - gson.fromJson(jsonRepresentation, JsonObject.class), new HashSet<>(), ""); + gson.fromJson(jsonRepresentation, JsonObject.class), new HashSet<>()); µService.setProperties(new Gson().fromJson(jsonProperties, JsonObject.class)); return µService; } - private LoopLog getLoopLog(LogType type, String message) { - LoopLog log = new LoopLog(); - log.setLogType(type); - log.setMessage(message); + private LoopLog getLoopLog(LogType type, String message, Loop loop) { + LoopLog log = new LoopLog(message, type, loop); log.setId(Long.valueOf(new Random().nextInt())); return log; } @@ -81,10 +79,11 @@ public class LoopToJsonTest { "123456789", "https://dcaetest.org", "UUID-blueprint"); OperationalPolicy opPolicy = this.getOperationalPolicy("{\"type\":\"GUARD\"}", "GuardOpPolicyTest"); loopTest.addOperationalPolicy(opPolicy); - MicroServicePolicy microServicePolicy = getMicroServicePolicy("configPolicyTest", "", "{\"configtype\":\"json\"}", - "YamlContent", "{\"param1\":\"value1\"}", true); + MicroServicePolicy microServicePolicy = getMicroServicePolicy("configPolicyTest", "", + "{\"configtype\":\"json\"}", "tosca_definitions_version: tosca_simple_yaml_1_0_0", + "{\"param1\":\"value1\"}", true); loopTest.addMicroServicePolicy(microServicePolicy); - LoopLog loopLog = getLoopLog(LogType.INFO, "test message"); + LoopLog loopLog = getLoopLog(LogType.INFO, "test message", loopTest); loopTest.addLog(loopLog); String jsonSerialized = JsonUtils.GSON_JPA_MODEL.toJson(loopTest); @@ -94,7 +93,7 @@ public class LoopToJsonTest { assertNotNull(loopTestDeserialized); assertThat(loopTestDeserialized).isEqualToIgnoringGivenFields(loopTest, "svgRepresentation", "blueprint"); - //svg and blueprint not exposed so wont be deserialized + // svg and blueprint not exposed so wont be deserialized assertThat(loopTestDeserialized.getBlueprint()).isEqualTo(null); assertThat(loopTestDeserialized.getSvgRepresentation()).isEqualTo(null); diff --git a/src/test/java/org/onap/clamp/policy/microservice/MicroServicePayloadTest.java b/src/test/java/org/onap/clamp/policy/microservice/MicroServicePayloadTest.java new file mode 100644 index 000000000..c511f3415 --- /dev/null +++ b/src/test/java/org/onap/clamp/policy/microservice/MicroServicePayloadTest.java @@ -0,0 +1,47 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP CLAMP + * ================================================================================ + * Copyright (C) 2019 AT&T Intellectual Property. All rights + * reserved. + * ================================================================================ + * 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. + * ============LICENSE_END============================================ + * =================================================================== + * + */ + +package org.onap.clamp.policy.microservice; + +import com.google.gson.JsonObject; + +import java.io.IOException; +import java.util.HashSet; + +import org.junit.Test; +import org.onap.clamp.clds.util.JsonUtils; +import org.onap.clamp.clds.util.ResourceFileUtil; +import org.skyscreamer.jsonassert.JSONAssert; + +public class MicroServicePayloadTest { + + @Test + public void testPayloadConstruction() throws IOException { + MicroServicePolicy policy = new MicroServicePolicy("testPolicy", "onap.policy.monitoring.cdap.tca.hi.lo.app", + ResourceFileUtil.getResourceAsString("tosca/tosca_example.yaml"), false, new HashSet<>()); + policy.setProperties(JsonUtils.GSON.fromJson( + ResourceFileUtil.getResourceAsString("tosca/micro-service-policy-properties.json"), JsonObject.class)); + JSONAssert.assertEquals(ResourceFileUtil.getResourceAsString("tosca/micro-service-policy-payload.json"), + policy.createPolicyPayload(), false); + } +} |