Merge Casablanca
[so.git] / common / src / test / java / org / onap / so / client / aai / AAIObjectTypeTest.java
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.so.client.aai;
22
23 import static org.junit.Assert.assertEquals;
24
25 import org.junit.Test;
26 import org.onap.so.client.aai.entities.uri.AAIUri;
27 import org.onap.so.client.aai.entities.uri.AAIUriFactory;
28
29 public class AAIObjectTypeTest {
30
31         
32         @Test
33         public void fromTypeNameTest() throws IllegalArgumentException, IllegalAccessException, InstantiationException {
34                 AAIObjectType type = AAIObjectType.fromTypeName("allotted-resource");
35                 assertEquals("allotted-resource", type.typeName());
36                 
37         }
38         
39         @Test
40         public void customTypeTest() throws IllegalArgumentException, IllegalAccessException, InstantiationException {
41                 AAIObjectType type = AAIObjectType.fromTypeName("my-custom-name");
42                 assertEquals("my-custom-name", type.typeName());
43
44         }
45         @Test
46         public void verifyDefaultCase() {
47                 assertEquals("default removed for tenant", "tenant", AAIObjectType.DEFAULT_TENANT.typeName());
48                 assertEquals("default removed for cloud-region", "cloud-region", AAIObjectType.DEFAULT_CLOUD_REGION.typeName());
49         }
50         
51         @Test
52         public void verifyRegularCase() {
53                 assertEquals("default removed for tenant", "allotted-resource", AAIObjectType.ALLOTTED_RESOURCE.typeName());
54         }
55         
56         @Test
57         public void instanceGroupObjectTypeTest() {
58                 final String id = "test1";
59                 AAIUri aaiUri = AAIUriFactory.createResourceUri(AAIObjectType.INSTANCE_GROUP, id);
60                 assertEquals("/network/instance-groups/instance-group/test1", aaiUri.build().toString());
61         }
62         
63         @Test
64         public void collectionObjectTypeTest() {
65                 final String id = "test1";
66                 AAIUri aaiUri = AAIUriFactory.createResourceUri(AAIObjectType.COLLECTION, id);
67                 assertEquals("/network/collections/collection/test1", aaiUri.build().toString());
68         }
69         
70         @Test
71         public void genericVnfTest() {
72                 AAIObjectType type = AAIObjectType.GENERIC_VNF;
73                 assertEquals("/network/generic-vnfs/generic-vnf/{vnf-id}", type.uriTemplate());
74                 assertEquals("/generic-vnfs/generic-vnf/{vnf-id}", type.partialUri());
75         }
76         
77         @Test
78         public void pInterfaceTest() {
79                 AAIObjectType type = AAIObjectType.P_INTERFACE;
80                 assertEquals("/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}", type.uriTemplate());
81                 assertEquals("/p-interfaces/p-interface/{interface-name}", type.partialUri());
82         }
83 }