summaryrefslogtreecommitdiffstats
path: root/vid-ext-services-simulator/src/main/java/org/openecomp
diff options
context:
space:
mode:
Diffstat (limited to 'vid-ext-services-simulator/src/main/java/org/openecomp')
-rw-r--r--vid-ext-services-simulator/src/main/java/org/openecomp/simulator/controller/SimulatorController.java337
-rw-r--r--vid-ext-services-simulator/src/main/java/org/openecomp/simulator/errorHandling/VidSimulatorException.java8
-rw-r--r--vid-ext-services-simulator/src/main/java/org/openecomp/simulator/model/Misc.java30
-rw-r--r--vid-ext-services-simulator/src/main/java/org/openecomp/simulator/model/SimulatorRequest.java67
-rw-r--r--vid-ext-services-simulator/src/main/java/org/openecomp/simulator/model/SimulatorRequestResponseExpectation.java48
-rw-r--r--vid-ext-services-simulator/src/main/java/org/openecomp/simulator/model/SimulatorResponse.java59
-rw-r--r--vid-ext-services-simulator/src/main/java/org/openecomp/simulator/service/TranslatorService.java19
7 files changed, 0 insertions, 568 deletions
diff --git a/vid-ext-services-simulator/src/main/java/org/openecomp/simulator/controller/SimulatorController.java b/vid-ext-services-simulator/src/main/java/org/openecomp/simulator/controller/SimulatorController.java
deleted file mode 100644
index c8b4083dc..000000000
--- a/vid-ext-services-simulator/src/main/java/org/openecomp/simulator/controller/SimulatorController.java
+++ /dev/null
@@ -1,337 +0,0 @@
-package org.openecomp.simulator.controller;
-
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import org.mockserver.integration.ClientAndServer;
-import org.mockserver.matchers.Times;
-import org.mockserver.model.HttpRequest;
-import org.mockserver.model.HttpResponse;
-import static org.mockserver.model.HttpRequest.request;
-import static org.mockserver.model.HttpResponse.response;
-
-import org.mockserver.model.JsonBody;
-import org.openecomp.simulator.errorHandling.VidSimulatorException;
-import org.openecomp.simulator.model.SimulatorRequestResponseExpectation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.core.io.ClassPathResource;
-import org.springframework.core.io.Resource;
-import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
-import org.springframework.core.io.support.PropertiesLoaderUtils;
-import org.springframework.core.io.support.ResourcePatternResolver;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.stereotype.Component;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.servlet.HandlerMapping;
-import org.springframework.web.servlet.View;
-
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.*;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.*;
-import java.io.UnsupportedEncodingException;
-import java.net.URLEncoder;
-import java.util.stream.Collectors;
-
-import static org.mockserver.integration.ClientAndServer.startClientAndServer;
-import static org.mockserver.matchers.Times.exactly;
-
-@RestController
-@Component
-public class SimulatorController {
-
- private static final Times DEFAULT_NUMBER_OF_TIMES = Times.unlimited();
- private ClientAndServer mockServer;
- private String mockServerProtocol;
- private String mockServerHost;
- private Integer mockServerPort;
- private Boolean enablePresetRegistration;
- private volatile boolean isInitialized = false;
-
-
- Logger logger = LoggerFactory.getLogger(SimulatorController.class);
-
- @PostConstruct
- public void init(){
- logger.info("Starting VID Simulator....");
- setProperties();
- mockServer = startClientAndServer(mockServerPort);
- presetRegister();
- isInitialized = true;
- logger.info("VID Simulator started successfully");
- }
-
- @PreDestroy
- public void tearDown(){
- logger.info("Stopping VID Simulator....");
- isInitialized = false;
- mockServer.stop();
- }
-
-
- private void presetRegister() {
- //Checking if set
- if (enablePresetRegistration == null || !enablePresetRegistration){
- logger.info("Preset registration property is false or not set - skipping preset registration...");
- return;
- }
- ClassLoader cl = this.getClass().getClassLoader();
- ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(cl);
- List<Path> resources = new ArrayList<>();
- try {
- File presetDir = resolver.getResource("/preset_registration/").getFile();
- if (presetDir.exists() && presetDir.isDirectory()) {
- resources = Files.walk(Paths.get(presetDir.getPath()))
- .filter(p -> p.toString().endsWith(".json"))
- .collect(Collectors.toList());
- } else {
- logger.error("preset_registration directory is not exists");
- }
- } catch (IOException e) {
- logger.error("Error performing preset registration, error: ", e);
- return;
- }
- logger.info("Starting preset registrations, number of requests: {}", resources.size());
- for (Path resource: resources){
- String content;
- try {
- content = new Scanner(resource).useDelimiter("\\Z").next();
- } catch (IOException e){
- logger.error("Error reading preset registration file {}, skipping to next one. Error: ", resource.getFileName(), e);
- continue;
- }
- //register the preset request
- try {
- register(content);
- } catch (VidSimulatorException e) {
- logger.error("Error proceeding preset registration file {},skipping to next one. Check if the JSON is in correct format. Error: ", resource.getFileName(), e);
- }
- }
- }
-
-
-
- private void setProperties() {
- Resource resource = new ClassPathResource("simulator.properties");
- Properties props = new Properties();
- try {
- props = PropertiesLoaderUtils.loadProperties(resource);
- } catch (IOException e) {
- logger.error("Error loading simulator properties, error: ", e);
- return;
- }
- logger.info("Simulator properties are {}", props);
- mockServerProtocol = (String)props.get("simulator.mockserver.protocol");
- mockServerHost = (String)props.get("simulator.mockserver.host");
- mockServerPort = Integer.parseInt((String)props.get("simulator.mockserver.port"));
- enablePresetRegistration = Boolean.parseBoolean((String)props.get("simulator.enablePresetRegistration"));
- }
-
- @RequestMapping(value = {"/registerToVidSimulator"}, method = RequestMethod.POST)
- public @ResponseBody
- ResponseEntity registerRequest(HttpServletRequest request, @RequestBody String expectation) {
- try {
- register(expectation);
- } catch (VidSimulatorException e) {
- return new ResponseEntity<>("Registration failure! Error: "+e.getMessage(),HttpStatus.BAD_REQUEST);
- }
- return new ResponseEntity<>("Registration successful!",HttpStatus.OK);
- }
-
- @RequestMapping(value = {"/echo"}, method = RequestMethod.GET)
- ResponseEntity echo(HttpServletRequest request) {
- return isInitialized ? new ResponseEntity<>("",HttpStatus.OK) : new ResponseEntity<>("",HttpStatus.SERVICE_UNAVAILABLE);
- }
-
-// @RequestMapping(value = {"/registerToVidSimulator"}, method = RequestMethod.GET)
-// public ResponseEntity<String> getAllRegisteredRequests() throws JsonProcessingException {
-// final Expectation[] expectations = mockServer.retrieveExistingExpectations(null);
-// return new ResponseEntity<>(new ObjectMapper()
-// .configure(SerializationFeature.INDENT_OUTPUT, true)
-// .writeValueAsString(expectations), HttpStatus.OK);
-// }
-
- @RequestMapping(value = {"/registerToVidSimulator"}, method = RequestMethod.DELETE)
- @ResponseStatus(value = HttpStatus.OK)
- public void wipeOutAllExpectations() {
- mockServer.reset();
- }
-
- private void register(String expectation) throws VidSimulatorException{
- ObjectMapper mapper = new ObjectMapper()
- .configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);
-
- SimulatorRequestResponseExpectation[] expectationModels;
- try {
- expectationModels = mapper.readValue(expectation, SimulatorRequestResponseExpectation[].class);
- } catch (IOException e) {
- logger.error("Couldn't deserialize register expectation {}, error:", expectation, e);
- throw new VidSimulatorException(e.getMessage());
- }
-
- for (SimulatorRequestResponseExpectation expectationModel : expectationModels) {
- logger.info("Proceeding registration request: {}", expectationModel);
- register(expectationModel);
- }
- }
-
-
- @RequestMapping(value = {"/**"})
- public String redirectToMockServer(HttpServletRequest request, HttpServletResponse response) {
- //Currently, the easiest logic is redirecting
-
- //This is needed to allow POST redirect - see http://www.baeldung.com/spring-redirect-and-forward
- request.setAttribute(View.RESPONSE_STATUS_ATTRIBUTE, HttpStatus.TEMPORARY_REDIRECT);
-
- //Building the redirect URL
- String restOfTheUrl = (String) request.getAttribute(
- HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE);
-
- //TODO encode only characters like spaces, not slashes
- /* try {
- restOfTheUrl = URLEncoder.encode(restOfTheUrl, "UTF-8");
- restOfTheUrl = restOfTheUrl.replaceAll("%2F", "/");
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }*/
-
- StringBuilder sb = new StringBuilder();
- sb.append(mockServerProtocol+"://"+mockServerHost+":"+mockServerPort+"/"+restOfTheUrl);
- String queryString = request.getQueryString();
- if (queryString != null){
- sb.append("?").append(queryString);
- }
- String redirectUrl = sb.toString();
- logger.info("Redirecting the request to : {}", redirectUrl);
- return ("redirect:"+redirectUrl);
-
- //This was a try to setup a proxy instead of redirect
- //Abandoned this direction when trying to return the original HTTP error code which was registered to mock server, instead of wrapped up HTTP 500.
-
- /* String restOfTheUrl = "/"+(String) request.getAttribute(
- HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE);
- URI uri = null;
- try {
- uri = new URI("http", null, "localhost", 1080, restOfTheUrl, request.getQueryString(), null);
- } catch (URISyntaxException e) {
- logger.error("Error during proxying request {}, error: ", request.getRequestURI(), e.getMessage());
- return new ResponseEntity(e.getMessage(),HttpStatus.INTERNAL_SERVER_ERROR);
- }
- RestTemplate restTemplate = new RestTemplate();
- //Preparing the headers
- HttpHeaders headers = new HttpHeaders();
- Enumeration<String> headerNames = request.getHeaderNames();
- while (headerNames.hasMoreElements()){
- String headerToSet = headerNames.nextElement();
- headers.set(headerToSet, request.getHeader(headerToSet));
- }
-
- ResponseEntity<String> responseEntity =
- restTemplate.exchange(uri, HttpMethod.resolve(request.getMethod()), new HttpEntity<String>(body, headers), String.class);
-
- return responseEntity;*/
- }
-
- private void register(SimulatorRequestResponseExpectation expectationModel) throws VidSimulatorException{
- //Setting request according to what is passed
- HttpRequest request = HttpRequest.request();
- String id = expectationModel.getSimulatorRequest().getId();
- if (id != null) {
- request.withHeader("x-simulator-id", id);
- }
- String method = expectationModel.getSimulatorRequest().getMethod();
- if (method != null) {
- request.withMethod(method);
- }
- String path = expectationModel.getSimulatorRequest().getPath();
- if (path != null) {
- request.withPath(path);
- }
- String body = expectationModel.getSimulatorRequest().getBody();
- if (body != null) {
- request.withBody(new JsonBody(body));
- }
-
- //Queryparams
- final Map<String, List<String>> queryParams = expectationModel.getSimulatorRequest().getQueryParams();
- if (queryParams != null){
- String[] arr = new String[0];
- queryParams.entrySet().stream().forEach(x -> {
- request.withQueryStringParameter(x.getKey(), x.getValue().toArray(arr));
- });
- }
-
- //Setting response according to what is passed
- HttpResponse response = HttpResponse.response();
- Integer responseCode = expectationModel.getSimulatorResponse().getResponseCode();
- if (responseCode != null) {
- response.withStatusCode(responseCode);
- } else {
- logger.error("Invalid registration - response code cannot be empty");
- throw new VidSimulatorException("Invalid registration - response code cannot be empty");
- }
-
- String respBody = expectationModel.getSimulatorResponse().getBody();
- if (respBody != null) {
- response.withBody(respBody);
- }
-
- String file = expectationModel.getSimulatorResponse().getFile();
- if (file != null) {
- response.withBody(loadFileString(file));
- }
-
- Map<String, String> responseHeaders = expectationModel.getSimulatorResponse().getResponseHeaders();
- if (responseHeaders != null) {
- responseHeaders.forEach(response::withHeader);
- }
-
- Times numberOfTimes = getExpectationNumberOfTimes(expectationModel);
-
- if (expectationModel.getMisc().getReplace()) {
- logger.info("Unregistering request expectation, if previously set, request: {}", expectationModel.getSimulatorRequest());
- mockServer.clear(request);
- }
-
- mockServer
- .when(request, numberOfTimes).respond(response);
- }
-
-
- private byte[] loadFileString(String filePath) {
- byte[] bytes = null;
- try {
- File file = new ClassPathResource("download_files/" + filePath).getFile();
- bytes = new byte[(int)file.length()];
- DataInputStream dataInputStream = null;
-
- dataInputStream = new DataInputStream(new BufferedInputStream(new FileInputStream(file.getPath())));
- dataInputStream.readFully(bytes);
- dataInputStream.close();
- } catch (FileNotFoundException e) {
- logger.error("File not found for file:" + filePath);
- e.printStackTrace();
- } catch (IOException e) {
- logger.error("Error reading file:" + filePath);
- e.printStackTrace();
- }
-
- return bytes;
- }
- private Times getExpectationNumberOfTimes(SimulatorRequestResponseExpectation expectationModel) {
- Integer expectationModelNumberOfTimes = expectationModel.getMisc().getNumberOfTimes();
- Times effectiveNumberOfTimes;
- if (expectationModelNumberOfTimes == null || expectationModelNumberOfTimes < 0) {
- effectiveNumberOfTimes = DEFAULT_NUMBER_OF_TIMES;
- } else {
- effectiveNumberOfTimes = exactly(expectationModelNumberOfTimes);
- }
- return effectiveNumberOfTimes;
- }
-}
diff --git a/vid-ext-services-simulator/src/main/java/org/openecomp/simulator/errorHandling/VidSimulatorException.java b/vid-ext-services-simulator/src/main/java/org/openecomp/simulator/errorHandling/VidSimulatorException.java
deleted file mode 100644
index 3a67f26c2..000000000
--- a/vid-ext-services-simulator/src/main/java/org/openecomp/simulator/errorHandling/VidSimulatorException.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package org.openecomp.simulator.errorHandling;
-
-public class VidSimulatorException extends Exception {
-
- public VidSimulatorException(String message) {
- super(message);
- }
-}
diff --git a/vid-ext-services-simulator/src/main/java/org/openecomp/simulator/model/Misc.java b/vid-ext-services-simulator/src/main/java/org/openecomp/simulator/model/Misc.java
deleted file mode 100644
index 03cb498a7..000000000
--- a/vid-ext-services-simulator/src/main/java/org/openecomp/simulator/model/Misc.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.openecomp.simulator.model;
-
-public class Misc {
- private Integer numberOfTimes;
- private boolean replace = true;
-
- public Integer getNumberOfTimes() {
- return numberOfTimes;
- }
-
- public void setNumberOfTimes(Integer numberOfTimes) {
- this.numberOfTimes = numberOfTimes;
- }
-
- public boolean getReplace() {
- return replace;
- }
-
- public void setReplace(Boolean replace) {
- this.replace = replace;
- }
-
- @Override
- public String toString() {
- return "Misc{" +
- "numberOfTimes='" + numberOfTimes + '\'' +
- ", replace='" + replace + '\'' +
- '}';
- }
-}
diff --git a/vid-ext-services-simulator/src/main/java/org/openecomp/simulator/model/SimulatorRequest.java b/vid-ext-services-simulator/src/main/java/org/openecomp/simulator/model/SimulatorRequest.java
deleted file mode 100644
index 6c619b399..000000000
--- a/vid-ext-services-simulator/src/main/java/org/openecomp/simulator/model/SimulatorRequest.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.openecomp.simulator.model;
-
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.databind.JsonNode;
-
-import java.util.List;
-import java.util.Map;
-
-@JsonInclude(JsonInclude.Include.NON_NULL)
-public class SimulatorRequest {
- private String id;
- private String method;
- private String path;
- private String body;
- private Map<String, List<String>> queryParams;
-
- public Map<String, List<String>> getQueryParams() {
- return queryParams;
- }
-
- public void setQueryParams(Map<String, List<String>> queryParams) {
- this.queryParams = queryParams;
- }
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getMethod() {
- return method;
- }
-
- public void setMethod(String method) {
- this.method = method;
- }
-
- public String getPath() {
- return path;
- }
-
- public void setPath(String path) {
- this.path = path;
- }
-
- public String getBody() {
- return body;
- }
-
- public void setBody(JsonNode body) {
- this.body = body.isTextual() ? body.textValue() : body.toString();
- }
-
- @Override
- public String toString() {
- return "SimulatorRequest{" +
- "id='" + id + '\'' +
- ", method='" + method + '\'' +
- ", path='" + path + '\'' +
- ", body='" + body + '\'' +
- ", queryParams=" + queryParams +
- '}';
- }
-}
diff --git a/vid-ext-services-simulator/src/main/java/org/openecomp/simulator/model/SimulatorRequestResponseExpectation.java b/vid-ext-services-simulator/src/main/java/org/openecomp/simulator/model/SimulatorRequestResponseExpectation.java
deleted file mode 100644
index 566de5c6a..000000000
--- a/vid-ext-services-simulator/src/main/java/org/openecomp/simulator/model/SimulatorRequestResponseExpectation.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.openecomp.simulator.model;
-
-import com.fasterxml.jackson.annotation.JsonInclude;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@JsonInclude(JsonInclude.Include.NON_NULL)
-public class SimulatorRequestResponseExpectation {
-
- Logger logger = LoggerFactory.getLogger(SimulatorRequestResponseExpectation.class);
-
- private SimulatorRequest simulatorRequest;
- private SimulatorResponse simulatorResponse;
- private Misc misc;
-
- public SimulatorRequest getSimulatorRequest() {
- return simulatorRequest;
- }
-
- public void setSimulatorRequest(SimulatorRequest simulatorRequest) {
- this.simulatorRequest = simulatorRequest;
- }
-
- public SimulatorResponse getSimulatorResponse() {
- return simulatorResponse;
- }
-
- public void setSimulatorResponse(SimulatorResponse simulatorResponse) {
- this.simulatorResponse = simulatorResponse;
- }
-
- public Misc getMisc() {
- return misc == null ? new Misc() : misc;
- }
-
- public void setMisc(Misc misc) {
- this.misc = misc;
- }
-
- @Override
- public String toString() {
- return "ExpectationModel{" +
- "simulatorRequest=" + simulatorRequest +
- ", simulatorResponse=" + simulatorResponse +
- ", misc=" + misc +
- '}';
- }
-}
diff --git a/vid-ext-services-simulator/src/main/java/org/openecomp/simulator/model/SimulatorResponse.java b/vid-ext-services-simulator/src/main/java/org/openecomp/simulator/model/SimulatorResponse.java
deleted file mode 100644
index 799075771..000000000
--- a/vid-ext-services-simulator/src/main/java/org/openecomp/simulator/model/SimulatorResponse.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package org.openecomp.simulator.model;
-
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.databind.JsonNode;
-
-import java.util.Map;
-
-public class SimulatorResponse {
- private int responseCode;
- private Map<String, String> responseHeaders;
-
- @JsonInclude(JsonInclude.Include.NON_NULL)
- private String body;
-
- @JsonInclude(JsonInclude.Include.NON_NULL)
- private String file;
-
- public int getResponseCode() {
- return responseCode;
- }
-
- public void setResponseCode(int responseCode) {
- this.responseCode = responseCode;
- }
-
- public String getBody() {
- return body;
- }
-
- public void setBody(JsonNode body) {
- this.body = body.isTextual() ? body.textValue() : body.toString();
- }
-
- public Map<String, String> getResponseHeaders() {
- return responseHeaders;
- }
-
- public void setResponseHeaders(Map<String, String> responseHeaders) {
- this.responseHeaders = responseHeaders;
- }
-
- public String getFile() {
- return file;
- }
-
- public void setFile(String file) {
- this.file = file;
- }
-
- @Override
- public String toString() {
- return "SimulatorResponse{" +
- "responseCode=" + responseCode +
- ", body='" + body + '\'' +
- ", file='" + file + '\'' +
- ", responseHeaders='" + responseHeaders + '\'' +
- '}';
- }
-}
diff --git a/vid-ext-services-simulator/src/main/java/org/openecomp/simulator/service/TranslatorService.java b/vid-ext-services-simulator/src/main/java/org/openecomp/simulator/service/TranslatorService.java
deleted file mode 100644
index f675d39fe..000000000
--- a/vid-ext-services-simulator/src/main/java/org/openecomp/simulator/service/TranslatorService.java
+++ /dev/null
@@ -1,19 +0,0 @@
-//package org.openecomp.simulator.service;
-//
-//import org.mockserver.model.HttpRequest;
-//import org.mockserver.model.HttpResponse;
-//import org.openecomp.simulator.model.ExpectationModel;
-//import org.springframework.stereotype.Component;
-//
-//import static org.mockserver.model.HttpRequest.request;
-//@Component
-//public class TranslatorService {
-// public HttpRequest buildRequestByJson(ExpectationModel expectation){
-// return expectation.getExpectationRequest();
-// }
-// public HttpResponse buildResponseByJson(ExpectationModel expectation){
-// return expectation.getExpectationResponse();
-// }
-//
-//
-//}