- @Autowired
- EdgeIngestor ei;
-
- @Rule
- public ExpectedException thrown = ExpectedException.none();
-
- @Test
- public void getRulesTest1() throws EdgeRuleNotFoundException {
- EdgeRuleQuery q = new EdgeRuleQuery.Builder("foo").build();
- Multimap<String, EdgeRule> results = ei.getRules(q);
- assertTrue(results.size() == 5);
- assertTrue(results.containsKey("bar|foo"));
-
- assertTrue(2 == results.get("bar|foo").size());
- boolean seenLabel1 = false;
- boolean seenLabel2 = false;
- for(EdgeRule r : results.get("bar|foo")) {
- if ("eats".equals(r.getLabel())) {
- seenLabel1 = true;
- }
- if ("eatz".equals(r.getLabel())) {
- seenLabel2 = true;
- }
- }
- assertTrue(seenLabel1 && seenLabel2);
-
- assertTrue(results.containsKey("baz|foo"));
- assertTrue(results.containsKey("foo|quux"));
- assertTrue(results.containsKey("dog|foo"));
- }
-
- @Test
- public void getRulesTest2() throws EdgeRuleNotFoundException {
- EdgeRuleQuery q = new EdgeRuleQuery.Builder("dog", "puppy").build();
- Multimap<String, EdgeRule> results = ei.getRules(q);
- assertTrue(results.size() == 1);
- assertTrue(results.containsKey("dog|puppy"));
- Collection<EdgeRule> cr = results.get("dog|puppy");
- for (EdgeRule r : cr) {
- assertTrue("dog".equals(r.getFrom()));
- assertTrue("puppy".equals(r.getTo()));
- assertTrue("caresFor".equals(r.getLabel()));
- assertTrue(Direction.OUT.equals(r.getDirection()));
- assertTrue("One2Many".equalsIgnoreCase(r.getMultiplicityRule().toString()));
- assertTrue("NONE".equals(r.getContains()));
- assertTrue("OUT".equals(r.getDeleteOtherV()));
- assertTrue("NONE".equals(r.getPreventDelete()));
- assertTrue(r.isDefault());
- }
- }
-
- @Test
- public void getRulesFlippedTypesTest() throws EdgeRuleNotFoundException {
- EdgeRuleQuery q = new EdgeRuleQuery.Builder("l-interface", "logical-link").version(new SchemaVersion("v11")).build();
- Multimap<String, EdgeRule> results = ei.getRules(q);
- assertTrue(results.size() == 3);
- for (EdgeRule r : results.get("l-interface|logical-link")) {
- if ("org.onap.relationships.inventory.Source".equals(r.getLabel()) ||
- "org.onap.relationships.inventory.Destination".equals(r.getLabel())) {
- //these are defined with from=logical-link, to=l-interface, so they must be flipped
- assertTrue(Direction.IN.equals(r.getDirection()));
- } else if ("tosca.relationships.network.LinksTo".equals(r.getLabel())) {
- //this is defined with from=l-interface, to=logical-link, so it shouldn't be flipped
- assertTrue(Direction.OUT.equals(r.getDirection()));
- } else {
- fail("how did you get here");
- }
- }
- }
-
- @Test
- public void fromToSameFlipTests() throws EdgeRuleNotFoundException, AmbiguousRuleChoiceException {
- //getRules, setting from and to
- EdgeRuleQuery q = new EdgeRuleQuery.Builder("bloop","bloop").version(new SchemaVersion("v11")).build();
- Multimap<String, EdgeRule> results = ei.getRules(q);
- assertTrue(results.size() == 1);
- for (EdgeRule r : results.get("bloop|bloop")) {
- assertTrue(Direction.IN.equals(r.getDirection()));
- }
-
- //getRule, setting just from
- EdgeRuleQuery q2 = new EdgeRuleQuery.Builder("bloop").version(new SchemaVersion("v11")).build();
- assertTrue(Direction.IN.equals(ei.getRule(q2).getDirection()));
-
- //getChildRules
- Multimap<String, EdgeRule> child = ei.getChildRules("bloop", new SchemaVersion("v11"));
- assertTrue(child.size() == 1);
- for (EdgeRule r : child.get("bloop|bloop")) {
- assertTrue(Direction.IN.equals(r.getDirection()));
- }
- }
-
- @Test
- public void getRulesTest3() throws EdgeRuleNotFoundException {
- EdgeRuleQuery q = new EdgeRuleQuery.Builder("l-interface").version(new SchemaVersion("v11")).build();
- Multimap<String, EdgeRule> results = ei.getRules(q);
- assertTrue(results.size() == 4);
- assertTrue(results.containsKey("lag-interface|l-interface"));
- assertTrue(results.containsKey("l-interface|logical-link"));
- assertTrue(results.get("l-interface|logical-link").size() == 3);
- }
-
- @Test
- public void getRulesNoneFound() throws EdgeRuleNotFoundException {
- thrown.expect(EdgeRuleNotFoundException.class);
- thrown.expectMessage("No rules found for");
- EdgeRuleQuery q = new EdgeRuleQuery.Builder("l-interface").build();
- ei.getRules(q);
- }
-
- @Test
- public void getRuleSimpleTest() throws EdgeRuleNotFoundException, AmbiguousRuleChoiceException {
- EdgeRuleQuery q = new EdgeRuleQuery.Builder("parent", "notation").build();
- EdgeRule result = ei.getRule(q);
- assertTrue("parent".equals(result.getFrom()));
- assertTrue("notation".equals(result.getTo()));
- assertTrue("has".equals(result.getLabel()));
- assertTrue(Direction.OUT.equals(result.getDirection()));
- assertTrue(MultiplicityRule.MANY2MANY.equals(result.getMultiplicityRule()));
- assertTrue(AAIDirection.OUT.toString().equals(result.getContains()));
- assertTrue(AAIDirection.NONE.toString().equals(result.getDeleteOtherV()));
- assertTrue(AAIDirection.NONE.toString().equals(result.getPreventDelete()));
- assertTrue("parent contains notation".equals(result.getDescription()));
- }
-
- @Test
- public void getRuleFlippedTypesTest() throws EdgeRuleNotFoundException, AmbiguousRuleChoiceException {
- EdgeRuleQuery q = new EdgeRuleQuery.Builder("notation", "parent").build();
- EdgeRule result = ei.getRule(q);
- assertTrue("parent".equals(result.getFrom()));
- assertTrue("notation".equals(result.getTo()));
- assertTrue("has".equals(result.getLabel()));
- //direction flipped to match input order per old EdgeRules.java API
- assertTrue(Direction.IN.equals(result.getDirection()));
- assertTrue(MultiplicityRule.MANY2MANY.equals(result.getMultiplicityRule()));
- assertTrue(AAIDirection.OUT.toString().equals(result.getContains()));
- assertTrue(AAIDirection.NONE.toString().equals(result.getDeleteOtherV()));
- assertTrue(AAIDirection.NONE.toString().equals(result.getPreventDelete()));
- assertTrue("parent contains notation".equals(result.getDescription()));
- }
-
- @Test
- public void getRuleWithDefaultTest() throws EdgeRuleNotFoundException, AmbiguousRuleChoiceException {
+ @Autowired
+ EdgeIngestor ei;
+
+ @Rule
+ public ExpectedException thrown = ExpectedException.none();
+
+ @Test
+ public void getRulesTest1() throws EdgeRuleNotFoundException {
+ EdgeRuleQuery q = new EdgeRuleQuery.Builder("foo").build();
+ Multimap<String, EdgeRule> results = ei.getRules(q);
+ assertTrue(results.size() == 5);
+ assertTrue(results.containsKey("bar|foo"));
+
+ assertTrue(2 == results.get("bar|foo").size());
+ boolean seenLabel1 = false;
+ boolean seenLabel2 = false;
+ for(EdgeRule r : results.get("bar|foo")) {
+ if ("eats".equals(r.getLabel())) {
+ seenLabel1 = true;
+ }
+ if ("eatz".equals(r.getLabel())) {
+ seenLabel2 = true;
+ }
+ }
+ assertTrue(seenLabel1 && seenLabel2);
+
+ assertTrue(results.containsKey("baz|foo"));
+ assertTrue(results.containsKey("foo|quux"));
+ assertTrue(results.containsKey("dog|foo"));
+ }
+
+ @Test
+ public void getRulesTest2() throws EdgeRuleNotFoundException {
+ EdgeRuleQuery q = new EdgeRuleQuery.Builder("dog", "puppy").build();
+ Multimap<String, EdgeRule> results = ei.getRules(q);
+ assertTrue(results.size() == 1);
+ assertTrue(results.containsKey("dog|puppy"));
+ Collection<EdgeRule> cr = results.get("dog|puppy");
+ for (EdgeRule r : cr) {
+ assertTrue("dog".equals(r.getFrom()));
+ assertTrue("puppy".equals(r.getTo()));
+ assertTrue("caresFor".equals(r.getLabel()));
+ assertTrue(Direction.OUT.equals(r.getDirection()));
+ assertTrue("One2Many".equalsIgnoreCase(r.getMultiplicityRule().toString()));
+ assertTrue("NONE".equals(r.getContains()));
+ assertTrue("OUT".equals(r.getDeleteOtherV()));
+ assertTrue("NONE".equals(r.getPreventDelete()));
+ assertTrue(r.isDefault());
+ }
+ }
+
+ @Test
+ public void getRulesFlippedTypesTest() throws EdgeRuleNotFoundException {
+ EdgeRuleQuery q = new EdgeRuleQuery.Builder("l-interface", "logical-link").version(new SchemaVersion("v11")).build();
+ Multimap<String, EdgeRule> results = ei.getRules(q);
+ assertTrue(results.size() == 3);
+ for (EdgeRule r : results.get("l-interface|logical-link")) {
+ if ("org.onap.relationships.inventory.Source".equals(r.getLabel()) ||
+ "org.onap.relationships.inventory.Destination".equals(r.getLabel())) {
+ //these are defined with from=logical-link, to=l-interface, so they must be flipped
+ assertTrue(Direction.IN.equals(r.getDirection()));
+ } else if ("tosca.relationships.network.LinksTo".equals(r.getLabel())) {
+ //this is defined with from=l-interface, to=logical-link, so it shouldn't be flipped
+ assertTrue(Direction.OUT.equals(r.getDirection()));
+ } else {
+ fail("how did you get here");
+ }
+ }
+ }
+
+ @Test
+ public void fromToSameFlipTests() throws EdgeRuleNotFoundException, AmbiguousRuleChoiceException {
+ //getRules, setting from and to
+ EdgeRuleQuery q = new EdgeRuleQuery.Builder("bloop","bloop").version(new SchemaVersion("v11")).build();
+ Multimap<String, EdgeRule> results = ei.getRules(q);
+ assertTrue(results.size() == 1);
+ for (EdgeRule r : results.get("bloop|bloop")) {
+ assertTrue(Direction.IN.equals(r.getDirection()));
+ }
+
+ //getRule, setting just from
+ EdgeRuleQuery q2 = new EdgeRuleQuery.Builder("bloop").version(new SchemaVersion("v11")).build();
+ assertTrue(Direction.IN.equals(ei.getRule(q2).getDirection()));
+
+ //getChildRules
+ Multimap<String, EdgeRule> child = ei.getChildRules("bloop", new SchemaVersion("v11"));
+ assertTrue(child.size() == 1);
+ for (EdgeRule r : child.get("bloop|bloop")) {
+ assertTrue(Direction.IN.equals(r.getDirection()));
+ }
+ }
+
+ @Test
+ public void getRulesTest3() throws EdgeRuleNotFoundException {
+ EdgeRuleQuery q = new EdgeRuleQuery.Builder("l-interface").version(new SchemaVersion("v11")).build();
+ Multimap<String, EdgeRule> results = ei.getRules(q);
+ assertTrue(results.size() == 4);
+ assertTrue(results.containsKey("lag-interface|l-interface"));
+ assertTrue(results.containsKey("l-interface|logical-link"));
+ assertTrue(results.get("l-interface|logical-link").size() == 3);
+ }
+
+ @Test
+ public void getRulesNoneFound() throws EdgeRuleNotFoundException {
+ thrown.expect(EdgeRuleNotFoundException.class);
+ thrown.expectMessage("No rules found for");
+ EdgeRuleQuery q = new EdgeRuleQuery.Builder("l-interface").build();
+ ei.getRules(q);
+ }
+
+ @Test
+ public void getRuleSimpleTest() throws EdgeRuleNotFoundException, AmbiguousRuleChoiceException {
+ EdgeRuleQuery q = new EdgeRuleQuery.Builder("parent", "notation").build();
+ EdgeRule result = ei.getRule(q);
+ assertTrue("parent".equals(result.getFrom()));
+ assertTrue("notation".equals(result.getTo()));
+ assertTrue("has".equals(result.getLabel()));
+ assertTrue(Direction.OUT.equals(result.getDirection()));
+ assertTrue(MultiplicityRule.MANY2MANY.equals(result.getMultiplicityRule()));
+ assertTrue(AAIDirection.OUT.toString().equals(result.getContains()));
+ assertTrue(AAIDirection.NONE.toString().equals(result.getDeleteOtherV()));
+ assertTrue(AAIDirection.NONE.toString().equals(result.getPreventDelete()));
+ assertTrue("parent contains notation".equals(result.getDescription()));
+ }
+
+ @Test
+ public void getRuleFlippedTypesTest() throws EdgeRuleNotFoundException, AmbiguousRuleChoiceException {
+ EdgeRuleQuery q = new EdgeRuleQuery.Builder("notation", "parent").build();
+ EdgeRule result = ei.getRule(q);
+ assertTrue("parent".equals(result.getFrom()));
+ assertTrue("notation".equals(result.getTo()));
+ assertTrue("has".equals(result.getLabel()));
+ //direction flipped to match input order per old EdgeRules.java API
+ assertTrue(Direction.IN.equals(result.getDirection()));
+ assertTrue(MultiplicityRule.MANY2MANY.equals(result.getMultiplicityRule()));
+ assertTrue(AAIDirection.OUT.toString().equals(result.getContains()));
+ assertTrue(AAIDirection.NONE.toString().equals(result.getDeleteOtherV()));
+ assertTrue(AAIDirection.NONE.toString().equals(result.getPreventDelete()));
+ assertTrue("parent contains notation".equals(result.getDescription()));
+ }
+
+ @Test
+ public void getRuleWithDefaultTest() throws EdgeRuleNotFoundException, AmbiguousRuleChoiceException {