X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=otf-service-api%2Fsrc%2Fmain%2Fjava%2Forg%2Foran%2Fotf%2Fapi%2Fservice%2FTestExecutionService.java;fp=otf-service-api%2Fsrc%2Fmain%2Fjava%2Forg%2Foran%2Fotf%2Fapi%2Fservice%2FTestExecutionService.java;h=b1d5d5eb58703a870c9e749d645beff9baa92490;hb=14f6f95c84a4a1fa8774190db4a03fd0214ec55f;hp=0000000000000000000000000000000000000000;hpb=f49bd1efeaaddd4891c1f329b18d8cfb28b3e75b;p=it%2Fotf.git diff --git a/otf-service-api/src/main/java/org/oran/otf/api/service/TestExecutionService.java b/otf-service-api/src/main/java/org/oran/otf/api/service/TestExecutionService.java new file mode 100644 index 0000000..b1d5d5e --- /dev/null +++ b/otf-service-api/src/main/java/org/oran/otf/api/service/TestExecutionService.java @@ -0,0 +1,92 @@ +/* Copyright (c) 2019 AT&T Intellectual Property. # +# # +# 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. # +##############################################################################*/ + + +package org.oran.otf.api.service; + +import org.oran.otf.common.model.TestExecution; +import org.oran.otf.common.model.local.OTFApiResponse; +import io.swagger.annotations.Api; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.tags.Tag; +import javax.ws.rs.GET; +import javax.ws.rs.HeaderParam; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; + +import org.springframework.stereotype.Component; + +@Component +@Api +@Path("/testExecution") +@Tag(name = "Test Services", description = "") +@Produces(MediaType.APPLICATION_JSON) +public interface TestExecutionService { + @GET + @Path("v1/status/executionId/{executionId}") + @Produces({MediaType.APPLICATION_JSON}) + @Operation( + description = "Respond with a test execution object if it exists", + summary = "Find test execution log by processInstanceId", + responses = { + @ApiResponse( + responseCode = "200", + description = "The created Test Instance object is returned when it is created", + content = { + @Content( + mediaType = "application/json", + schema = @Schema(implementation = TestExecution.class)) + }) + }) + Response getExecutionStatus( + @HeaderParam("Authorization") String authorization, + @PathParam("executionId") String executionId); + + @GET + @Path("v1/executionId/{executionId}") + @Produces({MediaType.APPLICATION_JSON}) + @Operation( + description = + "Respond with a test execution object, and state of the process instance if it exists.", + summary = "Find test execution log by executionId", + responses = { + @ApiResponse( + responseCode = "200", + description = "The created Test Instance object is returned when it is created", + content = { + @Content( + mediaType = "application/json", + schema = @Schema(implementation = TestExecution.class)) + }), + @ApiResponse( + responseCode = "404", + description = + "No process instance was found with the executionId used to query the service", + content = { + @Content( + mediaType = "application/json", + schema = @Schema(implementation = OTFApiResponse.class)) + }) + }) + Response getExecution( + @HeaderParam("Authorization") String authorization, + @PathParam("executionId") String executionId); +}