2 * ============LICENSE_START=======================================================
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
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.entities.uri;
23 import static org.junit.Assert.assertEquals;
24 import static org.junit.Assert.assertNotEquals;
25 import java.io.ByteArrayInputStream;
26 import java.io.ByteArrayOutputStream;
27 import java.io.IOException;
28 import java.io.ObjectInputStream;
29 import java.io.ObjectOutputStream;
31 import org.junit.Test;
32 import org.onap.aaiclient.client.generated.fluentbuilders.AAIFluentTypeBuilder;
33 import org.onap.aaiclient.client.generated.fluentbuilders.AAIFluentTypeBuilder.Types;
34 import org.onap.aaiclient.client.graphinventory.entities.uri.Depth;
36 public class AAISimpleUriTest {
41 public void relatedToTestPlural() {
42 AAIPluralResourceUri uri = AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.network().genericVnf("test1"))
43 .relatedTo(Types.PSERVERS.getFragment());
44 String uriOutput = uri.build().toString();
46 String expected = "/network/generic-vnfs/generic-vnf/test1/related-to/pservers";
47 assertEquals(expected, uriOutput);
49 uri = AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.network().genericVnf("test1"))
50 .relatedTo(Types.PSERVERS.getFragment());
51 uriOutput = uri.build().toString();
52 assertEquals(expected, uriOutput);
56 public void relatedToTestSingular() {
57 AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.network().genericVnf("test1"))
58 .relatedTo(Types.PSERVER.getFragment("test2"));
59 String uriOutput = uri.build().toString();
61 String expected = "/network/generic-vnfs/generic-vnf/test1/related-to/pservers/pserver/test2";
62 assertEquals(expected, uriOutput);
64 uri = AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.network().genericVnf("test1"))
65 .relatedTo(Types.PSERVER.getFragment("test2"));
67 uriOutput = uri.build().toString();
69 assertEquals(expected, uriOutput);
74 public void cloneTestSingular() {
75 AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.network().genericVnf("test1"));
76 AAIResourceUri cloned = uri.clone();
77 assertEquals("/network/generic-vnfs/generic-vnf/test1", cloned.build().toString());
81 assertNotEquals(uri.build().toString(), cloned.build().toString());
85 public void cloneTestPlural() {
86 AAISimplePluralUri uri = AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.network().genericVnfs());
87 AAISimplePluralUri cloned = uri.clone();
88 assertEquals("/network/generic-vnfs", cloned.build().toString());
92 public void cloneTestWithRelatedTo() {
93 AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.network().genericVnf("test1"))
94 .relatedTo(Types.PSERVER.getFragment("test2"));
95 String uriOutput = uri.clone().build().toString();
96 assertEquals("/network/generic-vnfs/generic-vnf/test1/related-to/pservers/pserver/test2", uriOutput);
100 public void cloneTestPluralWithRelatedTo() {
101 AAIPluralResourceUri uri = AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.network().genericVnf("test1"))
102 .relatedTo(Types.PSERVERS.getFragment());
103 String uriOutput = uri.clone().build().toString();
104 assertEquals("/network/generic-vnfs/generic-vnf/test1/related-to/pservers", uriOutput);
108 public void getKeysTest() {
109 AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.cloudInfrastructure()
110 .cloudRegion("cloud1", "cloud2").tenant("tenant1").vserver("vserver1"));
111 Map<String, String> keys = uri.getURIKeys();
112 System.out.println(keys);
113 System.out.println(uri.build());
114 assertEquals("vserver1", keys.get("vserver-id"));
118 public void getEncodedKeyTest() {
119 AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.business().customer("test1")
120 .serviceSubscription("my value").serviceInstance("test3"));
121 Map<String, String> keys = uri.getURIKeys();
123 assertEquals("my value", keys.get("service-type"));
127 public void serializeTest() throws IOException, ClassNotFoundException {
128 AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.network().genericVnf("test1"));
130 uri.depth(Depth.ONE);
132 ByteArrayOutputStream bos = new ByteArrayOutputStream();
134 ObjectOutputStream objectOutputStream = new ObjectOutputStream(bos);
135 objectOutputStream.writeObject(uri);
136 objectOutputStream.flush();
137 objectOutputStream.close();
139 ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
141 ObjectInputStream objectInputStream = new ObjectInputStream(bis);
142 AAIResourceUri e2 = (AAIResourceUri) objectInputStream.readObject();
143 objectInputStream.close();
145 uri.queryParam("test", "value");
146 e2.queryParam("test", "value");
148 assertEquals(e2.build().toString(), uri.build().toString());
152 public void fluentBuilderTest() {
153 AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.cloudInfrastructure()
154 .cloudRegion("cloud1", "cloud-id").tenant("tenant-id").vserver("vserver-id"));
157 "/cloud-infrastructure/cloud-regions/cloud-region/cloud1/cloud-id/tenants/tenant/tenant-id/vservers/vserver/vserver-id",
158 uri.build().toString());