- @Test
- public void instanceNullTest() {
- assertThat(PermEval.evalInstance(null, null), is(false));
- assertThat(PermEval.evalInstance(null, "test"), is(false));
- assertThat(PermEval.evalInstance("test", null), is(false));
- }
-
- @Test
- public void instanceEmptyTest() {
- assertThat(PermEval.evalInstance("", ""), is(false));
- assertThat(PermEval.evalInstance("", "test"), is(false));
- assertThat(PermEval.evalInstance("test", ""), is(false));
- }
-
- @Test
- public void instanceAsterixTest() {
- assertThat(PermEval.evalInstance("*", "*"), is(true));
- assertTrue(PermEval.evalInstance("*","fred"));
- }
-
- @Test
- public void instanceRegexTest() {
- assertThat(PermEval.evalInstance("test", "!test"), is(true));
- assertThat(PermEval.evalInstance(",", "!"), is(true));
- assertThat(PermEval.evalInstance("test,test", "!test"), is(true));
-
- assertThat(PermEval.evalInstance("test", "!"), is(false));
- assertThat(PermEval.evalInstance("test", "!mismatch"), is(false));
- assertThat(PermEval.evalInstance("test,mismatch", "!mismatch"), is(false));
- }
-
- @Test
- public void instanceKeyTest() {
- // Reject non-keys
- assertThat(PermEval.evalInstance("fred", ":fred"), is(false));
-
- // Reject differing number of keys
- assertThat(PermEval.evalInstance(":fred:barney", ":fred"), is(false));
- assertThat(PermEval.evalInstance(":fred", ":fred:barney"), is(false));
-
- // Accept all wildcard keys
- assertThat(PermEval.evalInstance(":*", ":fred"), is(true));
-
- // Accept matching empty keys
- assertThat(PermEval.evalInstance(":", ":"), is(true));
-
- // Reject non-matching empty keys
- assertThat(PermEval.evalInstance(":fred", ":"), is(false));
-
- // Accept matches starting with a wildcard
- assertThat(PermEval.evalInstance(":!.*ed", ":fred"), is(true));
-
- // Reject non-matches starting with a wildcard
- assertThat(PermEval.evalInstance(":!.*arney", ":fred"), is(false));
-
- // Accept matches ending with a wildcard
- assertThat(PermEval.evalInstance(":fr*", ":fred"), is(true));
-
- // Reject non-matches ending with a wildcard
- assertThat(PermEval.evalInstance(":bar*", ":fred"), is(false));
-
- // Accept exact keys
- assertThat(PermEval.evalInstance(":fred", ":fred"), is(true));
-
- // Reject mismatched keys
- assertThat(PermEval.evalInstance(":fred", ":barney"), is(false));
-
- // Check using alt-start character
- assertThat(PermEval.evalInstance("/fred", "/fred"), is(true));
- assertThat(PermEval.evalInstance("/barney", "/fred"), is(false));
- }
-
- @Test
- public void instanceDirectTest() {
- assertThat(PermEval.evalInstance("fred","fred"), is(true));
- assertThat(PermEval.evalInstance("fred,wilma","fred"), is(true));
- assertThat(PermEval.evalInstance("barney,betty,fred,wilma","fred"), is(true));
- assertThat(PermEval.evalInstance("barney,betty,wilma","fred"), is(false));
-
- assertThat(PermEval.evalInstance("fr*","fred"), is(true));
- assertThat(PermEval.evalInstance("freddy*","fred"), is(false));
- assertThat(PermEval.evalInstance("ba*","fred"), is(false));
- }
-
- @Test
- public void actionTest() {
- // Accept server *
- assertThat(PermEval.evalAction("*", ""), is(true));
- assertThat(PermEval.evalAction("*", "literally anything"), is(true));
-
- // Reject empty actions
- assertThat(PermEval.evalAction("literally anything", ""), is(false));
-
- // Accept match as regex
- assertThat(PermEval.evalAction("action", "!action"), is(true));
-
- // Reject non-match as regex
- assertThat(PermEval.evalAction("action", "!nonaction"), is(false));
-
- // Accept exact match
- assertThat(PermEval.evalAction("action", "action"), is(true));
-
- // Reject non-match
- assertThat(PermEval.evalAction("action", "nonaction"), is(false));
- }
-
- @Test
- public void redundancyTest() {
- // TRUE
- assertTrue(PermEval.evalInstance(":fred:fred",":fred:fred"));
- assertTrue(PermEval.evalInstance(":fred:fred,wilma",":fred:fred"));
- assertTrue(PermEval.evalInstance(":fred:barney,betty,fred,wilma",":fred:fred"));
- assertTrue(PermEval.evalInstance(":*:fred",":fred:fred"));
- assertTrue(PermEval.evalInstance(":fred:*",":fred:fred"));
- assertTrue(PermEval.evalInstance(":!f.*:fred",":fred:fred"));
- assertTrue(PermEval.evalInstance(":fred:!f.*",":fred:fred"));
-
- // FALSE
- assertFalse(PermEval.evalInstance("fred","wilma"));
- assertFalse(PermEval.evalInstance("fred,barney,betty","wilma"));
- assertFalse(PermEval.evalInstance(":fred:fred",":fred:wilma"));
- assertFalse(PermEval.evalInstance(":fred:fred",":wilma:fred"));
- assertFalse(PermEval.evalInstance(":wilma:!f.*",":fred:fred"));
- assertFalse(PermEval.evalInstance(":!f.*:wilma",":fred:fred"));
- assertFalse(PermEval.evalInstance(":!w.*:!f.*",":fred:fred"));
- assertFalse(PermEval.evalInstance(":!f.*:!w.*",":fred:fred"));
-
- assertFalse(PermEval.evalInstance(":fred:!x.*",":fred:fred"));
-
- // MSO Tests 12/3/2015
- assertFalse(PermEval.evalInstance("/v1/services/features/*","/v1/services/features"));
- assertFalse(PermEval.evalInstance(":v1:services:features:*",":v1:services:features"));
- assertTrue(PermEval.evalInstance("/v1/services/features/*","/v1/services/features/api1"));
- assertTrue(PermEval.evalInstance(":v1:services:features:*",":v1:services:features:api2"));
- // MSO - Xue Gao
- assertTrue(PermEval.evalInstance(":v1:requests:*",":v1:requests:test0-service"));
-
-
-
- // Same tests, with Slashes
- assertTrue(PermEval.evalInstance("/fred/fred","/fred/fred"));
- assertTrue(PermEval.evalInstance("/fred/fred,wilma","/fred/fred"));
- assertTrue(PermEval.evalInstance("/fred/barney,betty,fred,wilma","/fred/fred"));
- assertTrue(PermEval.evalInstance("*","fred"));
- assertTrue(PermEval.evalInstance("/*/fred","/fred/fred"));
- assertTrue(PermEval.evalInstance("/fred/*","/fred/fred"));
- assertTrue(PermEval.evalInstance("/!f.*/fred","/fred/fred"));
- assertTrue(PermEval.evalInstance("/fred/!f.*","/fred/fred"));
-
- // FALSE
- assertFalse(PermEval.evalInstance("fred","wilma"));
- assertFalse(PermEval.evalInstance("fred,barney,betty","wilma"));
- assertFalse(PermEval.evalInstance("/fred/fred","/fred/wilma"));
- assertFalse(PermEval.evalInstance("/fred/fred","/wilma/fred"));
- assertFalse(PermEval.evalInstance("/wilma/!f.*","/fred/fred"));
- assertFalse(PermEval.evalInstance("/!f.*/wilma","/fred/fred"));
- assertFalse(PermEval.evalInstance("/!w.*/!f.*","/fred/fred"));
- assertFalse(PermEval.evalInstance("/!f.*/!w.*","/fred/fred"));
-
- assertFalse(PermEval.evalInstance("/fred/!x.*","/fred/fred"));
-
- assertTrue(PermEval.evalInstance(":!com.att.*:role:write",":com.att.temp:role:write"));
-
- // CPFSF-431 Group needed help with Wild Card
- // They tried
- assertTrue(PermEval.evalInstance(
- ":topic.com.att.ecomp_test.crm.pre*",
- ":topic.com.att.ecomp_test.crm.predemo100"
- ));
-
- // Also can be
- assertTrue(PermEval.evalInstance(
- ":!topic.com.att.ecomp_test.crm.pre.*",
- ":topic.com.att.ecomp_test.crm.predemo100"
- ));
-
- // coverage
- @SuppressWarnings("unused")
- PermEval pe = new PermEval();
- }
+ @Test
+ public void instanceNullTest() {
+ assertThat(PermEval.evalInstance(null, null), is(false));
+ assertThat(PermEval.evalInstance(null, "test"), is(false));
+ assertThat(PermEval.evalInstance("test", null), is(false));
+ }
+
+ @Test
+ public void instanceEmptyTest() {
+ assertThat(PermEval.evalInstance("", ""), is(false));
+ assertThat(PermEval.evalInstance("", "test"), is(false));
+ assertThat(PermEval.evalInstance("test", ""), is(false));
+ }
+
+ @Test
+ public void instanceAsterixTest() {
+ assertThat(PermEval.evalInstance("*", "*"), is(true));
+ assertTrue(PermEval.evalInstance("*","fred"));
+ }
+
+ @Test
+ public void instanceRegexTest() {
+ assertThat(PermEval.evalInstance("test", "!test"), is(true));
+ assertThat(PermEval.evalInstance(",", "!"), is(true));
+ assertThat(PermEval.evalInstance("test,test", "!test"), is(true));
+
+ assertThat(PermEval.evalInstance("test", "!"), is(false));
+ assertThat(PermEval.evalInstance("test", "!mismatch"), is(false));
+ assertThat(PermEval.evalInstance("test,mismatch", "!mismatch"), is(false));
+ }
+
+ @Test
+ public void instanceKeyTest() {
+ // Reject non-keys
+ assertThat(PermEval.evalInstance("fred", ":fred"), is(false));
+
+ // Reject differing number of keys
+ assertThat(PermEval.evalInstance(":fred:barney", ":fred"), is(false));
+ assertThat(PermEval.evalInstance(":fred", ":fred:barney"), is(false));
+
+ // Accept all wildcard keys
+ assertThat(PermEval.evalInstance(":*", ":fred"), is(true));
+
+ // Accept matching empty keys
+ assertThat(PermEval.evalInstance(":", ":"), is(true));
+
+ // Reject non-matching empty keys
+ assertThat(PermEval.evalInstance(":fred", ":"), is(false));
+
+ // Accept matches starting with a wildcard
+ assertThat(PermEval.evalInstance(":!.*ed", ":fred"), is(true));
+
+ // Reject non-matches starting with a wildcard
+ assertThat(PermEval.evalInstance(":!.*arney", ":fred"), is(false));
+
+ // Accept matches ending with a wildcard
+ assertThat(PermEval.evalInstance(":fr*", ":fred"), is(true));
+
+ // Reject non-matches ending with a wildcard
+ assertThat(PermEval.evalInstance(":bar*", ":fred"), is(false));
+
+ // Accept exact keys
+ assertThat(PermEval.evalInstance(":fred", ":fred"), is(true));
+
+ // Reject mismatched keys
+ assertThat(PermEval.evalInstance(":fred", ":barney"), is(false));
+
+ // Check using alt-start character
+ assertThat(PermEval.evalInstance("/fred", "/fred"), is(true));
+ assertThat(PermEval.evalInstance("/barney", "/fred"), is(false));
+ }
+
+ @Test
+ public void instanceDirectTest() {
+ assertThat(PermEval.evalInstance("fred","fred"), is(true));
+ assertThat(PermEval.evalInstance("fred,wilma","fred"), is(true));
+ assertThat(PermEval.evalInstance("barney,betty,fred,wilma","fred"), is(true));
+ assertThat(PermEval.evalInstance("barney,betty,wilma","fred"), is(false));
+
+ assertThat(PermEval.evalInstance("fr*","fred"), is(true));
+ assertThat(PermEval.evalInstance("freddy*","fred"), is(false));
+ assertThat(PermEval.evalInstance("ba*","fred"), is(false));
+ }
+
+ @Test
+ public void actionTest() {
+ // Accept server *
+ assertThat(PermEval.evalAction("*", ""), is(true));
+ assertThat(PermEval.evalAction("*", "literally anything"), is(true));
+
+ // Reject empty actions
+ assertThat(PermEval.evalAction("literally anything", ""), is(false));
+
+ // Accept match as regex
+ assertThat(PermEval.evalAction("action", "!action"), is(true));
+
+ // Reject non-match as regex
+ assertThat(PermEval.evalAction("action", "!nonaction"), is(false));
+
+ // Accept exact match
+ assertThat(PermEval.evalAction("action", "action"), is(true));
+
+ // Reject non-match
+ assertThat(PermEval.evalAction("action", "nonaction"), is(false));
+ }
+
+ @Test
+ public void redundancyTest() {
+ // TRUE
+ assertTrue(PermEval.evalInstance(":fred:fred",":fred:fred"));
+ assertTrue(PermEval.evalInstance(":fred:fred,wilma",":fred:fred"));
+ assertTrue(PermEval.evalInstance(":fred:barney,betty,fred,wilma",":fred:fred"));
+ assertTrue(PermEval.evalInstance(":*:fred",":fred:fred"));
+ assertTrue(PermEval.evalInstance(":fred:*",":fred:fred"));
+ assertTrue(PermEval.evalInstance(":!f.*:fred",":fred:fred"));
+ assertTrue(PermEval.evalInstance(":fred:!f.*",":fred:fred"));
+
+ // FALSE
+ assertFalse(PermEval.evalInstance("fred","wilma"));
+ assertFalse(PermEval.evalInstance("fred,barney,betty","wilma"));
+ assertFalse(PermEval.evalInstance(":fred:fred",":fred:wilma"));
+ assertFalse(PermEval.evalInstance(":fred:fred",":wilma:fred"));
+ assertFalse(PermEval.evalInstance(":wilma:!f.*",":fred:fred"));
+ assertFalse(PermEval.evalInstance(":!f.*:wilma",":fred:fred"));
+ assertFalse(PermEval.evalInstance(":!w.*:!f.*",":fred:fred"));
+ assertFalse(PermEval.evalInstance(":!f.*:!w.*",":fred:fred"));
+
+ assertFalse(PermEval.evalInstance(":fred:!x.*",":fred:fred"));
+
+ // MSO Tests 12/3/2015
+ assertFalse(PermEval.evalInstance("/v1/services/features/*","/v1/services/features"));
+ assertFalse(PermEval.evalInstance(":v1:services:features:*",":v1:services:features"));
+ assertTrue(PermEval.evalInstance("/v1/services/features/*","/v1/services/features/api1"));
+ assertTrue(PermEval.evalInstance(":v1:services:features:*",":v1:services:features:api2"));
+ // MSO - Xue Gao
+ assertTrue(PermEval.evalInstance(":v1:requests:*",":v1:requests:test0-service"));
+
+
+
+ // Same tests, with Slashes
+ assertTrue(PermEval.evalInstance("/fred/fred","/fred/fred"));
+ assertTrue(PermEval.evalInstance("/fred/fred,wilma","/fred/fred"));
+ assertTrue(PermEval.evalInstance("/fred/barney,betty,fred,wilma","/fred/fred"));
+ assertTrue(PermEval.evalInstance("*","fred"));
+ assertTrue(PermEval.evalInstance("/*/fred","/fred/fred"));
+ assertTrue(PermEval.evalInstance("/fred/*","/fred/fred"));
+ assertTrue(PermEval.evalInstance("/!f.*/fred","/fred/fred"));
+ assertTrue(PermEval.evalInstance("/fred/!f.*","/fred/fred"));
+
+ // FALSE
+ assertFalse(PermEval.evalInstance("fred","wilma"));
+ assertFalse(PermEval.evalInstance("fred,barney,betty","wilma"));
+ assertFalse(PermEval.evalInstance("/fred/fred","/fred/wilma"));
+ assertFalse(PermEval.evalInstance("/fred/fred","/wilma/fred"));
+ assertFalse(PermEval.evalInstance("/wilma/!f.*","/fred/fred"));
+ assertFalse(PermEval.evalInstance("/!f.*/wilma","/fred/fred"));
+ assertFalse(PermEval.evalInstance("/!w.*/!f.*","/fred/fred"));
+ assertFalse(PermEval.evalInstance("/!f.*/!w.*","/fred/fred"));
+
+ assertFalse(PermEval.evalInstance("/fred/!x.*","/fred/fred"));
+
+ assertTrue(PermEval.evalInstance(":!com.att.*:role:write",":com.att.temp:role:write"));
+
+ // CPFSF-431 Group needed help with Wild Card
+ // They tried
+ assertTrue(PermEval.evalInstance(
+ ":topic.com.att.ecomp_test.crm.pre*",
+ ":topic.com.att.ecomp_test.crm.predemo100"
+ ));
+
+ // Also can be
+ assertTrue(PermEval.evalInstance(
+ ":!topic.com.att.ecomp_test.crm.pre.*",
+ ":topic.com.att.ecomp_test.crm.predemo100"
+ ));
+
+ // coverage
+ @SuppressWarnings("unused")
+ PermEval pe = new PermEval();
+ }