2  * ============LICENSE_START=======================================================
 
   4  * ================================================================================
 
   5  * Copyright (C) 2017 - 2018 AT&T Intellectual Property. All rights reserved.
 
   6  * ================================================================================
 
   7  * Licensed under the Apache License, Version 2.0 (the "License");
 
   8  * you may not use this file except in compliance with the License.
 
   9  * You may obtain a copy of the License at
 
  11  *      http://www.apache.org/licenses/LICENSE-2.0
 
  13  * Unless required by applicable law or agreed to in writing, software
 
  14  * distributed under the License is distributed on an "AS IS" BASIS,
 
  15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
  16  * See the License for the specific language governing permissions and
 
  17  * limitations under the License.
 
  18  * ============LICENSE_END=========================================================
 
  21 package org.onap.aaiclient.client.aai;
 
  23 import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
 
  24 import static com.github.tomakehurst.wiremock.client.WireMock.get;
 
  25 import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching;
 
  26 import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.wireMockConfig;
 
  27 import static org.hamcrest.CoreMatchers.equalTo;
 
  28 import static org.junit.Assert.assertThat;
 
  29 import static org.mockito.Mockito.doReturn;
 
  30 import static org.mockito.Mockito.spy;
 
  31 import java.util.List;
 
  32 import java.util.Optional;
 
  33 import javax.ws.rs.core.GenericType;
 
  34 import javax.ws.rs.core.Response;
 
  35 import javax.ws.rs.core.Response.Status;
 
  36 import org.junit.Before;
 
  37 import org.junit.Rule;
 
  38 import org.junit.Test;
 
  39 import org.junit.rules.ExpectedException;
 
  40 import org.junit.runner.RunWith;
 
  41 import org.mockito.InjectMocks;
 
  42 import org.mockito.Spy;
 
  43 import org.mockito.junit.MockitoJUnitRunner;
 
  44 import org.onap.aaiclient.client.aai.entities.AAIResultWrapper;
 
  45 import org.onap.aaiclient.client.aai.entities.uri.AAIClientUriFactory;
 
  46 import org.onap.aaiclient.client.aai.entities.uri.ServiceInstanceUri;
 
  47 import org.onap.aaiclient.client.defaultproperties.DefaultAAIPropertiesImpl;
 
  48 import org.onap.aaiclient.client.generated.fluentbuilders.AAIFluentTypeBuilder.Types;
 
  49 import com.github.tomakehurst.wiremock.junit.WireMockRule;
 
  51 @RunWith(MockitoJUnitRunner.class)
 
  52 public class AAIResourcesClientWithServiceInstanceUriTest {
 
  55     public WireMockRule wireMockRule = new WireMockRule(wireMockConfig().dynamicPort());
 
  58     public ExpectedException thrown = ExpectedException.none();
 
  61     public AAIClient client;
 
  64     public AAIResourcesClient aaiClient = new AAIResourcesClient();
 
  66     private ServiceInstanceUri uri;
 
  70         doReturn(new DefaultAAIPropertiesImpl(wireMockRule.port())).when(client).getRestProperties();
 
  71         wireMockRule.stubFor(get(urlMatching("/aai/v[0-9]+/nodes.*")).willReturn(
 
  72                 aResponse().withStatus(404).withHeader("Content-Type", "application/json").withHeader("Mock", "true")));
 
  74         uri = spy((ServiceInstanceUri) AAIClientUriFactory.createResourceUri(Types.SERVICE_INSTANCE.getFragment("id")));
 
  75         doReturn(aaiClient).when(uri).getResourcesClient();
 
  79     public void getWithClass() {
 
  80         AAIResourcesClient client = aaiClient;
 
  81         Optional<String> result = client.get(String.class, uri);
 
  83         assertThat(result.isPresent(), equalTo(false));
 
  87     public void getFullResponse() {
 
  88         AAIResourcesClient client = aaiClient;
 
  89         Response result = client.getFullResponse(uri);
 
  90         assertThat(result.getStatus(), equalTo(Status.NOT_FOUND.getStatusCode()));
 
  94     public void getWithGenericType() {
 
  95         AAIResourcesClient client = aaiClient;
 
  96         Optional<List<String>> result = client.get(new GenericType<List<String>>() {}, uri);
 
  97         assertThat(result.isPresent(), equalTo(false));
 
 101     public void getAAIWrapper() {
 
 102         AAIResourcesClient client = aaiClient;
 
 103         AAIResultWrapper result = client.get(uri);
 
 104         assertThat(result.isEmpty(), equalTo(true));
 
 108     public void getWithException() {
 
 109         AAIResourcesClient client = aaiClient;
 
 110         this.thrown.expect(IllegalArgumentException.class);
 
 111         AAIResultWrapper result = client.get(uri, IllegalArgumentException.class);
 
 115     public void existsTest() {
 
 116         AAIResourcesClient client = aaiClient;
 
 117         doReturn(uri).when(uri).clone();
 
 118         boolean result = client.exists(uri);
 
 119         assertThat(result, equalTo(false));