/*- * ============LICENSE_START======================================================= * ONAP - SO * ================================================================================ * 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. * 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.onap.so.client.dmaapproperties; import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; import static com.github.tomakehurst.wiremock.client.WireMock.post; import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo; import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertThat; import java.io.File; import java.io.IOException; import org.apache.http.HttpStatus; import org.junit.Test; import org.onap.so.client.avpn.dmaap.beans.AVPNDmaapBean; import org.onap.so.client.exception.MapperException; import org.onap.so.BaseTest; import org.springframework.beans.factory.annotation.Autowired; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import static com.github.tomakehurst.wiremock.client.WireMock.*; public class DmaapPropertiesClientTest extends BaseTest{ @Autowired private DmaapPropertiesClient dmaapPropertiesClient; private final String file = "src/test/resources/org/onap/so/client/avpn/dmaap/avpnDmaapAsyncRequestStatus.json"; private String requestId = "rq1234d1-5a33-55df-13ab-12abad84e331"; private String clientSource = "SPP"; private String correlator = "myClientId123"; private String serviceInstanceId = "bc305d54-75b4-431b-adb2-eb6b9e546014"; private String startTime = "2017-11-17T09:30:47Z"; private String finishTime = "2017-11-17T09:30:47Z"; private String requestScope = "service"; private String requestType = "createInstance"; private String timestamp = "2017-11-17T09:30:47Z"; private String requestState = "COMPLETE"; private String statusMessage = "Success"; private String percentProgress = "100"; @Test public void testBuildRequestJson() throws MapperException, IOException { AVPNDmaapBean actualBean = dmaapPropertiesClient.buildRequestJson(requestId, clientSource, correlator, serviceInstanceId, startTime, finishTime, requestScope, requestType, timestamp, requestState, statusMessage, percentProgress, true); AVPNDmaapBean expected = new ObjectMapper().readValue(new File(file), AVPNDmaapBean.class); assertNotNull(actualBean); assertThat(actualBean, sameBeanAs(expected)); } @Test public void testDmaapPublishRequest() throws JsonProcessingException, MapperException { stubFor(post(urlEqualTo("/events/com.att.mso.asyncStatusUpdate?timeout=20000")) .willReturn(aResponse().withHeader("Content-Type", "application/json").withStatus(HttpStatus.SC_ACCEPTED))); dmaapPropertiesClient.dmaapPublishRequest(requestId, clientSource, correlator, serviceInstanceId, startTime, finishTime, requestScope, requestType, timestamp, requestState, statusMessage, percentProgress, false); } }