21cab55dc058aae111e7d59c651125b598314588
[sdc.git] /
1 /*
2  * Copyright © 2019 iconectiv
3  *
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
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  */
16
17 package org.openecomp.sdcrests.externaltesting.rest;
18
19 import io.swagger.annotations.Api;
20 import org.openecomp.core.externaltesting.api.ClientConfiguration;
21 import org.openecomp.core.externaltesting.api.RemoteTestingEndpointDefinition;
22 import org.openecomp.core.externaltesting.api.VtpTestExecutionRequest;
23 import org.springframework.validation.annotation.Validated;
24
25 import javax.ws.rs.*;
26 import javax.ws.rs.core.MediaType;
27 import javax.ws.rs.core.Response;
28 import java.util.List;
29
30
31 @Path("/v1.0/externaltesting")
32 @Produces(MediaType.APPLICATION_JSON)
33 @Consumes(MediaType.APPLICATION_JSON)
34 @Api(value = "External-Testing")
35 @Validated
36
37 public interface ExternalTesting {
38
39   @GET
40   @Path("/config")
41   Response getConfig();
42
43   @PUT
44   @Path("/config")
45   Response setConfig(ClientConfiguration config);
46
47   @GET
48   @Path("/testcasetree")
49   Response getTestCasesAsTree();
50
51   @GET
52   @Path("/endpoints")
53   Response getEndpoints();
54
55   @PUT
56   @Path("/endpoints")
57   Response setEndpoints(List<RemoteTestingEndpointDefinition> endpoints);
58
59   @GET
60   @Path("/endpoints/{endpointId}/scenarios")
61   Response getScenarios(@PathParam("endpointId") String endpointId);
62
63   @GET
64   @Path("/endpoints/{endpointId}/scenarios/{scenario}/testsuites")
65   Response getTestsuites(@PathParam("endpointId") String endpointId, @PathParam("scenario") String scenario);
66
67   @GET
68   @Path("/endpoints/{endpointId}/scenarios/{scenario}/testcases")
69   Response getTestcases(@PathParam("endpointId") String endpointId,
70                         @PathParam("scenario") String scenario);
71
72   @GET
73   @Path("/endpoints/{endpointId}/scenarios/{scenario}/testsuites/{testsuite}/testcases/{testcase}")
74   Response getTestcase(@PathParam("endpointId") String endpointId,
75                        @PathParam("scenario") String scenario,
76                        @PathParam("testsuite") String testsuite,
77                        @PathParam("testcase") String testcase);
78
79   @POST
80   @Path("/endpoints/{endpointId}/executions/{executionId}")
81   Response getExecution(@PathParam("endpointId") String endpointId,
82                         @PathParam("executionId") String executionId);
83
84
85   @POST
86   @Path("/executions")
87   Response execute(List<VtpTestExecutionRequest> req,
88                    @QueryParam("requestId") String requestId);
89
90 }