057b59b3ef6eff622c844b6223d3903cfb2fd0fb
[so.git] /
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
4  * ================================================================================
5  * Copyright (C) 2017 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.aaiclient.client.aai.entities.uri;
22
23 import static org.junit.jupiter.api.Assertions.assertEquals;
24 import org.junit.jupiter.api.Test;
25 import org.onap.aaiclient.client.aai.entities.uri.AAIPluralResourceUri;
26 import org.onap.aaiclient.client.aai.entities.uri.AAIResourceUri;
27 import org.onap.aaiclient.client.aai.entities.uri.AAISimpleUri;
28 import org.onap.aaiclient.client.aai.entities.uri.AAIUriFactory;
29 import org.onap.aaiclient.client.generated.fluentbuilders.AAIFluentTypeBuilder;
30 import org.onap.aaiclient.client.generated.fluentbuilders.AAIFluentTypeBuilder.Types;
31
32 public class AAIUriFactoryTest {
33
34     @Test
35     public void testCreateResourceUri() {
36
37         AAIResourceUri uri =
38                 AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.network().genericVnf("VIP(VelocitytoIP)"));
39
40         String expected = "/network/generic-vnfs/generic-vnf/VIP%28VelocitytoIP%29";
41         assertEquals(expected, uri.build().toString());
42     }
43
44     @Test
45     public void testCreateNodesUri() {
46
47         AAIResourceUri uri = AAIUriFactory.createNodesUri(Types.GENERIC_VNF.getFragment("VIP(VelocitytoIP)"));
48
49         String expected = "/nodes/generic-vnfs/generic-vnf/VIP%28VelocitytoIP%29";
50         assertEquals(expected, uri.build().toString());
51     }
52
53     @Test
54     public void testCreateResourceFromExistingURI() {
55
56         AAIResourceUri uri =
57                 new AAISimpleUri(AAIFluentTypeBuilder.network().genericVnf("").build(), "VIP(VelocitytoIP)");
58         AAIResourceUri uri2 = AAIUriFactory.createResourceFromExistingURI(Types.GENERIC_VNF, uri.build());
59
60         String expected = "/network/generic-vnfs/generic-vnf/VIP%28VelocitytoIP%29";
61         assertEquals(expected, uri2.build().toString());
62     }
63
64     @Test
65     public void testCreateResourceURIForPluralsWithValues() {
66
67         AAIPluralResourceUri uri = AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.business()
68                 .customer("customerId").serviceSubscription("serviceType").serviceInstances());
69
70         String expected =
71                 "/business/customers/customer/customerId/service-subscriptions/service-subscription/serviceType/service-instances";
72         assertEquals(expected, uri.build().toString());
73     }
74
75     @Test
76     public void testCreateResourceURIForPluralsWithNoValues() {
77
78         AAIPluralResourceUri uri = AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.business().customers());
79
80         String expected = "/business/customers";
81         assertEquals(expected, uri.build().toString());
82     }
83 }