From 250db09d1ed3475ea7a03cbd21b244b523a64814 Mon Sep 17 00:00:00 2001 From: Tomasz Gwozdecki Date: Mon, 16 Apr 2018 08:22:40 -0400 Subject: ChefAdapterImpl junits -Added junit tests for fetchResults method -Support for Michal Kabaj as part of APPC-437 Change-Id: I3219a5ec0ffd530338ce364f608a9706d5a92c03 Issue-ID: APPC-858 Signed-off-by: Tomasz Gwozdecki --- .../impl/ChefAdapterImplVNFCOperationsTest.java | 54 ++++++++++++++++++++-- 1 file changed, 51 insertions(+), 3 deletions(-) (limited to 'appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test') diff --git a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test/java/org/onap/appc/adapter/chef/impl/ChefAdapterImplVNFCOperationsTest.java b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test/java/org/onap/appc/adapter/chef/impl/ChefAdapterImplVNFCOperationsTest.java index dadcca56a..7f9c505ff 100644 --- a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test/java/org/onap/appc/adapter/chef/impl/ChefAdapterImplVNFCOperationsTest.java +++ b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test/java/org/onap/appc/adapter/chef/impl/ChefAdapterImplVNFCOperationsTest.java @@ -373,9 +373,9 @@ public class ChefAdapterImplVNFCOperationsTest { immutableEntry("NodeList", "[\"test1.vnf_b.onap.com\", \"test2.vnf_b.onap.com\"]")); String expectedErrorMessage = "Error posting request: " - + CHEF_ADAPTER_ERROR_PREFIX - + "Cannot find the private key in the APPC file system, please load the private key to " - + CLIENT_PRIVATE_KEY_PATH; + + CHEF_ADAPTER_ERROR_PREFIX + + "Cannot find the private key in the APPC file system, please load the private key to " + + CLIENT_PRIVATE_KEY_PATH; given(privateKeyChecker.doesExist(CLIENT_PRIVATE_KEY_PATH)).willReturn(false); // WHEN // THEN @@ -390,6 +390,54 @@ public class ChefAdapterImplVNFCOperationsTest { .isEqualTo(expectedErrorMessage); } + @Test + public void fetchResults_shouldUpdateSvcLogicContextWithJsonResponse_fromSuccessfulChefServerCall() + throws SvcLogicException { + // GIVEN + String json = "{normal:{PushJobOutput : \"ssh start/running, process 1090\"}}"; + Map params = givenInputParams( + immutableEntry("NodeList", "[\"test1.vnf_b.onap.com\"]")); + given(privateKeyChecker.doesExist(CLIENT_PRIVATE_KEY_PATH)).willReturn(true); + given(chefApiClientFactory.create(CHEF_END_POINT, ORGANIZATIONS, USERNAME, + CLIENT_PRIVATE_KEY_PATH)).willReturn(chefApiClient); + given(chefApiClient.get("/nodes/" + "test1.vnf_b.onap.com")) + .willReturn(ChefResponse.create(HttpStatus.SC_OK, json)); + + // WHEN + chefAdapterFactory.create().fetchResults(params, svcLogicContext); + + // THEN + assertThat(svcLogicContext.getStatus()).isEqualTo(SUCCESS_STATUS); + assertThat(svcLogicContext.getAttribute(RESULT_CODE_ATTR_KEY)) + .isEqualTo(Integer.toString(HttpStatus.SC_OK)); + assertThat(svcLogicContext.getAttribute(RESULT_MESSAGE_ATTR_KEY)) + .isEqualTo("{\"test1.vnf_b.onap.com\":{\"PushJobOutput\":\"ssh start/running, process 1090\"}}"); + } + + @Test + public void fetchResults_shouldUpdateSvcLogicContextWithFailedMessage_whenReturnedJSONMessageIsMissingAttribute() + throws SvcLogicException { + // GIVEN + String json = "{normal:{invalidKey : \"ssh start/running, process 1090\"}}"; + Map params = givenInputParams( + immutableEntry("NodeList", "[\"test1.vnf_b.onap.com\"]")); + given(privateKeyChecker.doesExist(CLIENT_PRIVATE_KEY_PATH)).willReturn(true); + given(chefApiClientFactory.create(CHEF_END_POINT, ORGANIZATIONS, USERNAME, + CLIENT_PRIVATE_KEY_PATH)).willReturn(chefApiClient); + given(chefApiClient.get("/nodes/" + "test1.vnf_b.onap.com")) + .willReturn(ChefResponse.create(HttpStatus.SC_OK, json)); + + // WHEN + chefAdapterFactory.create().fetchResults(params, svcLogicContext); + + // THEN + assertThat(svcLogicContext.getStatus()).isEqualTo(SUCCESS_STATUS); + assertThat(svcLogicContext.getAttribute(RESULT_CODE_ATTR_KEY)) + .isEqualTo(Integer.toString(HttpStatus.SC_INTERNAL_SERVER_ERROR)); + assertThat(svcLogicContext.getAttribute(RESULT_MESSAGE_ATTR_KEY)) + .isEqualTo("Cannot find PushJobOutput"); + } + private Map givenInputParams(Entry... entries) { Builder paramsBuilder = ImmutableMap.builder(); paramsBuilder.put("username", USERNAME) -- cgit 1.2.3-korg