From f716f67399eea26c45e700e710765ff6c06d4740 Mon Sep 17 00:00:00 2001 From: "saul.gill" Date: Mon, 13 Feb 2023 17:53:26 +0000 Subject: Add stubs and tests for ppnt controller Added stubs Added tests Added node state and elements to all participant endpoint Issue-ID: POLICY-4557 Change-Id: Ia76831ec02f9a308e39f138a3b24f3baced62095 Signed-off-by: saul.gill --- .../main/rest/stub/ParticipantControllerStub.java | 70 ++++++++++++++++++++++ .../participants/AcmParticipantProvider.java | 4 ++ 2 files changed, 74 insertions(+) create mode 100644 runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/main/rest/stub/ParticipantControllerStub.java (limited to 'runtime-acm/src/main/java/org') diff --git a/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/main/rest/stub/ParticipantControllerStub.java b/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/main/rest/stub/ParticipantControllerStub.java new file mode 100644 index 000000000..e87accf20 --- /dev/null +++ b/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/main/rest/stub/ParticipantControllerStub.java @@ -0,0 +1,70 @@ +/*- + * ============LICENSE_START======================================================= + * 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. + * 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. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.clamp.acm.runtime.main.rest.stub; + +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; +import lombok.RequiredArgsConstructor; +import org.onap.policy.clamp.acm.runtime.main.rest.gen.ParticipantMonitoringApi; +import org.onap.policy.clamp.acm.runtime.main.web.AbstractRestController; +import org.onap.policy.clamp.models.acm.concepts.ParticipantInformation; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Profile; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@Profile("stub") +@RequiredArgsConstructor +public class ParticipantControllerStub extends AbstractRestController implements ParticipantMonitoringApi { + + private final StubUtils stubUtils; + @Value("${stub.getSingleParticipantResponse}") + private String pathToSingleParticipant; + + @Value("${stub.getMultipleParticipantResponse}") + private String pathToParticipantList; + + @Override + public ResponseEntity getParticipant(UUID participantId, UUID xonaprequestid) { + return stubUtils.getResponse(pathToSingleParticipant, ParticipantInformation.class); + } + + @Override + public ResponseEntity orderAllParticipantsReport(UUID xonaprequestid) { + return new ResponseEntity(HttpStatus.ACCEPTED); + } + + @Override + public ResponseEntity orderParticipantReport(UUID participantId, UUID xonaprequestid) { + return new ResponseEntity(HttpStatus.ACCEPTED); + } + + @Override + public ResponseEntity> queryParticipants(String name, String version, + UUID xonaprequestid) { + List participantInformationList = new ArrayList<>(); + return (ResponseEntity>) stubUtils + .getResponse(pathToParticipantList, participantInformationList.getClass()); + } +} diff --git a/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/participants/AcmParticipantProvider.java b/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/participants/AcmParticipantProvider.java index de3fc753b..d0fcdd936 100644 --- a/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/participants/AcmParticipantProvider.java +++ b/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/participants/AcmParticipantProvider.java @@ -59,6 +59,10 @@ public class AcmParticipantProvider { participants.forEach(participant -> { ParticipantInformation participantInformation = new ParticipantInformation(); participantInformation.setParticipant(participant); + participantInformation.setAcElementInstanceMap(getAutomationCompositionElementsForParticipant(participant + .getParticipantId())); + participantInformation.setAcNodeTemplateStateDefinitionMap(getNodeTemplateStatesForParticipant(participant + .getParticipantId())); participantInformationList.add(participantInformation); }); return participantInformationList; -- cgit 1.2.3-korg