@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_CLASS)
public class URIToObjectTest extends AAISetup {
- private SchemaVersion version ;
- private SchemaVersion currentVersion;
- private Loader loader ;
-
- @Rule
- public ExpectedException thrown = ExpectedException.none();
-
- /**
- * Uri.
- *
- * @throws JAXBException the JAXB exception
- * @throws AAIException the AAI exception
- * @throws IllegalArgumentException the illegal argument exception
- * @throws UnsupportedEncodingException the unsupported encoding exception
- */
- @PostConstruct
- public void createLoader(){
- version = schemaVersions.getRelatedLinkVersion();
- currentVersion = schemaVersions.getDefaultVersion();
- loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getRelatedLinkVersion());
- }
-
- @Test
+ private SchemaVersion version ;
+ private SchemaVersion currentVersion;
+ private Loader loader ;
+
+ @Rule
+ public ExpectedException thrown = ExpectedException.none();
+
+ /**
+ * Uri.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws AAIException the AAI exception
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ */
+ @PostConstruct
+ public void createLoader(){
+ version = schemaVersions.getRelatedLinkVersion();
+ currentVersion = schemaVersions.getDefaultVersion();
+ loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getRelatedLinkVersion());
+ }
+
+ @Test
public void uri() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException {
- URI uri = UriBuilder.fromPath("/aai/" + loader.getVersion() + "/cloud-infrastructure/cloud-regions/cloud-region/mycloudowner/mycloudregionid/tenants/tenant/key1/vservers/vserver/key2/l-interfaces/l-interface/key3").build();
- URIToObject parse = new URIToObject(loader, uri);
- Introspector result = parse.getTopEntity();
- String expected = "{\"cloud-owner\":\"mycloudowner\",\"cloud-region-id\":\"mycloudregionid\",\"tenants\":{\"tenant\":[{\"tenant-id\":\"key1\",\"vservers\":{\"vserver\":[{\"vserver-id\":\"key2\",\"l-interfaces\":{\"l-interface\":[{\"interface-name\":\"key3\"}]}}]}}]}}";
- String topEntity = "cloud-region";
- String entity = "l-interface";
-
- testSet(result.marshal(false), parse, expected, topEntity, entity, version);
-
- }
-
- /**
- * Uri no version.
- *
- * @throws JAXBException the JAXB exception
- * @throws AAIException the AAI exception
- * @throws IllegalArgumentException the illegal argument exception
- * @throws UnsupportedEncodingException the unsupported encoding exception
- * @throws AAIUnknownObjectException
- */
- @Test
+ URI uri = UriBuilder.fromPath("/aai/" + loader.getVersion() + "/cloud-infrastructure/cloud-regions/cloud-region/mycloudowner/mycloudregionid/tenants/tenant/key1/vservers/vserver/key2/l-interfaces/l-interface/key3").build();
+ URIToObject parse = new URIToObject(loader, uri);
+ Introspector result = parse.getTopEntity();
+ String expected = "{\"cloud-owner\":\"mycloudowner\",\"cloud-region-id\":\"mycloudregionid\",\"tenants\":{\"tenant\":[{\"tenant-id\":\"key1\",\"vservers\":{\"vserver\":[{\"vserver-id\":\"key2\",\"l-interfaces\":{\"l-interface\":[{\"interface-name\":\"key3\"}]}}]}}]}}";
+ String topEntity = "cloud-region";
+ String entity = "l-interface";
+
+ testSet(result.marshal(false), parse, expected, topEntity, entity, version);
+
+ }
+
+ /**
+ * Uri no version.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws AAIException the AAI exception
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIUnknownObjectException
+ */
+ @Test
public void uriNoVersion() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException, AAIUnknownObjectException {
- URI uri = UriBuilder.fromPath("/cloud-infrastructure/cloud-regions/cloud-region/mycloudowner/mycloudregionid/tenants/tenant/key1/vservers/vserver/key2/l-interfaces/l-interface/key3").build();
- HashMap<String, Introspector> relatedObjects = new HashMap<>();
- Introspector tenantObj = this.loader.introspectorFromName("tenant");
- tenantObj.setValue("tenant-id", "key1");
- tenantObj.setValue("tenant-name", "name1");
- relatedObjects.put(tenantObj.getObjectId(), tenantObj);
- Introspector vserverObj = this.loader.introspectorFromName("vserver");
- vserverObj.setValue("vserver-id", "key2");
- vserverObj.setValue("vserver-name", "name2");
- relatedObjects.put(vserverObj.getObjectId(), vserverObj);
-
- URIToObject parse = new URIToObject(loader, uri, relatedObjects);
- Introspector result = parse.getTopEntity();
- String expected = "{\"cloud-owner\":\"mycloudowner\",\"cloud-region-id\":\"mycloudregionid\",\"tenants\":{\"tenant\":[{\"tenant-id\":\"key1\",\"tenant-name\":\"name1\",\"vservers\":{\"vserver\":[{\"vserver-id\":\"key2\",\"vserver-name\":\"name2\",\"l-interfaces\":{\"l-interface\":[{\"interface-name\":\"key3\"}]}}]}}]}}";
- String topEntity = "cloud-region";
- String entity = "l-interface";
-
- testSet(result.marshal(false), parse, expected, topEntity, entity, version);
-
-
- }
-
-
- /**
- * Bad URI.
- *
- * @throws JAXBException the JAXB exception
- * @throws AAIException the AAI exception
- * @throws IllegalArgumentException the illegal argument exception
- * @throws UnsupportedEncodingException the unsupported encoding exception
- */
- @Test
+ URI uri = UriBuilder.fromPath("/cloud-infrastructure/cloud-regions/cloud-region/mycloudowner/mycloudregionid/tenants/tenant/key1/vservers/vserver/key2/l-interfaces/l-interface/key3").build();
+ HashMap<String, Introspector> relatedObjects = new HashMap<>();
+ Introspector tenantObj = this.loader.introspectorFromName("tenant");
+ tenantObj.setValue("tenant-id", "key1");
+ tenantObj.setValue("tenant-name", "name1");
+ relatedObjects.put(tenantObj.getObjectId(), tenantObj);
+ Introspector vserverObj = this.loader.introspectorFromName("vserver");
+ vserverObj.setValue("vserver-id", "key2");
+ vserverObj.setValue("vserver-name", "name2");
+ relatedObjects.put(vserverObj.getObjectId(), vserverObj);
+
+ URIToObject parse = new URIToObject(loader, uri, relatedObjects);
+ Introspector result = parse.getTopEntity();
+ String expected = "{\"cloud-owner\":\"mycloudowner\",\"cloud-region-id\":\"mycloudregionid\",\"tenants\":{\"tenant\":[{\"tenant-id\":\"key1\",\"tenant-name\":\"name1\",\"vservers\":{\"vserver\":[{\"vserver-id\":\"key2\",\"vserver-name\":\"name2\",\"l-interfaces\":{\"l-interface\":[{\"interface-name\":\"key3\"}]}}]}}]}}";
+ String topEntity = "cloud-region";
+ String entity = "l-interface";
+
+ testSet(result.marshal(false), parse, expected, topEntity, entity, version);
+
+
+ }
+
+
+ /**
+ * Bad URI.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws AAIException the AAI exception
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ */
+ @Test
public void badURI() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException {
- URI uri = UriBuilder.fromPath("/aai/" + loader.getVersion() + "/cloud-infrastructure/cloud-regions/cloud-region/mycloudowner/mycloudregionid/tenants/tenant/key1/vservers/vserver/key2/l-interadsfaces/l-interface/key3").build();
-
- thrown.expect(AAIException.class);
- thrown.expect(hasProperty("code", is("AAI_3000")));
-
- new URIToObject(loader, uri);
- }
-
- /**
- * Starts with valid namespace.
- *
- * @throws JAXBException the JAXB exception
- * @throws AAIException the AAI exception
- * @throws IllegalArgumentException the illegal argument exception
- * @throws UnsupportedEncodingException the unsupported encoding exception
- */
- @Test
+ URI uri = UriBuilder.fromPath("/aai/" + loader.getVersion() + "/cloud-infrastructure/cloud-regions/cloud-region/mycloudowner/mycloudregionid/tenants/tenant/key1/vservers/vserver/key2/l-interadsfaces/l-interface/key3").build();
+
+ thrown.expect(AAIException.class);
+ thrown.expect(hasProperty("code", is("AAI_3000")));
+
+ new URIToObject(loader, uri);
+ }
+
+ /**
+ * Starts with valid namespace.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws AAIException the AAI exception
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ */
+ @Test
public void startsWithValidNamespace() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException {
- URI uri = UriBuilder.fromPath("/cloud-infrastructure/cloud-regions/cloud-region/mycloudowner/mycloudregionid/tenants/tenant/key1/vservers/vserver/key2/l-interfaces/l-interface/key3").build();
- URIToObject parse = new URIToObject(loader, uri);
- Introspector result = parse.getTopEntity();
- String expected = "{\"cloud-owner\":\"mycloudowner\",\"cloud-region-id\":\"mycloudregionid\",\"tenants\":{\"tenant\":[{\"tenant-id\":\"key1\",\"vservers\":{\"vserver\":[{\"vserver-id\":\"key2\",\"l-interfaces\":{\"l-interface\":[{\"interface-name\":\"key3\"}]}}]}}]}}";
- String topEntity = "cloud-region";
- String entity = "l-interface";
-
- testSet(result.marshal(false), parse, expected, topEntity, entity, version);
- }
-
- /**
- * Single top level.
- *
- * @throws JAXBException the JAXB exception
- * @throws AAIException the AAI exception
- * @throws IllegalArgumentException the illegal argument exception
- * @throws UnsupportedEncodingException the unsupported encoding exception
- */
- @Test
+ URI uri = UriBuilder.fromPath("/cloud-infrastructure/cloud-regions/cloud-region/mycloudowner/mycloudregionid/tenants/tenant/key1/vservers/vserver/key2/l-interfaces/l-interface/key3").build();
+ URIToObject parse = new URIToObject(loader, uri);
+ Introspector result = parse.getTopEntity();
+ String expected = "{\"cloud-owner\":\"mycloudowner\",\"cloud-region-id\":\"mycloudregionid\",\"tenants\":{\"tenant\":[{\"tenant-id\":\"key1\",\"vservers\":{\"vserver\":[{\"vserver-id\":\"key2\",\"l-interfaces\":{\"l-interface\":[{\"interface-name\":\"key3\"}]}}]}}]}}";
+ String topEntity = "cloud-region";
+ String entity = "l-interface";
+
+ testSet(result.marshal(false), parse, expected, topEntity, entity, version);
+ }
+
+ /**
+ * Single top level.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws AAIException the AAI exception
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ */
+ @Test
public void singleTopLevel() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException {
- URI uri = UriBuilder.fromPath("/network/generic-vnfs/generic-vnf/key1").build();
- URIToObject parse = new URIToObject(loader, uri);
- Introspector result = parse.getTopEntity();
- String expected = "{\"vnf-id\":\"key1\"}";
-
- String topEntity = "generic-vnf";
- String entity = "generic-vnf";
-
- testSet(result.marshal(false), parse, expected, topEntity, entity, version);
-
- }
-
- /**
- * Naming exceptions.
- *
- * @throws JAXBException the JAXB exception
- * @throws AAIException the AAI exception
- * @throws IllegalArgumentException the illegal argument exception
- * @throws UnsupportedEncodingException the unsupported encoding exception
- */
- @Test
- @Ignore
+ URI uri = UriBuilder.fromPath("/network/generic-vnfs/generic-vnf/key1").build();
+ URIToObject parse = new URIToObject(loader, uri);
+ Introspector result = parse.getTopEntity();
+ String expected = "{\"vnf-id\":\"key1\"}";
+
+ String topEntity = "generic-vnf";
+ String entity = "generic-vnf";
+
+ testSet(result.marshal(false), parse, expected, topEntity, entity, version);
+
+ }
+
+ /**
+ * Naming exceptions.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws AAIException the AAI exception
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ */
+ @Test
+ @Ignore
public void namingExceptions() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException {
- URI uri = UriBuilder.fromPath("network/vces/vce/key1/port-groups/port-group/key2/cvlan-tags/cvlan-tag/655").build();
- URIToObject parse = new URIToObject(loader, uri);
- Introspector result = parse.getTopEntity();
- String expected = "{\"vnf-id\":\"key1\",\"port-groups\":{\"port-group\":[{\"interface-id\":\"key2\",\"cvlan-tags\":{\"cvlan-tag-entry\":[{\"cvlan-tag\":655}]}}]}}";
- String topEntity = "vce";
- String entity = "cvlan-tag";
+ URI uri = UriBuilder.fromPath("network/vces/vce/key1/port-groups/port-group/key2/cvlan-tags/cvlan-tag/655").build();
+ URIToObject parse = new URIToObject(loader, uri);
+ Introspector result = parse.getTopEntity();
+ String expected = "{\"vnf-id\":\"key1\",\"port-groups\":{\"port-group\":[{\"interface-id\":\"key2\",\"cvlan-tags\":{\"cvlan-tag-entry\":[{\"cvlan-tag\":655}]}}]}}";
+ String topEntity = "vce";
+ String entity = "cvlan-tag";
+
+ testSet(result.marshal(false), parse, expected, topEntity, entity, version);
+
+ }
- testSet(result.marshal(false), parse, expected, topEntity, entity, version);
+ /**
+ * No list object.
+ *
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ @Ignore
+ public void noListObject() throws IllegalArgumentException, UnsupportedEncodingException, AAIException {
+ URI uri = UriBuilder.fromPath("/aai/v6/network/vpls-pes/vpls-pe/0e6189fd-9257-49b9-a3be-d7ba980ccfc9/lag-interfaces/lag-interface/8ae5aa76-d597-4382-b219-04f266fe5e37/l-interfaces/l-interface/9e141d03-467b-437f-b4eb-b3133ec1e205/l3-interface-ipv4-address-list/8f19f0ea-a81f-488e-8d5c-9b7b53696c11").build();
+ URIToObject parse = new URIToObject(loader, uri);
+ Introspector result = parse.getTopEntity();
+ String topEntity = "vpls-pe";
+ String entity = "l3-interface-ipv4-address-list";
+ String expected = "{\"equipment-name\":\"0e6189fd-9257-49b9-a3be-d7ba980ccfc9\",\"lag-interfaces\":{\"lag-interface\":[{\"interface-name\":\"8ae5aa76-d597-4382-b219-04f266fe5e37\",\"l-interfaces\":{\"l-interface\":[{\"interface-name\":\"9e141d03-467b-437f-b4eb-b3133ec1e205\",\"l3-interface-ipv4-address-list\":[{\"l3-interface-ipv4-address\":\"8f19f0ea-a81f-488e-8d5c-9b7b53696c11\"}]}]}}]}}";
+ testSet(result.marshal(false), parse, expected, topEntity, entity, version);
}
- /**
- * No list object.
- *
- * @throws IllegalArgumentException the illegal argument exception
- * @throws UnsupportedEncodingException the unsupported encoding exception
- * @throws AAIException the AAI exception
- */
- @Test
- @Ignore
- public void noListObject() throws IllegalArgumentException, UnsupportedEncodingException, AAIException {
- URI uri = UriBuilder.fromPath("/aai/v6/network/vpls-pes/vpls-pe/0e6189fd-9257-49b9-a3be-d7ba980ccfc9/lag-interfaces/lag-interface/8ae5aa76-d597-4382-b219-04f266fe5e37/l-interfaces/l-interface/9e141d03-467b-437f-b4eb-b3133ec1e205/l3-interface-ipv4-address-list/8f19f0ea-a81f-488e-8d5c-9b7b53696c11").build();
- URIToObject parse = new URIToObject(loader, uri);
- Introspector result = parse.getTopEntity();
- String topEntity = "vpls-pe";
- String entity = "l3-interface-ipv4-address-list";
- String expected = "{\"equipment-name\":\"0e6189fd-9257-49b9-a3be-d7ba980ccfc9\",\"lag-interfaces\":{\"lag-interface\":[{\"interface-name\":\"8ae5aa76-d597-4382-b219-04f266fe5e37\",\"l-interfaces\":{\"l-interface\":[{\"interface-name\":\"9e141d03-467b-437f-b4eb-b3133ec1e205\",\"l3-interface-ipv4-address-list\":[{\"l3-interface-ipv4-address\":\"8f19f0ea-a81f-488e-8d5c-9b7b53696c11\"}]}]}}]}}";
- testSet(result.marshal(false), parse, expected, topEntity, entity, version);
-
- }
-
- @Test
+ @Test
public void relativePath() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException {
- URI uri = UriBuilder.fromPath("./l-interfaces/l-interface/key1").build();
- URIToObject parse = new URIToObject(loader, uri);
- Introspector result = parse.getEntity();
- String expected = "{\"interface-name\":\"key1\"}";
+ URI uri = UriBuilder.fromPath("./l-interfaces/l-interface/key1").build();
+ URIToObject parse = new URIToObject(loader, uri);
+ Introspector result = parse.getEntity();
+ String expected = "{\"interface-name\":\"key1\"}";
- String topEntity = "l-interface";
- String entity = "l-interface";
+ String topEntity = "l-interface";
+ String entity = "l-interface";
- testSet(result.marshal(false), parse, expected, topEntity, entity, version);
+ testSet(result.marshal(false), parse, expected, topEntity, entity, version);
- }
+ }
- /**
- * Test set.
- *
- * @param json the json
- * @param parse the parse
- * @param expected the expected
- * @param topEntity the top entity
- * @param entity the entity
- * @param version the version
- */
- public void testSet(String json, URIToObject parse, String expected, String topEntity, String entity, SchemaVersion version) {
- assertEquals("blah", expected, json);
+ /**
+ * Test set.
+ *
+ * @param json the json
+ * @param parse the parse
+ * @param expected the expected
+ * @param topEntity the top entity
+ * @param entity the entity
+ * @param version the version
+ */
+ public void testSet(String json, URIToObject parse, String expected, String topEntity, String entity, SchemaVersion version) {
+ assertEquals("blah", expected, json);
- assertEquals("top entity", topEntity, parse.getTopEntityName());
+ assertEquals("top entity", topEntity, parse.getTopEntityName());
- assertEquals("entity", entity, parse.getEntityName());
+ assertEquals("entity", entity, parse.getEntityName());
- assertEquals("entity object", entity, parse.getEntity().getDbName());
+ assertEquals("entity object", entity, parse.getEntity().getDbName());
- assertEquals("parent list object", 1, parse.getParentList().size());
+ assertEquals("parent list object", 1, parse.getParentList().size());
- assertEquals("object version", version, parse.getObjectVersion());
- }
+ assertEquals("object version", version, parse.getObjectVersion());
+ }
}