699eac97684d28fcf43fda17be21ad359841aada
[so.git] /
1 package org.onap.aaiclient.client.aai.entities.uri;
2
3 import static org.junit.Assert.assertEquals;
4 import org.junit.Test;
5 import org.onap.aaiclient.client.aai.AAIObjectType;
6
7 public class AAIFluentTypeReverseLookupTest {
8
9
10     @Test
11     public void reverseParseEntryUri() {
12         String cloudRegion =
13                 "http://localhost:8888/aai/v38/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}";
14         String newvce = "/aai/v9/network/newvces/newvce/{vnf-id2}";
15
16         AAIFluentTypeReverseLookup lookup = new AAIFluentTypeReverseLookup();
17         AAIObjectType type = lookup.fromName("cloud-region", cloudRegion);
18
19         assertEquals("cloud-region", type.typeName());
20         assertEquals("/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}", type.partialUri());
21         assertEquals("/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}",
22                 type.uriTemplate());
23
24         type = lookup.fromName("newvce", newvce);
25
26         assertEquals("newvce", type.typeName());
27         assertEquals("/newvces/newvce/{vnf-id2}", type.partialUri());
28         assertEquals("/network/newvces/newvce/{vnf-id2}", type.uriTemplate());
29
30         type = lookup.fromName("unknown-type-of-something", "/some/endpoint");
31
32         assertEquals("unknown", type.typeName());
33
34     }
35
36     @Test
37     public void reverseParseTest() {
38
39         String pserverParent =
40                 "/aai/v9/cloud-infrastructure/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{l-interface.interface-name}";
41         String cloudRegionParent =
42                 "http://localhost:8888/aai/v38/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}";
43         String newVceParent = "/network/newvces/newvce/{vnf-id2}/l-interfaces/l-interface/{l-interface.interface-name}";
44
45
46         AAIFluentTypeReverseLookup lookup = new AAIFluentTypeReverseLookup();
47
48         AAIObjectType type = lookup.fromName("l-interface", pserverParent);
49
50         assertEquals("l-interface", type.typeName());
51         assertEquals("/l-interfaces/l-interface/{l-interface.interface-name}", type.partialUri());
52         assertEquals(
53                 "/cloud-infrastructure/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{l-interface.interface-name}",
54                 type.uriTemplate());
55
56         type = lookup.fromName("l-interface", cloudRegionParent);
57
58         assertEquals("l-interface", type.typeName());
59         assertEquals("/l-interfaces/l-interface/{l-interface.interface-name}", type.partialUri());
60         assertEquals(
61                 "/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{l-interface.interface-name}",
62                 type.uriTemplate());
63
64         type = lookup.fromName("l-interface", newVceParent);
65
66         assertEquals("l-interface", type.typeName());
67         assertEquals("/l-interfaces/l-interface/{l-interface.interface-name}", type.partialUri());
68         assertEquals("/network/newvces/newvce/{vnf-id2}/l-interfaces/l-interface/{l-interface.interface-name}",
69                 type.uriTemplate());
70
71
72
73     }
74 }