From b1e5734ef566af5d49ba17d05ca0ab7b56d6666d Mon Sep 17 00:00:00 2001 From: "Determe, Sebastien (sd378r)" Date: Tue, 9 May 2017 03:55:30 -0700 Subject: [MSO-8] Additional fixes for the second rebase DB fixes + BPMN flows and groovy fixes + Fix issue with CloudConfig file not reloaded properly when it's wrong (JSON error or model hierarchy mistake) at MSO startup Change-Id: I2853030b78499e2a761706b643ea210955e72de3 Signed-off-by: Determe, Sebastien (sd378r) [MSO-8] Restore files removed in patch set 2 Those groovy files must be there Change-Id: I9a47ac3d9c8fc06774a1b8f518491b1b0b00af04 Signed-off-by: Determe, Sebastien (sd378r) --- .../java/org/openecomp/mso/rest/APIResponse.java | 27 +++--- .../java/org/openecomp/mso/rest/HttpHeader.java | 65 ++++++++++++++ .../org/openecomp/mso/rest/APIResponseESTest.java | 11 ++- .../org/openecomp/mso/rest/HttpHeaderESTest.java | 99 ++++++++++++++++++++++ .../mso/rest/HttpHeaderESTestscaffolding.java | 98 +++++++++++++++++++++ 5 files changed, 280 insertions(+), 20 deletions(-) create mode 100644 bpmn/MSORESTClient/src/main/java/org/openecomp/mso/rest/HttpHeader.java create mode 100644 bpmn/MSORESTClient/src/test/java/org/openecomp/mso/rest/HttpHeaderESTest.java create mode 100644 bpmn/MSORESTClient/src/test/java/org/openecomp/mso/rest/HttpHeaderESTestscaffolding.java (limited to 'bpmn/MSORESTClient') diff --git a/bpmn/MSORESTClient/src/main/java/org/openecomp/mso/rest/APIResponse.java b/bpmn/MSORESTClient/src/main/java/org/openecomp/mso/rest/APIResponse.java index e4eee6d695..ea9ca62bf5 100644 --- a/bpmn/MSORESTClient/src/main/java/org/openecomp/mso/rest/APIResponse.java +++ b/bpmn/MSORESTClient/src/main/java/org/openecomp/mso/rest/APIResponse.java @@ -7,9 +7,9 @@ * 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. @@ -25,19 +25,18 @@ import java.util.Arrays; import org.apache.http.Header; import org.apache.http.HttpResponse; -import org.apache.http.message.BasicHeader; import org.apache.http.util.EntityUtils; /** * An immutable class that encapsulates an API response. - * + * * @version 1.0 * @since 1.0 */ public class APIResponse { private final int statusCode; private final byte[] responseBody; - private final BasicHeader[] headers; + private final HttpHeader[] headers; /** * Internal method used to create http headers using the specified @@ -46,17 +45,17 @@ public class APIResponse { * @param httpResponse used to create headers * @return http headers */ - private static BasicHeader[] buildHeaders(final HttpResponse httpResponse) { + private static HttpHeader[] buildHeaders(final HttpResponse httpResponse) { final Header[] headers = httpResponse.getAllHeaders(); - BasicHeader[] httpHeaders = new BasicHeader[headers.length]; + HttpHeader[] httpHeaders = new HttpHeader[headers.length]; for (int i = 0; i < headers.length; ++i) { final Header header = headers[i]; final String name = header.getName(); - final String value = header.getValue(); - final BasicHeader httpHeader = new BasicHeader(name, value); + final String value = header.getValue(); + final HttpHeader httpHeader = new HttpHeader(name, value); httpHeaders[i] = httpHeader; - } + } return httpHeaders; } @@ -90,7 +89,7 @@ public class APIResponse { /** * Gets the http status code returned by the api server. *

- * For example, status code 200 represents 'OK.' + * For example, status code 200 represents 'OK.' * * @return status code */ @@ -128,15 +127,15 @@ public class APIResponse { /** * Gets a list of all the headers returned by the API response. * - * @return an array of all the BasicHeaders + * @return an array of all the HttpHeaders */ - public BasicHeader[] getAllHeaders() { + public HttpHeader[] getAllHeaders() { // avoid exposing internals, create copy return Arrays.copyOf(this.headers, this.headers.length); } public String getFirstHeader(String name) { - for (BasicHeader header : headers) { + for (HttpHeader header : headers) { if (header.getName().equals(name)) { return header.getValue(); } diff --git a/bpmn/MSORESTClient/src/main/java/org/openecomp/mso/rest/HttpHeader.java b/bpmn/MSORESTClient/src/main/java/org/openecomp/mso/rest/HttpHeader.java new file mode 100644 index 0000000000..e0d6c3056d --- /dev/null +++ b/bpmn/MSORESTClient/src/main/java/org/openecomp/mso/rest/HttpHeader.java @@ -0,0 +1,65 @@ +/*- + * ============LICENSE_START======================================================= + * OPENECOMP - MSO + * ================================================================================ + * 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 org.openecomp.mso.rest; + +/** + * An immutable class used to wrap an http header. + * + * @version 1.0 + * @since 1.0 + */ +public class HttpHeader { + private final String name; + private final String value; + + /** + * Create an http header using the specified name and value + * + * @param name name of http header + * @param value value of http header + */ + public HttpHeader(final String name, final String value) { + if (name == null) { + throw new IllegalArgumentException("Name may not be null."); + } + + this.name = name; + this.value = value; + } + + /** + * Gets the header name. + * + * @return header name + */ + public String getName() { + return this.name; + } + + /** + * Gets the header value. + * + * @return header value + */ + public String getValue() { + return this.value; + } +} diff --git a/bpmn/MSORESTClient/src/test/java/org/openecomp/mso/rest/APIResponseESTest.java b/bpmn/MSORESTClient/src/test/java/org/openecomp/mso/rest/APIResponseESTest.java index 2bd4dbdca8..e44a44d118 100644 --- a/bpmn/MSORESTClient/src/test/java/org/openecomp/mso/rest/APIResponseESTest.java +++ b/bpmn/MSORESTClient/src/test/java/org/openecomp/mso/rest/APIResponseESTest.java @@ -39,7 +39,6 @@ import org.apache.http.StatusLine; import org.apache.http.entity.ByteArrayEntity; import org.apache.http.entity.StringEntity; import org.apache.http.impl.EnglishReasonPhraseCatalog; -import org.apache.http.message.BasicHeader; import org.apache.http.message.BasicHttpResponse; import org.apache.http.message.BasicStatusLine; import org.evosuite.runtime.EvoRunner; @@ -173,7 +172,7 @@ public class APIResponseESTest extends APIResponseESTestscaffolding { BasicHttpResponse basicHttpResponse0 = new BasicHttpResponse((ProtocolVersion) null, 0, ""); basicHttpResponse0.addHeader("", ""); APIResponse aPIResponse0 = new APIResponse((HttpResponse) basicHttpResponse0); - BasicHeader[] httpHeaderArray0 = aPIResponse0.getAllHeaders(); + HttpHeader[] httpHeaderArray0 = aPIResponse0.getAllHeaders(); assertNotNull(httpHeaderArray0); } @@ -181,7 +180,7 @@ public class APIResponseESTest extends APIResponseESTestscaffolding { public void test11() throws Throwable { BasicHttpResponse basicHttpResponse0 = new BasicHttpResponse((ProtocolVersion) null, 1471, "0fVXWr>"); APIResponse aPIResponse0 = new APIResponse((HttpResponse) basicHttpResponse0); - BasicHeader[] httpHeaderArray0 = aPIResponse0.getAllHeaders(); + HttpHeader[] httpHeaderArray0 = aPIResponse0.getAllHeaders(); assertNotNull(httpHeaderArray0); } @@ -212,11 +211,11 @@ public class APIResponseESTest extends APIResponseESTestscaffolding { aPIResponse0.getResponseBodyAsString(); basicHttpResponse0.getStatusLine(); aPIResponse0.getStatusCode(); - BasicHeader[] httpHeaderArray0 = new BasicHeader[2]; - BasicHeader httpHeader0 = mock(BasicHeader.class, new ViolatedAssumptionAnswer()); + HttpHeader[] httpHeaderArray0 = new HttpHeader[2]; + HttpHeader httpHeader0 = mock(HttpHeader.class, new ViolatedAssumptionAnswer()); doReturn((String) null).when(httpHeader0).getName(); httpHeaderArray0[0] = httpHeader0; - BasicHeader httpHeader1 = mock(BasicHeader.class, new ViolatedAssumptionAnswer()); + HttpHeader httpHeader1 = mock(HttpHeader.class, new ViolatedAssumptionAnswer()); httpHeaderArray0[1] = httpHeader1; PrivateAccess.setVariable((Class) APIResponse.class, aPIResponse0, "headers", (Object) httpHeaderArray0); // Undeclared exception! diff --git a/bpmn/MSORESTClient/src/test/java/org/openecomp/mso/rest/HttpHeaderESTest.java b/bpmn/MSORESTClient/src/test/java/org/openecomp/mso/rest/HttpHeaderESTest.java new file mode 100644 index 0000000000..f0aeee0f99 --- /dev/null +++ b/bpmn/MSORESTClient/src/test/java/org/openecomp/mso/rest/HttpHeaderESTest.java @@ -0,0 +1,99 @@ +/* + * This file was automatically generated by EvoSuite + * Mon Nov 14 11:47:07 GMT 2016 + */ + +/*- + * ============LICENSE_START======================================================= + * OPENECOMP - MSO + * ================================================================================ + * 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 org.openecomp.mso.rest; + +import org.junit.Test; +import static org.junit.Assert.*; +import static org.evosuite.runtime.EvoAssertions.*; + +import org.evosuite.runtime.EvoRunner; +import org.evosuite.runtime.EvoRunnerParameters; +import org.evosuite.runtime.PrivateAccess; +import org.junit.runner.RunWith; + +@RunWith(EvoRunner.class) @EvoRunnerParameters(mockJVMNonDeterminism = true, useVFS = true, useVNET = true, resetStaticState = true, useJEE = true) +public class HttpHeaderESTest extends HttpHeaderESTestscaffolding { + + @Test(timeout = 4000) + public void test0() throws Throwable { + HttpHeader httpHeader0 = new HttpHeader("Fw", "WD#>QF/v6_|_A"); + String string0 = httpHeader0.getValue(); + assertEquals("WD#>QF/v6_|_A", string0); + assertEquals("Fw", httpHeader0.getName()); + } + + @Test(timeout = 4000) + public void test1() throws Throwable { + HttpHeader httpHeader0 = new HttpHeader("", ""); + String string0 = httpHeader0.getValue(); + assertEquals("", string0); + } + + @Test(timeout = 4000) + public void test2() throws Throwable { + HttpHeader httpHeader0 = new HttpHeader("Nae may no be null.", "Nae may no be null."); + PrivateAccess.setVariable((Class) HttpHeader.class, httpHeader0, "name", (Object) null); + String string0 = httpHeader0.getName(); + assertNull(string0); + } + + @Test(timeout = 4000) + public void test3() throws Throwable { + HttpHeader httpHeader0 = new HttpHeader("", "EIqJp"); + String string0 = httpHeader0.getName(); + assertEquals("EIqJp", httpHeader0.getValue()); + assertEquals("", string0); + } + + @Test(timeout = 4000) + public void test4() throws Throwable { + HttpHeader httpHeader0 = null; + try { + httpHeader0 = new HttpHeader((String) null, (String) null); + fail("Expecting exception: IllegalArgumentException"); + + } catch(IllegalArgumentException e) { + // + // Name may not be null. + // + verifyException("org.openecomp.mso.rest.HttpHeader", e); + } + } + + @Test(timeout = 4000) + public void test5() throws Throwable { + HttpHeader httpHeader0 = new HttpHeader("Nae may no be null.", "Nae may no be null."); + String string0 = httpHeader0.getName(); + assertEquals("Nae may no be null.", string0); + } + + @Test(timeout = 4000) + public void test6() throws Throwable { + HttpHeader httpHeader0 = new HttpHeader("|SJ`pSz:BCB1o8~", (String) null); + String string0 = httpHeader0.getValue(); + assertNull(string0); + } +} diff --git a/bpmn/MSORESTClient/src/test/java/org/openecomp/mso/rest/HttpHeaderESTestscaffolding.java b/bpmn/MSORESTClient/src/test/java/org/openecomp/mso/rest/HttpHeaderESTestscaffolding.java new file mode 100644 index 0000000000..0438c1fba6 --- /dev/null +++ b/bpmn/MSORESTClient/src/test/java/org/openecomp/mso/rest/HttpHeaderESTestscaffolding.java @@ -0,0 +1,98 @@ +/** + * Scaffolding file used to store all the setups needed to run + * tests automatically generated by EvoSuite + * Mon Nov 14 11:47:07 GMT 2016 + */ + +/*- + * ============LICENSE_START======================================================= + * OPENECOMP - MSO + * ================================================================================ + * 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 org.openecomp.mso.rest; + +import org.evosuite.runtime.annotation.EvoSuiteClassExclude; +import org.junit.BeforeClass; +import org.junit.Before; +import org.junit.After; +import org.junit.AfterClass; +import org.evosuite.runtime.sandbox.Sandbox; + +@EvoSuiteClassExclude +public class HttpHeaderESTestscaffolding { + + @org.junit.Rule + public org.evosuite.runtime.vnet.NonFunctionalRequirementRule nfr = new org.evosuite.runtime.vnet.NonFunctionalRequirementRule(); + + private static final java.util.Properties defaultProperties = (java.util.Properties) java.lang.System.getProperties().clone(); + + private org.evosuite.runtime.thread.ThreadStopper threadStopper = new org.evosuite.runtime.thread.ThreadStopper (org.evosuite.runtime.thread.KillSwitchHandler.getInstance(), 3000); + + @BeforeClass + public static void initEvoSuiteFramework() { + org.evosuite.runtime.RuntimeSettings.className = "org.openecomp.mso.rest.HttpHeader"; + org.evosuite.runtime.GuiSupport.initialize(); + org.evosuite.runtime.RuntimeSettings.maxNumberOfThreads = 100; + org.evosuite.runtime.RuntimeSettings.maxNumberOfIterationsPerLoop = 10000; + org.evosuite.runtime.RuntimeSettings.mockSystemIn = true; + org.evosuite.runtime.RuntimeSettings.sandboxMode = org.evosuite.runtime.sandbox.Sandbox.SandboxMode.RECOMMENDED; + org.evosuite.runtime.sandbox.Sandbox.initializeSecurityManagerForSUT(); + org.evosuite.runtime.classhandling.JDKClassResetter.init(); + initializeClasses(); + org.evosuite.runtime.Runtime.getInstance().resetRuntime(); + } + + @AfterClass + public static void clearEvoSuiteFramework(){ + Sandbox.resetDefaultSecurityManager(); + java.lang.System.setProperties((java.util.Properties) defaultProperties.clone()); + } + + @Before + public void initTestCase(){ + threadStopper.storeCurrentThreads(); + threadStopper.startRecordingTime(); + org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().initHandler(); + org.evosuite.runtime.sandbox.Sandbox.goingToExecuteSUTCode(); + + org.evosuite.runtime.GuiSupport.setHeadless(); + org.evosuite.runtime.Runtime.getInstance().resetRuntime(); + org.evosuite.runtime.agent.InstrumentingAgent.activate(); + } + + @After + public void doneWithTestCase(){ + threadStopper.killAndJoinClientThreads(); + org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().safeExecuteAddedHooks(); + org.evosuite.runtime.classhandling.JDKClassResetter.reset(); + resetClasses(); + org.evosuite.runtime.sandbox.Sandbox.doneWithExecutingSUTCode(); + org.evosuite.runtime.agent.InstrumentingAgent.deactivate(); + org.evosuite.runtime.GuiSupport.restoreHeadlessMode(); + } + + + private static void initializeClasses() { + org.evosuite.runtime.classhandling.ClassStateSupport.initializeClasses(HttpHeaderESTestscaffolding.class.getClassLoader() , + "org.openecomp.mso.rest.HttpHeader" + ); + } + + private static void resetClasses() { + } +} -- cgit 1.2.3-korg