aai-common support for v20
[aai/aai-common.git] / aai-core / src / test / java / org / onap / aai / serialization / queryformats / utils / UrlBuilderTest.java
1 /**
2  * ============LICENSE_START=======================================================
3  * org.onap.aai
4  * ================================================================================
5  * Copyright © 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
10  *
11  *    http://www.apache.org/licenses/LICENSE-2.0
12  *
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=========================================================
19  */
20
21 package org.onap.aai.serialization.queryformats.utils;
22
23 import static org.junit.Assert.assertEquals;
24 import static org.mockito.Matchers.any;
25 import static org.mockito.Mockito.when;
26
27 import java.io.UnsupportedEncodingException;
28 import java.net.URI;
29 import java.net.URISyntaxException;
30
31 import org.apache.tinkerpop.gremlin.structure.Vertex;
32 import org.junit.Before;
33 import org.junit.Test;
34 import org.mockito.Mock;
35 import org.mockito.MockitoAnnotations;
36 import org.onap.aai.AAISetup;
37 import org.onap.aai.exceptions.AAIException;
38 import org.onap.aai.serialization.db.DBSerializer;
39 import org.onap.aai.serialization.queryformats.exceptions.AAIFormatVertexException;
40 import org.onap.aai.setup.SchemaVersion;
41 import org.onap.aai.util.AAIConstants;
42
43 public class UrlBuilderTest extends AAISetup {
44
45     @Mock
46     private DBSerializer serializer;
47     @Mock
48     private Vertex v;
49
50     private static final String uri = "/test/uri";
51     private static final Object vId = new Long(123);
52     private static final String protocolAndHost = "http://localhost/aai/";
53
54     @Before
55     public void before() throws UnsupportedEncodingException, URISyntaxException {
56         MockitoAnnotations.initMocks(this);
57         when(serializer.getURIForVertex(any(Vertex.class))).thenReturn(new URI(uri));
58         when(v.id()).thenReturn(vId);
59     }
60
61     @Test
62     public void v11Pathed() throws AAIFormatVertexException, AAIException {
63         SchemaVersion version = new SchemaVersion("v11");
64         UrlBuilder builder = new UrlBuilder(version, serializer, protocolAndHost, schemaVersions, basePath);
65         String result = builder.pathed(v);
66
67         assertEquals("has no protocol and host", basePath + "/" + version + uri, result);
68
69     }
70
71     @Test
72     public void v11Id() throws AAIException {
73         SchemaVersion version = new SchemaVersion("v11");
74         UrlBuilder builder = new UrlBuilder(version, serializer, protocolAndHost, schemaVersions, basePath);
75         String result = builder.id(v);
76
77         assertEquals("has no protocol and host", basePath + "/" + version + "/resources/id/" + vId, result);
78
79     }
80
81     @Test
82     public void beforeV11Pathed() throws AAIFormatVertexException, AAIException {
83         SchemaVersion version = new SchemaVersion("v10");
84         UrlBuilder builder = new UrlBuilder(version, serializer, protocolAndHost, schemaVersions, basePath);
85         String result = builder.pathed(v);
86
87         assertEquals("has protocol and host", protocolAndHost + version + uri, result);
88
89     }
90
91     @Test
92     public void beforeV11Id() throws AAIException {
93         SchemaVersion version = new SchemaVersion("v10");
94         UrlBuilder builder = new UrlBuilder(version, serializer, protocolAndHost, schemaVersions, basePath);
95         String result = builder.id(v);
96
97         assertEquals("has protocol and host", protocolAndHost + version + "/resources/id/" + vId, result);
98
99     }
100
101 }