2 * Copyright © 2019 iconectiv
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 package org.openecomp.sdcrests.externaltesting.rest;
19 import io.swagger.v3.oas.annotations.OpenAPIDefinition;
20 import io.swagger.v3.oas.annotations.info.Info;
21 import org.openecomp.core.externaltesting.api.ClientConfiguration;
22 import org.openecomp.core.externaltesting.api.RemoteTestingEndpointDefinition;
23 import org.openecomp.core.externaltesting.api.VtpTestExecutionRequest;
24 import org.springframework.validation.annotation.Validated;
27 import javax.ws.rs.core.MediaType;
28 import javax.ws.rs.core.Response;
29 import java.util.List;
32 @Path("/v1.0/externaltesting")
33 @Produces(MediaType.APPLICATION_JSON)
34 @Consumes(MediaType.APPLICATION_JSON)
35 @OpenAPIDefinition(info = @Info(title = "External-Testing"))
38 public interface ExternalTesting {
46 Response setConfig(ClientConfiguration config);
49 @Path("/testcasetree")
50 Response getTestCasesAsTree();
54 Response getEndpoints();
58 Response setEndpoints(List<RemoteTestingEndpointDefinition> endpoints);
61 @Path("/endpoints/{endpointId}/scenarios")
62 Response getScenarios(@PathParam("endpointId") String endpointId);
65 @Path("/endpoints/{endpointId}/scenarios/{scenario}/testsuites")
66 Response getTestsuites(@PathParam("endpointId") String endpointId, @PathParam("scenario") String scenario);
69 @Path("/endpoints/{endpointId}/scenarios/{scenario}/testcases")
70 Response getTestcases(@PathParam("endpointId") String endpointId,
71 @PathParam("scenario") String scenario);
74 @Path("/endpoints/{endpointId}/scenarios/{scenario}/testsuites/{testsuite}/testcases/{testcase}")
75 Response getTestcase(@PathParam("endpointId") String endpointId,
76 @PathParam("scenario") String scenario,
77 @PathParam("testsuite") String testsuite,
78 @PathParam("testcase") String testcase);
81 @Path("/endpoints/{endpointId}/executions/{executionId}")
82 Response getExecution(@PathParam("endpointId") String endpointId,
83 @PathParam("executionId") String executionId);
88 Response execute(List<VtpTestExecutionRequest> req,
89 @QueryParam("requestId") String requestId);