diff options
Diffstat (limited to 'src/test/java')
-rw-r--r-- | src/test/java/org/onap/clamp/clds/it/HttpsItCase.java | 53 |
1 files changed, 37 insertions, 16 deletions
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 dc3a31f14..0da267ded 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<String> 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<String> 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<String> 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); } |