2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.onap.so.apihandlerinfra.validation;
23 import java.io.IOException;
24 import java.nio.file.Files;
25 import java.nio.file.Paths;
28 import org.junit.Rule;
29 import org.junit.Test;
30 import org.junit.rules.ExpectedException;
31 import org.onap.so.apihandlerinfra.Action;
32 import org.onap.so.exceptions.ValidationException;
33 import org.onap.so.serviceinstancebeans.Service;
34 import org.onap.so.serviceinstancebeans.ServiceInstancesRequest;
36 import com.fasterxml.jackson.databind.ObjectMapper;
38 public class UserParamsValidationTest{
40 UserParamsValidation validation = new UserParamsValidation();
43 public ExpectedException thrown = ExpectedException.none();
45 public ValidationInformation setupValidationInformation(String path) throws IOException{
46 String jsonInput = new String(Files.readAllBytes(Paths.get(path)));
47 ObjectMapper mapper = new ObjectMapper();
48 ServiceInstancesRequest sir = mapper.readValue(jsonInput, ServiceInstancesRequest.class);
49 ValidationInformation info = new ValidationInformation(sir, null, Action.createInstance, 7, false, sir.getRequestDetails().getRequestParameters());
50 for(Map<String, Object> params : sir.getRequestDetails().getRequestParameters().getUserParams()){
51 ObjectMapper obj = new ObjectMapper();
52 String input = obj.writeValueAsString(params.get("service"));
53 Service validate = obj.readValue(input, Service.class);
54 info.setUserParams(validate);
57 info.setRequestInfo(sir.getRequestDetails().getRequestInfo());
62 public void validateModelTypeExceptionTest() throws IOException, ValidationException{
63 thrown.expect(ValidationException.class);
64 thrown.expectMessage("No valid modelType in userParams service modelInfo is specified");
65 validation.validate(setupValidationInformation("src/test/resources/Validation/UserParamsValidation/ModelInfoNoModelType.json"));
68 public void validateInstanceNameExceptionTest() throws IOException, ValidationException{
69 thrown.expect(ValidationException.class);
70 thrown.expectMessage("instanceName in requestInfo does not match instanceName in userParams service");
71 validation.validate(setupValidationInformation("src/test/resources/Validation/UserParamsValidation/MacroRequest.json"));
74 public void validateModelTypeTest() throws ValidationException, IOException{
75 thrown.expect(ValidationException.class);
76 thrown.expectMessage("modelType in modelInfo does not match modelType in userParams service");
77 validation.validate(setupValidationInformation("src/test/resources/Validation/UserParamsValidation/ModelType.json"));
80 public void validateModelInvariantIdTest() throws ValidationException, IOException{
81 thrown.expect(ValidationException.class);
82 thrown.expectMessage("modelInvariantId in modelInfo does not match modelInvariantId in userParams service");
83 validation.validate(setupValidationInformation("src/test/resources/Validation/UserParamsValidation/ModelInvariantId.json"));
86 public void validateModelVersionIdTest() throws ValidationException, IOException{
87 thrown.expect(ValidationException.class);
88 thrown.expectMessage("modelVersionId in modelInfo does not match modelVersionId in userParams service");
89 validation.validate(setupValidationInformation("src/test/resources/Validation/UserParamsValidation/ModelVersionId.json"));
92 public void validateModelNameTest() throws ValidationException, IOException{
93 thrown.expect(ValidationException.class);
94 thrown.expectMessage("modelName in modelInfo does not match modelName in userParams service");
95 validation.validate(setupValidationInformation("src/test/resources/Validation/UserParamsValidation/ModelName.json"));
98 public void validateModelVersionTest() throws ValidationException, IOException{
99 thrown.expect(ValidationException.class);
100 thrown.expectMessage("modelVersion in modelInfo does not match modelVersion in userParams service");
101 validation.validate(setupValidationInformation("src/test/resources/Validation/UserParamsValidation/ModelVersion.json"));
104 public void validateModelCustomizationIdTest() throws ValidationException, IOException{
105 thrown.expect(ValidationException.class);
106 thrown.expectMessage("modelCustomizationId in modelInfo does not match modelCustomizationId in userParams service");
107 validation.validate(setupValidationInformation("src/test/resources/Validation/UserParamsValidation/ModelCustomizationId.json"));