diff options
Diffstat (limited to 'models/src/test')
7 files changed, 134 insertions, 42 deletions
diff --git a/models/src/test/java/org/onap/policy/clamp/models/acm/messages/dmaap/participant/AutomationCompositionAckTest.java b/models/src/test/java/org/onap/policy/clamp/models/acm/messages/dmaap/participant/AutomationCompositionDeployAckTest.java index 8c5528cc6..038c140ed 100644 --- a/models/src/test/java/org/onap/policy/clamp/models/acm/messages/dmaap/participant/AutomationCompositionAckTest.java +++ b/models/src/test/java/org/onap/policy/clamp/models/acm/messages/dmaap/participant/AutomationCompositionDeployAckTest.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2021-2023 Nordix Foundation. + * Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -28,39 +28,39 @@ import static org.onap.policy.clamp.models.acm.messages.dmaap.participant.Partic import java.util.Map; import java.util.UUID; import org.junit.jupiter.api.Test; -import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionElementAck; +import org.onap.policy.clamp.models.acm.concepts.AcElementDeployAck; import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionState; import org.onap.policy.clamp.models.acm.utils.CommonTestData; import org.onap.policy.common.utils.coder.CoderException; -class AutomationCompositionAckTest { +class AutomationCompositionDeployAckTest { @Test void testCopyConstructor() throws CoderException { - assertThatThrownBy(() -> new AutomationCompositionAck((AutomationCompositionAck) null)) + assertThatThrownBy(() -> new AutomationCompositionDeployAck((AutomationCompositionDeployAck) null)) .isInstanceOf(NullPointerException.class); - final var orig = new AutomationCompositionAck(ParticipantMessageType.AUTOMATION_COMPOSITION_UPDATE); + final var orig = new AutomationCompositionDeployAck(ParticipantMessageType.AUTOMATION_COMPOSITION_DEPLOY); // verify with null values assertEquals(removeVariableFields(orig.toString()), - removeVariableFields(new AutomationCompositionAck(orig).toString())); + removeVariableFields(new AutomationCompositionDeployAck(orig).toString())); // verify with all values orig.setAutomationCompositionId(UUID.randomUUID()); orig.setParticipantId(CommonTestData.getParticipantId()); - var acElementResult = new AutomationCompositionElementAck(AutomationCompositionState.UNINITIALISED, + var acElementResult = new AcElementDeployAck(AutomationCompositionState.UNINITIALISED, null, true, "AutomationCompositionElement result"); final var automationCompositionResultMap = Map.of(UUID.randomUUID(), acElementResult); orig.setAutomationCompositionResultMap(automationCompositionResultMap); orig.setResponseTo(UUID.randomUUID()); orig.setResult(true); - orig.setMessage("Successfully processed AutomationCompositionUpdate message"); + orig.setMessage("Successfully processed AutomationCompositionDeploy message"); assertEquals(removeVariableFields(orig.toString()), - removeVariableFields(new AutomationCompositionAck(orig).toString())); + removeVariableFields(new AutomationCompositionDeployAck(orig).toString())); - assertSerializable(orig, AutomationCompositionAck.class); + assertSerializable(orig, AutomationCompositionDeployAck.class); } } diff --git a/models/src/test/java/org/onap/policy/clamp/models/acm/messages/dmaap/participant/AutomationCompositionUpdateTest.java b/models/src/test/java/org/onap/policy/clamp/models/acm/messages/dmaap/participant/AutomationCompositionDeployTest.java index c1be28958..2912dee9b 100644 --- a/models/src/test/java/org/onap/policy/clamp/models/acm/messages/dmaap/participant/AutomationCompositionUpdateTest.java +++ b/models/src/test/java/org/onap/policy/clamp/models/acm/messages/dmaap/participant/AutomationCompositionDeployTest.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2021-2023 Nordix Foundation. + * Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -33,7 +33,7 @@ import org.junit.jupiter.api.Test; import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionElement; import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionOrderedState; import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionState; -import org.onap.policy.clamp.models.acm.concepts.ParticipantUpdates; +import org.onap.policy.clamp.models.acm.concepts.ParticipantDeploy; import org.onap.policy.clamp.models.acm.utils.CommonTestData; import org.onap.policy.common.utils.coder.CoderException; import org.onap.policy.common.utils.coder.StandardCoder; @@ -43,12 +43,12 @@ import org.onap.policy.models.tosca.authorative.concepts.ToscaProperty; /** * Test the copy constructor. */ -class AutomationCompositionUpdateTest { +class AutomationCompositionDeployTest { @Test void testCopyConstructor() throws CoderException { - assertThatThrownBy(() -> new AutomationCompositionUpdate(null)).isInstanceOf(NullPointerException.class); + assertThatThrownBy(() -> new AutomationCompositionDeploy(null)).isInstanceOf(NullPointerException.class); - var orig = new AutomationCompositionUpdate(); + var orig = new AutomationCompositionDeploy(); // verify with all values orig.setAutomationCompositionId(UUID.randomUUID()); orig.setParticipantId(null); @@ -74,14 +74,14 @@ class AutomationCompositionUpdateTest { var propertiesMap = Map.of("Prop1", (Object) json); acElement.setProperties(propertiesMap); - var participantUpdates = new ParticipantUpdates(); - participantUpdates.setParticipantId(participantId); - participantUpdates.setAutomationCompositionElementList(List.of(acElement)); - orig.setParticipantUpdatesList(List.of(participantUpdates)); + var participantDeploy = new ParticipantDeploy(); + participantDeploy.setParticipantId(participantId); + participantDeploy.setAutomationCompositionElementList(List.of(acElement)); + orig.setParticipantUpdatesList(List.of(participantDeploy)); - var other = new AutomationCompositionUpdate(orig); + var other = new AutomationCompositionDeploy(orig); assertEquals(removeVariableFields(orig.toString()), removeVariableFields(other.toString())); - assertSerializable(orig, AutomationCompositionUpdate.class); + assertSerializable(orig, AutomationCompositionDeploy.class); } } diff --git a/models/src/test/java/org/onap/policy/clamp/models/acm/messages/dmaap/participant/ParticipantPojosTest.java b/models/src/test/java/org/onap/policy/clamp/models/acm/messages/dmaap/participant/ParticipantPojosTest.java index ce23a821f..4a1a2d9de 100644 --- a/models/src/test/java/org/onap/policy/clamp/models/acm/messages/dmaap/participant/ParticipantPojosTest.java +++ b/models/src/test/java/org/onap/policy/clamp/models/acm/messages/dmaap/participant/ParticipantPojosTest.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2021 Nordix Foundation. + * Copyright (C) 2021-2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,15 +20,12 @@ package org.onap.policy.clamp.models.acm.messages.dmaap.participant; -import com.openpojo.reflection.PojoClass; import com.openpojo.reflection.impl.PojoClassFactory; -import com.openpojo.validation.Validator; import com.openpojo.validation.ValidatorBuilder; import com.openpojo.validation.rule.impl.GetterMustExistRule; import com.openpojo.validation.rule.impl.SetterMustExistRule; import com.openpojo.validation.test.impl.GetterTester; import com.openpojo.validation.test.impl.SetterTester; -import java.util.List; import org.junit.jupiter.api.Test; import org.onap.policy.common.utils.test.ToStringTester; @@ -39,18 +36,18 @@ class ParticipantPojosTest { @Test void testPojos() { - List<PojoClass> pojoClasses = + var pojoClasses = PojoClassFactory.getPojoClasses(ParticipantPojosTest.class.getPackageName()); pojoClasses.remove(PojoClassFactory.getPojoClass(ParticipantMessage.class)); pojoClasses.remove(PojoClassFactory.getPojoClass(ParticipantMessageTest.class)); pojoClasses.remove(PojoClassFactory.getPojoClass(ParticipantAckMessage.class)); pojoClasses.remove(PojoClassFactory.getPojoClass(ParticipantAckMessageTest.class)); - pojoClasses.remove(PojoClassFactory.getPojoClass(AutomationCompositionAck.class)); - pojoClasses.remove(PojoClassFactory.getPojoClass(AutomationCompositionAckTest.class)); + pojoClasses.remove(PojoClassFactory.getPojoClass(AutomationCompositionDeployAck.class)); + pojoClasses.remove(PojoClassFactory.getPojoClass(AutomationCompositionDeployAckTest.class)); // @formatter:off - final Validator validator = ValidatorBuilder + final var validator = ValidatorBuilder .create() .with(new ToStringTester()) .with(new SetterMustExistRule()) diff --git a/models/src/test/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaAutomationCompositionElementTest.java b/models/src/test/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaAutomationCompositionElementTest.java index 83e13c74a..3274833ca 100644 --- a/models/src/test/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaAutomationCompositionElementTest.java +++ b/models/src/test/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaAutomationCompositionElementTest.java @@ -35,6 +35,8 @@ import org.junit.jupiter.api.Test; import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionElement; import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionOrderedState; import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionState; +import org.onap.policy.clamp.models.acm.concepts.DeployState; +import org.onap.policy.clamp.models.acm.concepts.LockState; import org.onap.policy.clamp.models.acm.concepts.Participant; import org.onap.policy.clamp.models.acm.utils.CommonTestData; import org.onap.policy.common.utils.coder.CoderException; @@ -56,6 +58,10 @@ class JpaAutomationCompositionElementTest { @Test void testJpaAutomationCompositionElementConstructor() { assertThatThrownBy(() -> { + new JpaAutomationCompositionElement((AutomationCompositionElement) null); + }).hasMessageMatching("authorativeConcept is marked .*ull but is null"); + + assertThatThrownBy(() -> { new JpaAutomationCompositionElement((JpaAutomationCompositionElement) null); }).hasMessageMatching("copyConcept is marked .*ull but is null"); @@ -72,21 +78,38 @@ class JpaAutomationCompositionElementTest { }).hasMessageMatching(NULL_ELEMENT_ID_ERROR); assertThatThrownBy(() -> { - new JpaAutomationCompositionElement(null, null, null, null); + new JpaAutomationCompositionElement(null, null, null, null, null, null); }).hasMessageMatching(NULL_ELEMENT_ID_ERROR); assertThatThrownBy(() -> { - new JpaAutomationCompositionElement("key", null, null, AutomationCompositionState.UNINITIALISED); + new JpaAutomationCompositionElement("key", null, null, + AutomationCompositionState.UNINITIALISED, DeployState.UNDEPLOYED, LockState.LOCKED); }).hasMessageMatching(NULL_INSTANCE_ID_ERROR); assertThatThrownBy(() -> { - new JpaAutomationCompositionElement("key", "key", new PfConceptKey(), null); + new JpaAutomationCompositionElement("key", "key", null, + AutomationCompositionState.UNINITIALISED, DeployState.UNDEPLOYED, LockState.LOCKED); + }).hasMessageMatching("definition" + NULL_ERROR); + + assertThatThrownBy(() -> { + new JpaAutomationCompositionElement("key", "key", new PfConceptKey(), null, + DeployState.UNDEPLOYED, LockState.LOCKED); }).hasMessageMatching("state" + NULL_ERROR); + assertThatThrownBy(() -> { + new JpaAutomationCompositionElement("key", "key", new PfConceptKey(), + AutomationCompositionState.UNINITIALISED, null, LockState.LOCKED); + }).hasMessageMatching("deployState" + NULL_ERROR); + + assertThatThrownBy(() -> { + new JpaAutomationCompositionElement("key", "key", new PfConceptKey(), + AutomationCompositionState.UNINITIALISED, DeployState.UNDEPLOYED, null); + }).hasMessageMatching("lockState" + NULL_ERROR); + assertNotNull(new JpaAutomationCompositionElement()); assertNotNull(new JpaAutomationCompositionElement("key", "key")); assertNotNull(new JpaAutomationCompositionElement("key", "key", - new PfConceptKey(), AutomationCompositionState.UNINITIALISED)); + new PfConceptKey(), AutomationCompositionState.UNINITIALISED, DeployState.UNDEPLOYED, LockState.LOCKED)); } @Test @@ -189,6 +212,16 @@ class JpaAutomationCompositionElementTest { testJpaAutomationCompositionElement.setState(AutomationCompositionState.UNINITIALISED); assertEquals(0, testJpaAutomationCompositionElement.compareTo(otherJpaAutomationCompositionElement)); + testJpaAutomationCompositionElement.setDeployState(DeployState.DEPLOYED); + assertNotEquals(0, testJpaAutomationCompositionElement.compareTo(otherJpaAutomationCompositionElement)); + testJpaAutomationCompositionElement.setDeployState(DeployState.UNDEPLOYED); + assertEquals(0, testJpaAutomationCompositionElement.compareTo(otherJpaAutomationCompositionElement)); + + testJpaAutomationCompositionElement.setLockState(LockState.UNLOCKED); + assertNotEquals(0, testJpaAutomationCompositionElement.compareTo(otherJpaAutomationCompositionElement)); + testJpaAutomationCompositionElement.setLockState(LockState.LOCKED); + assertEquals(0, testJpaAutomationCompositionElement.compareTo(otherJpaAutomationCompositionElement)); + assertEquals(0, testJpaAutomationCompositionElement.compareTo(otherJpaAutomationCompositionElement)); testJpaAutomationCompositionElement.setParticipantId(UUID.randomUUID().toString()); assertNotEquals(0, testJpaAutomationCompositionElement.compareTo(otherJpaAutomationCompositionElement)); diff --git a/models/src/test/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaAutomationCompositionTest.java b/models/src/test/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaAutomationCompositionTest.java index 2164f5782..30e225995 100644 --- a/models/src/test/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaAutomationCompositionTest.java +++ b/models/src/test/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaAutomationCompositionTest.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2021-2022 Nordix Foundation. + * Copyright (C) 2021-2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -37,6 +37,8 @@ import org.onap.policy.clamp.models.acm.concepts.AutomationComposition; import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionOrderedState; import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionState; import org.onap.policy.clamp.models.acm.concepts.AutomationCompositions; +import org.onap.policy.clamp.models.acm.concepts.DeployState; +import org.onap.policy.clamp.models.acm.concepts.LockState; import org.onap.policy.common.utils.coder.CoderException; import org.onap.policy.common.utils.coder.StandardCoder; import org.onap.policy.models.base.PfConceptKey; @@ -58,30 +60,43 @@ class JpaAutomationCompositionTest { }).hasMessageMatching("copyConcept is marked .*ull but is null"); assertThatThrownBy(() -> { - new JpaAutomationComposition(null, null, null, null, null); + new JpaAutomationComposition(null, null, null, null, null, null, null); }).hasMessageMatching(NULL_INSTANCE_ID_ERROR); assertThatThrownBy(() -> { - new JpaAutomationComposition(INSTANCE_ID, null, null, null, new ArrayList<>()); + new JpaAutomationComposition(INSTANCE_ID, null, null, null, new ArrayList<>(), + DeployState.UNDEPLOYED, LockState.LOCKED); }).hasMessageMatching("key" + NULL_TEXT_ERROR); assertThatThrownBy(() -> { new JpaAutomationComposition(INSTANCE_ID, new PfConceptKey(), null, - AutomationCompositionState.UNINITIALISED, null); + AutomationCompositionState.UNINITIALISED, new ArrayList<>(), + DeployState.UNDEPLOYED, LockState.LOCKED); }).hasMessageMatching("compositionId" + NULL_TEXT_ERROR); assertThatThrownBy(() -> { - new JpaAutomationComposition(INSTANCE_ID, new PfConceptKey(), COMPOSITION_ID.toString(), null, null); + new JpaAutomationComposition(INSTANCE_ID, new PfConceptKey(), COMPOSITION_ID.toString(), null, + new ArrayList<>(), DeployState.UNDEPLOYED, LockState.LOCKED); }).hasMessageMatching("state" + NULL_TEXT_ERROR); assertThatThrownBy(() -> { new JpaAutomationComposition(INSTANCE_ID, new PfConceptKey(), COMPOSITION_ID.toString(), - AutomationCompositionState.UNINITIALISED, null); + AutomationCompositionState.UNINITIALISED, null, DeployState.UNDEPLOYED, LockState.LOCKED); }).hasMessageMatching("elements" + NULL_TEXT_ERROR); + assertThatThrownBy(() -> { + new JpaAutomationComposition(INSTANCE_ID, new PfConceptKey(), COMPOSITION_ID.toString(), + AutomationCompositionState.UNINITIALISED, new ArrayList<>(), null, LockState.LOCKED); + }).hasMessageMatching("deployState" + NULL_TEXT_ERROR); + + assertThatThrownBy(() -> { + new JpaAutomationComposition(INSTANCE_ID, new PfConceptKey(), COMPOSITION_ID.toString(), + AutomationCompositionState.UNINITIALISED, new ArrayList<>(), DeployState.UNDEPLOYED, null); + }).hasMessageMatching("lockState" + NULL_TEXT_ERROR); + assertNotNull(new JpaAutomationComposition()); assertNotNull(new JpaAutomationComposition(INSTANCE_ID, new PfConceptKey(), COMPOSITION_ID.toString(), - AutomationCompositionState.UNINITIALISED, new ArrayList<>())); + AutomationCompositionState.UNINITIALISED, new ArrayList<>(), DeployState.UNDEPLOYED, LockState.LOCKED)); } @Test diff --git a/models/src/test/java/org/onap/policy/clamp/models/acm/persistence/provider/AcDefinitionProviderTest.java b/models/src/test/java/org/onap/policy/clamp/models/acm/persistence/provider/AcDefinitionProviderTest.java index 784f1cfde..b479f022f 100644 --- a/models/src/test/java/org/onap/policy/clamp/models/acm/persistence/provider/AcDefinitionProviderTest.java +++ b/models/src/test/java/org/onap/policy/clamp/models/acm/persistence/provider/AcDefinitionProviderTest.java @@ -27,6 +27,7 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Optional; @@ -89,6 +90,24 @@ class AcDefinitionProviderTest { var result = acDefinitionProvider.createAutomationCompositionDefinition(inputServiceTemplate); assertThat(result.getServiceTemplate()).isEqualTo(docServiceTemplate.toAuthorative()); + assertThat(result.getServiceTemplate().getMetadata() != null); + } + + @Test + void testCreateServiceTemplateWithMetadata() { + var docServiceTemplate = new DocToscaServiceTemplate(inputServiceTemplate); + var acmDefinition = getAcDefinition(docServiceTemplate); + + var acmDefinitionRepository = mock(AutomationCompositionDefinitionRepository.class); + when(acmDefinitionRepository.save(any(JpaAutomationCompositionDefinition.class))) + .thenReturn(new JpaAutomationCompositionDefinition(acmDefinition)); + + var acDefinitionProvider = new AcDefinitionProvider(acmDefinitionRepository); + inputServiceTemplate.setMetadata(new HashMap<>()); + var result = acDefinitionProvider.createAutomationCompositionDefinition(inputServiceTemplate); + + assertThat(result.getServiceTemplate()).isEqualTo(docServiceTemplate.toAuthorative()); + assertThat(result.getServiceTemplate().getMetadata() != null); } @Test @@ -191,6 +210,34 @@ class AcDefinitionProviderTest { assertThat(result.get(0)).isEqualTo(acmDefinition.getServiceTemplate()); } + @Test + void testGetServiceTemplateNulls() { + var docServiceTemplate = new DocToscaServiceTemplate(inputServiceTemplate); + var acmDefinition = getAcDefinition(docServiceTemplate); + var acmDefinitionRepository = mock(AutomationCompositionDefinitionRepository.class); + when(acmDefinitionRepository.findAll(Mockito.<Example<JpaAutomationCompositionDefinition>>any())) + .thenReturn(List.of(new JpaAutomationCompositionDefinition(acmDefinition))); + + var acDefinitionProvider = new AcDefinitionProvider(acmDefinitionRepository); + var result = acDefinitionProvider.getServiceTemplateList(null, + inputServiceTemplate.getVersion()); + + assertThat(result).hasSize(1); + assertThat(result.get(0)).isEqualTo(acmDefinition.getServiceTemplate()); + + result = acDefinitionProvider.getServiceTemplateList(inputServiceTemplate.getName(), + null); + + assertThat(result).hasSize(1); + assertThat(result.get(0)).isEqualTo(acmDefinition.getServiceTemplate()); + + result = acDefinitionProvider.getServiceTemplateList(null, + null); + + assertThat(result).hasSize(0); + assertThat(result.isEmpty()); + } + private AutomationCompositionDefinition getAcDefinition(DocToscaServiceTemplate docServiceTemplate) { var acmDefinition = new AutomationCompositionDefinition(); acmDefinition.setCompositionId(UUID.randomUUID()); diff --git a/models/src/test/java/org/onap/policy/clamp/models/acm/utils/AcmUtilsTest.java b/models/src/test/java/org/onap/policy/clamp/models/acm/utils/AcmUtilsTest.java index c23c38c5b..413139999 100644 --- a/models/src/test/java/org/onap/policy/clamp/models/acm/utils/AcmUtilsTest.java +++ b/models/src/test/java/org/onap/policy/clamp/models/acm/utils/AcmUtilsTest.java @@ -39,7 +39,7 @@ import java.util.UUID; import org.junit.jupiter.api.Test; import org.onap.policy.clamp.models.acm.concepts.AutomationComposition; import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionElement; -import org.onap.policy.clamp.models.acm.concepts.ParticipantUpdates; +import org.onap.policy.clamp.models.acm.concepts.ParticipantDeploy; import org.onap.policy.clamp.models.acm.document.concepts.DocToscaServiceTemplate; import org.onap.policy.common.utils.coder.StandardCoder; import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier; @@ -60,7 +60,7 @@ class AcmUtilsTest { @Test void testCommonUtilsParticipantUpdate() { var acElement = new AutomationCompositionElement(); - List<ParticipantUpdates> participantUpdates = new ArrayList<>(); + List<ParticipantDeploy> participantUpdates = new ArrayList<>(); assertThat(participantUpdates).isEmpty(); AcmUtils.prepareParticipantUpdate(acElement, participantUpdates); |