* limitations under the License.
* ============LICENSE_END=========================================================
*/
+
package org.onap.aai.parsers.uri;
+import static org.hamcrest.Matchers.hasProperty;
+import static org.hamcrest.Matchers.is;
+import static org.junit.Assert.assertEquals;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URI;
+
+import javax.annotation.PostConstruct;
+import javax.ws.rs.core.UriBuilder;
+import javax.xml.bind.JAXBException;
+
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.onap.aai.AAISetup;
-import org.onap.aai.exceptions.AAIException;
-import org.onap.aai.parsers.exceptions.DoesNotStartWithValidNamespaceException;
import org.onap.aai.db.props.AAIProperties;
+import org.onap.aai.exceptions.AAIException;
import org.onap.aai.introspection.*;
-
-import javax.annotation.PostConstruct;
-import javax.ws.rs.core.UriBuilder;
-import javax.xml.bind.JAXBException;
-import java.io.UnsupportedEncodingException;
-import java.net.URI;
-
-import static org.hamcrest.Matchers.hasProperty;
-import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertEquals;
-
+import org.onap.aai.parsers.exceptions.DoesNotStartWithValidNamespaceException;
public class URIToDBKeyTest extends AAISetup {
- private Loader loader ;
+ private Loader loader;
@Rule
public ExpectedException thrown = ExpectedException.none();
-
+
/**
* Uri.
*
* @throws UnsupportedEncodingException the unsupported encoding exception
*/
@PostConstruct
- public void createLoader(){
+ public void createLoader() {
loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDefaultVersion());
}
-
+
@Test
public void uri() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException {
- URI uri = UriBuilder.fromPath("/aai/" + loader.getVersion() + "/cloud-infrastructure/cloud-regions/cloud-region/cloudOwner-key/cloudRegion-key/tenants/tenant/tenantId-key/vservers/vserver/vserverId-key/l-interfaces/l-interface/key3").build();
+ URI uri = UriBuilder.fromPath("/aai/" + loader.getVersion()
+ + "/cloud-infrastructure/cloud-regions/cloud-region/cloudOwner-key/cloudRegion-key/tenants/tenant/tenantId-key/vservers/vserver/vserverId-key/l-interfaces/l-interface/key3")
+ .build();
URIToDBKey parse = new URIToDBKey(loader, uri);
Object result = parse.getResult();
String expected = "cloud-region/tenant/vserver/l-interface";
-
+
assertEquals("blah", expected, result);
-
+
}
-
+
/**
* Uri no version.
*
* @throws UnsupportedEncodingException the unsupported encoding exception
*/
@Test
- public void uriNoVersion() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException {
- URI uri = UriBuilder.fromPath("/cloud-infrastructure/cloud-regions/cloud-region/cloudOwner-key/cloudRegion-key/tenants/tenant/tenantId-key/vservers/vserver/vserverId-key/l-interfaces/l-interface/key3").build();
+ public void uriNoVersion()
+ throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException {
+ URI uri = UriBuilder.fromPath(
+ "/cloud-infrastructure/cloud-regions/cloud-region/cloudOwner-key/cloudRegion-key/tenants/tenant/tenantId-key/vservers/vserver/vserverId-key/l-interfaces/l-interface/key3")
+ .build();
URIToDBKey parse = new URIToDBKey(loader, uri);
Object result = parse.getResult();
-
+
String expected = "cloud-region/tenant/vserver/l-interface";
-
+
assertEquals("blah", expected, result);
-
+
}
-
/**
* Bad URI.
*/
@Test
public void badURI() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException {
- URI uri = UriBuilder.fromPath("/aai/" + loader.getVersion() + "/cloud-infrastructure/tenants/tenant/key1/vservers/vserver/key2/l-interadsfaces/l-interface/key3").build();
-
+ URI uri = UriBuilder.fromPath("/aai/" + loader.getVersion()
+ + "/cloud-infrastructure/tenants/tenant/key1/vservers/vserver/key2/l-interadsfaces/l-interface/key3")
+ .build();
+
thrown.expect(AAIException.class);
- thrown.expect(hasProperty("code", is("AAI_3001")));
-
+ thrown.expect(hasProperty("code", is("AAI_3001")));
+
new URIToDBKey(loader, uri);
}
-
+
/**
* NotValid namespace.
*
* @throws UnsupportedEncodingException the unsupported encoding exception
*/
@Test
- public void notValidNamespace() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException {
- URI uri = UriBuilder.fromPath("/cloud-region/cloud-regions/cloud-region/cloudOwner-key/cloudRegion-key/tenants/tenant/tenantId-key/vservers/vserver/vserverId-key/l-interfaces/l-interface/key3").build();
+ public void notValidNamespace()
+ throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException {
+ URI uri = UriBuilder.fromPath(
+ "/cloud-region/cloud-regions/cloud-region/cloudOwner-key/cloudRegion-key/tenants/tenant/tenantId-key/vservers/vserver/vserverId-key/l-interfaces/l-interface/key3")
+ .build();
thrown.expect(DoesNotStartWithValidNamespaceException.class);
URIToDBKey parse = new URIToDBKey(loader, uri);
}
-
-
+
/**
* No valid tokens.
*
* @throws UnsupportedEncodingException the unsupported encoding exception
*/
@Test
- public void noValidTokens() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException {
+ public void noValidTokens()
+ throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException {
URI uri = UriBuilder.fromPath("/aai/" + loader.getVersion() + "/cloud/blah/blah").build();
-
+
thrown.expect(AAIException.class);
- thrown.expect(hasProperty("code", is("AAI_3000")));
-
+ thrown.expect(hasProperty("code", is("AAI_3000")));
+
new URIToDBKey(loader, uri);
}
-
+
/**
* Starts with valid namespace.
*
* @throws UnsupportedEncodingException the unsupported encoding exception
*/
@Test
- public void startsWithValidNamespace() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException {
- URI uri = UriBuilder.fromPath("/aai/" + loader.getVersion() + "/cloud-infrastructure/cloud-regions/cloud-region/cloudOwner-key/cloudRegion-key/tenants/tenant/tenantId-key/vservers/vserver/vserverId-key/l-interfaces/l-interface/key3").build();
-
+ public void startsWithValidNamespace()
+ throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException {
+ URI uri = UriBuilder.fromPath("/aai/" + loader.getVersion()
+ + "/cloud-infrastructure/cloud-regions/cloud-region/cloudOwner-key/cloudRegion-key/tenants/tenant/tenantId-key/vservers/vserver/vserverId-key/l-interfaces/l-interface/key3")
+ .build();
+
URIToDBKey parse = new URIToDBKey(loader, uri);
Object result = parse.getResult();
String expected = "cloud-region/tenant/vserver/l-interface";
-
+
assertEquals("blah", expected, result);
}
-
+
/**
* Naming exceptions.
*
*/
@Test
public void namingExceptions() throws IllegalArgumentException, AAIException, UnsupportedEncodingException {
- URI uri = UriBuilder.fromPath("network/vces/vce/key1/port-groups/port-group/key2/cvlan-tags/cvlan-tag/655").build();
+ URI uri = UriBuilder.fromPath("network/vces/vce/key1/port-groups/port-group/key2/cvlan-tags/cvlan-tag/655")
+ .build();
URIToDBKey parse = new URIToDBKey(loader, uri);
Object result = parse.getResult();
String expected = "vce/port-group/cvlan-tag";
-
+
assertEquals("blah", expected, result);
-
+
}
-
+
}