diff options
author | Dan Timoney <dt5972@att.com> | 2018-03-23 23:24:54 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2018-03-23 23:24:54 +0000 |
commit | f168a9c4462a8290e810f0f85b0e59fbec63cbc8 (patch) | |
tree | 30891713de7ea8d25196362f7927b8d5552d6af0 /SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc | |
parent | f41f120dd20c29fac2a4e46dde647f13fce08932 (diff) | |
parent | 9f93b09a9d7a55f8e9450a2ee3b14d6317eb1ceb (diff) |
Merge "Certification module"
Diffstat (limited to 'SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc')
16 files changed, 1015 insertions, 0 deletions
diff --git a/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/Application.java b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/Application.java new file mode 100644 index 0000000..e1a54a3 --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/Application.java @@ -0,0 +1,40 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights + * reserved. + * ================================================================================ + * 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. + * ============LICENSE_END========================================================= + */ +package com.onap.sdnc.testapi; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.domain.EntityScan; +import org.springframework.data.jpa.repository.config.EnableJpaRepositories; + +@SpringBootApplication +//@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class,HibernateJpaAutoConfiguration.class}) +@EnableJpaRepositories("com.onap.sdnc.reports.repository") +@EntityScan("com.onap.sdnc.*") +@EnableAutoConfiguration +public class Application { + public static void main(String[] args) { + SpringApplication.run(Application.class, args); + } + + +} diff --git a/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/ServletInitializer.java b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/ServletInitializer.java new file mode 100644 index 0000000..8e0ac72 --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/ServletInitializer.java @@ -0,0 +1,36 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights + * reserved. + * ================================================================================ + * 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. + * ============LICENSE_END========================================================= + */ + +package com.onap.sdnc.testapi; + +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.boot.web.support.SpringBootServletInitializer; + + + +public class ServletInitializer extends SpringBootServletInitializer { + + @Override + protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { + return application.sources(Application.class); + } + +} diff --git a/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/controller/TestController.java b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/controller/TestController.java new file mode 100644 index 0000000..80710c9 --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/controller/TestController.java @@ -0,0 +1,53 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights + * reserved. + * ================================================================================ + * 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. + * ============LICENSE_END========================================================= + */ +package com.onap.sdnc.testapi.controller; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; +import com.onap.sdnc.testapi.model.Request; +import com.onap.sdnc.testapi.model.Response; +import com.onap.sdnc.testapi.service.LayerTestService; + +@CrossOrigin +@RestController +public class TestController { + + @Autowired + LayerTestService ltService; + + @RequestMapping(value="/runtest",method=RequestMethod.POST, consumes="application/json",produces=MediaType.APPLICATION_JSON_VALUE) + public Response findReportByTestName(@RequestBody Request req) { + + return ltService.networkCertification(req); + } + + @RequestMapping(value="/ping",method=RequestMethod.GET) + public String pingService() { + + return "success"; + } + +} diff --git a/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/CertificationInputs.java b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/CertificationInputs.java new file mode 100644 index 0000000..e0a4e6a --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/CertificationInputs.java @@ -0,0 +1,35 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* 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. +* ============LICENSE_END========================================================= +*/ +package com.onap.sdnc.testapi.model; + +public class CertificationInputs { + + private Input input; + + public Input getInput () + { + return input; + } + + public void setInput (Input input) + { + this.input = input; + } +} diff --git a/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/Input.java b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/Input.java new file mode 100644 index 0000000..9d4cdb5 --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/Input.java @@ -0,0 +1,77 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* 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. +* ============LICENSE_END========================================================= +*/ +package com.onap.sdnc.testapi.model; + +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights + * reserved. + * ================================================================================ + * 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. + * ============LICENSE_END========================================================= + */ +public class Input { + + private String ipaddress; + private String hostname; + private String network; + + public String getHostname() { + return hostname; + } + + public void setHostname(String hostname) { + this.hostname = hostname; + } + + + public String getIpaddress () + { + return ipaddress; + } + + public void setIpaddress (String ipaddress) + { + this.ipaddress = ipaddress; + } + + public String getNetwork() { + return network; + } + + public void setNetwork(String network) { + this.network = network; + } + + + +} diff --git a/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/ODLClientResponse.java b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/ODLClientResponse.java new file mode 100644 index 0000000..3911a10 --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/ODLClientResponse.java @@ -0,0 +1,35 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* 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. +* ============LICENSE_END========================================================= +*/ +package com.onap.sdnc.testapi.model; + +public class ODLClientResponse { + private Output output; + + public Output getOutput () + { + return output; + } + + public void setOutput (Output output) + { + this.output = output; + } + +} diff --git a/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/Output.java b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/Output.java new file mode 100644 index 0000000..c771195 --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/Output.java @@ -0,0 +1,102 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* 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. +* ============LICENSE_END========================================================= +*/ +package com.onap.sdnc.testapi.model; + +public class Output { + + private String status; + + private String testresult; + + private String hostname; + + private String ipaddress; + + private String statistics; + + private String avgTime; + + private String reason; + + public String getStatus () + { + return status; + } + + public String getStatistics() { + return statistics; + } + + public void setStatistics(String statistics) { + this.statistics = statistics; + } + + public void setStatus (String status) + { + this.status = status; + } + + public String getTestresult () + { + return testresult; + } + + public void setTestresult (String testresult) + { + this.testresult = testresult; + } + + public String getHostname () + { + return hostname; + } + + public void setHostname (String hostname) + { + this.hostname = hostname; + } + + public String getIpaddress () + { + return ipaddress; + } + + public void setIpaddress (String ipaddress) + { + this.ipaddress = ipaddress; + } + + public String getAvgTime() { + return avgTime; + } + + public void setAvgTime(String avgTime) { + this.avgTime = avgTime; + } + + public String getReason() { + return reason; + } + + public void setReason(String reason) { + this.reason = reason; + } + +} diff --git a/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/PreTestResponse.java b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/PreTestResponse.java new file mode 100644 index 0000000..9daf673 --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/PreTestResponse.java @@ -0,0 +1,75 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* 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. +* ============LICENSE_END========================================================= +*/ +package com.onap.sdnc.testapi.model; + +import com.fasterxml.jackson.annotation.JsonInclude; + +@JsonInclude(JsonInclude.Include.NON_NULL) +public class PreTestResponse { + + private String ipaddress; + private String status; + private String testtype; + private String statistics; + private String avgTime; + + public PreTestResponse() { + + } + + public String getStatus() { + return status; + } + public void setStatus(String status) { + this.status = status; + } + public String getIpaddress() { + return ipaddress; + } + public void setIpaddress(String ipaddress) { + this.ipaddress = ipaddress; + } + + public String getTesttype() { + return testtype; + } + + public void setTesttype(String testtype) { + this.testtype = testtype; + } + + public String getStatistics() { + return statistics; + } + + public void setStatistics(String statistics) { + this.statistics = statistics; + } + + public String getAvgTime() { + return avgTime; + } + + public void setAvgTime(String avgTime) { + this.avgTime = avgTime; + } + + +} diff --git a/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/Request.java b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/Request.java new file mode 100644 index 0000000..13721e1 --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/Request.java @@ -0,0 +1,43 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* 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. +* ============LICENSE_END========================================================= +*/ +package com.onap.sdnc.testapi.model; + +public class Request { + + private VnfList[] vnfList; + + private ValidationTestType[] validationTestType; + + public VnfList[] getVnfList() { + return vnfList; + } + + public void setVnfList(VnfList[] vnfList) { + this.vnfList = vnfList; + } + + public ValidationTestType[] getValidationTestType() { + return validationTestType; + } + + public void setValidationTestType(ValidationTestType[] validationTestType) { + this.validationTestType = validationTestType; + } +} diff --git a/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/Response.java b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/Response.java new file mode 100644 index 0000000..0742957 --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/Response.java @@ -0,0 +1,41 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* 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. +* ============LICENSE_END========================================================= +*/ +package com.onap.sdnc.testapi.model; + +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonInclude; + +@JsonInclude(JsonInclude.Include.NON_NULL) +public class Response { + + private List<PreTestResponse> preTestResponse; + + public List<PreTestResponse> getPreTestResponse() { + return preTestResponse; + } + + public void setPreTestResponse(List<PreTestResponse> preTestResponse) { + this.preTestResponse = preTestResponse; + } + + + +} diff --git a/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/ValidationTestType.java b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/ValidationTestType.java new file mode 100644 index 0000000..1508186 --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/ValidationTestType.java @@ -0,0 +1,49 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* 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. +* ============LICENSE_END========================================================= +*/ +package com.onap.sdnc.testapi.model; + +public class ValidationTestType +{ + private String validationType; + + private String typeId; + + public String getValidationType () + { + return validationType; + } + + public void setValidationType (String validationType) + { + this.validationType = validationType; + } + + public String getTypeId () + { + return typeId; + } + + public void setTypeId (String typeId) + { + this.typeId = typeId; + } + + +} diff --git a/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/Vnf.java b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/Vnf.java new file mode 100644 index 0000000..595578f --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/Vnf.java @@ -0,0 +1,49 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* 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. +* ============LICENSE_END========================================================= +*/ +package com.onap.sdnc.testapi.model; + +public class Vnf { + + private VnfList[] vnfList; + + private ValidationTestType[] validationTestType; + + public VnfList[] getVnfList () + { + return vnfList; + } + + public void setVnfList (VnfList[] vnfList) + { + this.vnfList = vnfList; + } + + public ValidationTestType[] getValidationTestType () + { + return validationTestType; + } + + public void setValidationTestType (ValidationTestType[] validationTestType) + { + this.validationTestType = validationTestType; + } + + +} diff --git a/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/VnfList.java b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/VnfList.java new file mode 100644 index 0000000..c3ae86b --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/VnfList.java @@ -0,0 +1,56 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* 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. +* ============LICENSE_END========================================================= +*/ +package com.onap.sdnc.testapi.model; + +public class VnfList<List> { + + private String portNo; + + private String ipAddress; + + private String hostName; + + public String getPortNo() { + return portNo; + } + + public void setPortNo(String portNo) { + this.portNo = portNo; + } + + public String getIpAddress() { + return ipAddress; + } + + public void setIpAddress(String ipAddress) { + this.ipAddress = ipAddress; + } + + public String getHostName() { + return hostName; + } + + public void setHostName(String hostName) { + this.hostName = hostName; + } + + + +} diff --git a/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/service/CertificationClientService.java b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/service/CertificationClientService.java new file mode 100644 index 0000000..340905d --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/service/CertificationClientService.java @@ -0,0 +1,173 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights + * reserved. + * ================================================================================ + * 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. + * ============LICENSE_END========================================================= + */ +package com.onap.sdnc.testapi.service; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.net.InetAddress; +import java.net.Socket; +import java.net.UnknownHostException; +import java.util.List; + +import org.apache.log4j.Logger; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.onap.sdnc.testapi.model.CertificationInputs; +import com.onap.sdnc.testapi.model.Output; +import com.onap.sdnc.testapi.model.PreTestResponse; + +@Service +public class CertificationClientService { + + private static final Logger logger = Logger.getLogger(CertificationClientService.class); + + @Value("${certification.api.host}") + private String hostName; + + @Value("${certification.api.port}") + private String portNumber; + + @Value("${certification.api.basepath}") + private String restBasePath; + + @Value("${certification.api.username}") + private String username; + + @Value("${certification.api.password}") + private String pass; + + ObjectMapper mapper = new ObjectMapper(); + + public void restClient(CertificationInputs vnfinfo, List<PreTestResponse> preTestNew, String testType) { + + PreTestResponse preTest = new PreTestResponse(); + + Output output = new Output(); + if ("network".equalsIgnoreCase(testType)) { + output = pingTest(vnfinfo); + } + if ("protocol".equalsIgnoreCase(testType)) { + output = protocolTest(vnfinfo); + } + preTest.setStatus(output.getStatus()); + preTest.setIpaddress(output.getIpaddress()); + preTest.setStatistics(output.getStatistics()); + preTest.setAvgTime(output.getAvgTime()); + preTest.setTesttype(testType); + preTestNew.add(preTest); + } + + public static Output pingTest(CertificationInputs vnfinfo) { + Output output = new Output(); + String pingCmd = "ping " + vnfinfo.getInput().getIpaddress(); + String pingResult = ""; + String testResult = "fail"; + String status = "unreachable"; + String reason = null; + String timeRes = null; + String percentile = null; + boolean flag = false; + try { + InetAddress byName = InetAddress.getByName(vnfinfo.getInput().getIpaddress()); + flag = byName.isReachable(5000); + } catch (UnknownHostException e) { + logger.info("Network certification Exception : " + e); + } catch (IOException e) { + logger.info("Network certification Exception : " + e); + } + if (flag) { + try { + Runtime r = Runtime.getRuntime(); + Process p = r.exec(pingCmd); + BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream())); + String inputLine; + while ((inputLine = in.readLine()) != null) { + if (pingResult.equals("")) { + pingResult = inputLine; + } else { + pingResult += "~" + inputLine; + } + } + String[] results = pingResult.split("~"); + for (String res : results) { + if (res.trim().contains("Packets:")) { + testResult = "pass"; + status = "reachable"; + String packets = res.trim(); + String[] lossPercentile = packets.split("\\("); + percentile = lossPercentile[1].replace(")", "").replace(",", "").trim(); + } + if (res.trim().contains("Minimum")) { + String timeMs = res.trim(); + String[] time = timeMs.split(","); + timeRes = time[0]; + } + } + in.close(); + } catch (Exception e) { + logger.info("Network certification Exception : " + e); + testResult = "fail"; + status = "unreachable"; + reason = e.toString(); + } + } + output.setAvgTime(timeRes); + output.setStatistics(percentile); + output.setHostname(vnfinfo.getInput().getHostname()); + output.setIpaddress(vnfinfo.getInput().getIpaddress()); + output.setReason(reason); + output.setTestresult(testResult); + output.setStatus(status); + + return output; + } + + public static Output protocolTest(CertificationInputs vnfinfo) { + Output output = new Output(); + Socket s = null; + String status = "unreachable"; + String reason = null; + try { + s = new Socket(vnfinfo.getInput().getIpaddress(), Integer.parseInt("45")); + status = "reachable"; + } catch (Exception e) { + logger.info("Protocol certification Exception : " + e); + reason = e.toString(); + status = "unreachable"; + } finally { + if (s != null) + try { + s.close(); + } catch (Exception e) { + logger.info("Protocol certification Exception : " + e); + reason = e.toString(); + status = "unreachable"; + } + } + output.setStatus(status); + output.setIpaddress(vnfinfo.getInput().getIpaddress()); + output.setReason(reason); + + return output; + } +}
\ No newline at end of file diff --git a/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/service/LayerTestService.java b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/service/LayerTestService.java new file mode 100644 index 0000000..daa064d --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/service/LayerTestService.java @@ -0,0 +1,32 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights + * reserved. + * ================================================================================ + * 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. + * ============LICENSE_END========================================================= + */ +package com.onap.sdnc.testapi.service; + +import com.onap.sdnc.testapi.model.ODLClientResponse; +import com.onap.sdnc.testapi.model.PreTestResponse; +import com.onap.sdnc.testapi.model.Request; +import com.onap.sdnc.testapi.model.Response; + +public interface LayerTestService { + + public Response networkCertification(Request restReq); + public void testSaveResults(PreTestResponse preTest,ODLClientResponse output); +} diff --git a/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/service/LayerTestServiceImpl.java b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/service/LayerTestServiceImpl.java new file mode 100644 index 0000000..8b303c1 --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/service/LayerTestServiceImpl.java @@ -0,0 +1,119 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights + * reserved. + * ================================================================================ + * 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. + * ============LICENSE_END========================================================= + */ +package com.onap.sdnc.testapi.service; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.List; +import org.apache.log4j.Logger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.google.gson.Gson; +import com.onap.sdnc.reports.model.DeviceConfig; +import com.onap.sdnc.reports.repository.DeviceRepository; +import com.onap.sdnc.reports.repository.PreTestConfigRepository; +import com.onap.sdnc.testapi.model.CertificationInputs; +import com.onap.sdnc.testapi.model.Input; +import com.onap.sdnc.testapi.model.ODLClientResponse; +import com.onap.sdnc.testapi.model.PreTestResponse; +import com.onap.sdnc.testapi.model.Request; +import com.onap.sdnc.testapi.model.Response; +import com.onap.sdnc.testapi.model.ValidationTestType; +import com.onap.sdnc.testapi.model.VnfList; + + +@Service +public class LayerTestServiceImpl implements LayerTestService { + + private static final Logger logger = Logger.getLogger(CertificationClientService.class); + + @Autowired + CertificationClientService certificationClientservice; + + @Autowired + DeviceRepository deviceRepository; + + @Autowired + PreTestConfigRepository preTestRepo; + + @Override + public Response networkCertification(Request restReq) { + + String testType = "network"; + + VnfList[] vnf = restReq.getVnfList(); + + ValidationTestType[] validationType = restReq.getValidationTestType(); + + CertificationInputs vnfRequestParams = new CertificationInputs(); + + Response resOutput = new Response(); + + Input input = new Input(); + + List<PreTestResponse> preTestNew = new ArrayList<PreTestResponse>(); + for (ValidationTestType validationTestType : validationType) { + if (validationTestType.getValidationType().equalsIgnoreCase("Network Layer")) { + testType = "network"; + } + if (validationTestType.getValidationType().equalsIgnoreCase("Protocol Layer")) { + testType = "protocol"; + } + for (VnfList vnfList : vnf) { + input.setIpaddress(vnfList.getIpAddress()); + input.setHostname(vnfList.getHostName()); + vnfRequestParams.setInput(input); + certificationClientservice.restClient(vnfRequestParams, preTestNew, testType); + } + } + resOutput.setPreTestResponse(preTestNew); + return resOutput; + } + + @Override + public void testSaveResults(PreTestResponse preTest,ODLClientResponse output) { + boolean flag=false; + long devId = 0; + + String timeStamp = new SimpleDateFormat("yyyy-MM-dd").format(Calendar.getInstance().getTime()); + try { + DeviceConfig devicename = deviceRepository.findDeviceName(preTest.getIpaddress()); + devId = devicename.getId(); + } catch (Exception e) { + flag=true; + } + if(flag) { + deviceRepository.logDeviceName(preTest.getIpaddress(), timeStamp); + }else + { + DeviceConfig devicename = deviceRepository.findDeviceName(preTest.getIpaddress()); + devId = devicename.getId(); + } + Gson gson = new Gson(); + String testName= preTest.getTesttype(); + String result = preTest.getStatus(); + String execuationDetails = gson.toJson(output); + + preTestRepo.logPreTestReport(testName, result, execuationDetails, timeStamp, devId); + } + +} |