From f744247f2b725152d4959eb6fe4cb59d9d7223d7 Mon Sep 17 00:00:00 2001 From: "Determe, Sebastien (sd378r)" Date: Fri, 3 Aug 2018 15:52:19 +0200 Subject: Restore Swagger Restore swagger generation at runtime, + Clamp versioning rework + log level set differently Issue-ID: CLAMP-169 Change-Id: Ibf9eedb7028dedc610b36546f57ee5b3095cd20d Signed-off-by: Determe, Sebastien (sd378r) --- .../java/org/onap/clamp/clds/it/HttpsItCase.java | 53 +++++++++++++++------- src/test/resources/application.properties | 8 ++-- src/test/resources/https/https-test.properties | 18 +++++++- 3 files changed, 58 insertions(+), 21 deletions(-) (limited to 'src/test') diff --git a/src/test/java/org/onap/clamp/clds/it/HttpsItCase.java b/src/test/java/org/onap/clamp/clds/it/HttpsItCase.java index dc3a31f1..0da267de 100644 --- a/src/test/java/org/onap/clamp/clds/it/HttpsItCase.java +++ b/src/test/java/org/onap/clamp/clds/it/HttpsItCase.java @@ -2,31 +2,33 @@ * ============LICENSE_START======================================================= * ONAP CLAMP * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights + * Copyright (C) 2017-2018 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. + * 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 + * + * 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 org.onap.clamp.clds.it; import static org.assertj.core.api.Assertions.assertThat; +import java.io.File; import java.io.IOException; import java.net.HttpURLConnection; +import java.nio.charset.Charset; import javax.net.ssl.HostnameVerifier; import javax.net.ssl.HttpsURLConnection; @@ -35,6 +37,7 @@ import javax.net.ssl.SSLSession; import javax.net.ssl.TrustManager; import javax.net.ssl.X509TrustManager; +import org.apache.commons.io.FileUtils; import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; @@ -73,12 +76,12 @@ public class HttpsItCase { @Override public void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType) - throws java.security.cert.CertificateException { + throws java.security.cert.CertificateException { } @Override public void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType) - throws java.security.cert.CertificateException { + throws java.security.cert.CertificateException { } @Override @@ -87,7 +90,7 @@ public class HttpsItCase { } }; ctx.init(null, new TrustManager[] { - tm + tm }, null); SSLContext.setDefault(ctx); } catch (Exception ex) { @@ -107,14 +110,32 @@ public class HttpsItCase { }); template.setRequestFactory(factory); ResponseEntity entity = template - .getForEntity("http://localhost:" + this.httpPort + "/designer/index.html", String.class); + .getForEntity("http://localhost:" + this.httpPort + "/designer/index.html", String.class); assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.FOUND); ResponseEntity httpsEntity = template - .getForEntity("https://localhost:" + this.httpsPort + "/designer/index.html", String.class); + .getForEntity("https://localhost:" + this.httpsPort + "/designer/index.html", String.class); assertThat(httpsEntity.getStatusCode()).isEqualTo(HttpStatus.OK); assertThat(httpsEntity.getBody()).contains("CLDS"); } + @Test + public void testSwaggerJson() throws Exception { + RestTemplate template = new RestTemplate(); + final MySimpleClientHttpRequestFactory factory = new MySimpleClientHttpRequestFactory(new HostnameVerifier() { + + @Override + public boolean verify(final String hostname, final SSLSession session) { + return true; + } + }); + template.setRequestFactory(factory); + ResponseEntity httpsEntity = template + .getForEntity("https://localhost:" + this.httpsPort + "/restservices/clds/v1/api-doc", String.class); + assertThat(httpsEntity.getStatusCode()).isEqualTo(HttpStatus.OK); + assertThat(httpsEntity.getBody()).contains("swagger"); + FileUtils.writeStringToFile(new File("docs/swagger/swagger.json"), httpsEntity.getBody(),Charset.defaultCharset()); + } + /** * Http Request Factory for ignoring SSL hostname errors. Not for production * use! @@ -129,7 +150,7 @@ public class HttpsItCase { @Override protected void prepareConnection(final HttpURLConnection connection, final String httpMethod) - throws IOException { + throws IOException { if (connection instanceof HttpsURLConnection) { ((HttpsURLConnection) connection).setHostnameVerifier(this.verifier); } diff --git a/src/test/resources/application.properties b/src/test/resources/application.properties index 7d6ba511..d9d0f0ee 100644 --- a/src/test/resources/application.properties +++ b/src/test/resources/application.properties @@ -60,7 +60,7 @@ server.port=8080 ### server.ssl.key-password=mypass ### server.http-to-https-redirection.port=8090 <-- The HTTP port -server.contextPath=/ +server.servlet.context-path=/ #Modified engine-rest applicationpath spring.profiles.active=clamp-default,clamp-spring-authentication,clamp-sdc-controller @@ -76,14 +76,16 @@ server.context_parameters.p-name=value #context parameter with p-name as key and camel.springboot.consumer-template-cache-size=1000 camel.springboot.producer-template-cache-size=1000 -camel.springboot.jmx-enabled=false +# JMX enabled to have Camel Swagger runtime working +camel.springboot.jmx-enabled=true camel.defaultthreadpool.poolsize=10 camel.defaultthreadpool.maxpoolsize=20 camel.defaultthreadpool.maxqueuesize=1000 camel.defaultthreadpool.keepaliveTime=60 camel.defaultthreadpool.rejectpolicy=CallerRuns #camel.springboot.xmlRoutes = false -camel.springboot.xmlRoutes=classpath:/clds/camel/*.xml +camel.springboot.xmlRoutes=classpath:/clds/camel/routes/*.xml +camel.springboot.xmlRests=classpath:/clds/camel/rest/*.xml #camel.springboot.typeConversion = false #clds datasource connection details diff --git a/src/test/resources/https/https-test.properties b/src/test/resources/https/https-test.properties index c503b531..853466e1 100644 --- a/src/test/resources/https/https-test.properties +++ b/src/test/resources/https/https-test.properties @@ -55,9 +55,9 @@ server.http-to-https-redirection.port=10080 ### server.ssl.key-password=mypass ### server.http-to-https-redirection.port=8090 <-- The HTTP port -server.contextPath=/ +server.servlet.context-path=/ #Modified engine-rest applicationpath -spring.profiles.active=clamp-default,clamp-spring-authentication +spring.profiles.active=clamp-default,clamp-default-user #clds datasource connection details spring.datasource.cldsdb.driverClassName=org.mariadb.jdbc.Driver @@ -73,3 +73,17 @@ spring.datasource.cldsdb.initialSize=0 # Automatically test whether a connection provided is good or not spring.datasource.cldsdb.testOnBorrow=true spring.datasource.cldsdb.ignoreExceptionOnPreLoad=true + +camel.springboot.consumer-template-cache-size=1000 +camel.springboot.producer-template-cache-size=1000 +# JMX enabled to have Camel Swagger runtime working +camel.springboot.jmx-enabled=true +camel.defaultthreadpool.poolsize=10 +camel.defaultthreadpool.maxpoolsize=20 +camel.defaultthreadpool.maxqueuesize=1000 +camel.defaultthreadpool.keepaliveTime=60 +camel.defaultthreadpool.rejectpolicy=CallerRuns +#camel.springboot.xmlRoutes = false +camel.springboot.xmlRoutes=classpath:/clds/camel/routes/*.xml +camel.springboot.xmlRests=classpath:/clds/camel/rest/*.xml +#camel.springboot.typeConversion = false -- cgit 1.2.3-korg