(t *testing.T)
| 724 | } |
| 725 | |
| 726 | func TestTemporalRolesModelWithDomain(t *testing.T) { |
| 727 | e, _ := NewEnforcer("examples/rbac_with_domain_temporal_roles_model.conf", "examples/rbac_with_domain_temporal_roles_policy.csv") |
| 728 | |
| 729 | e.AddNamedDomainLinkConditionFunc("g", "alice", "data2_admin", "domain2", util.TimeMatchFunc) |
| 730 | e.AddNamedDomainLinkConditionFunc("g", "alice", "data3_admin", "domain3", util.TimeMatchFunc) |
| 731 | e.AddNamedDomainLinkConditionFunc("g", "alice", "data4_admin", "domain4", util.TimeMatchFunc) |
| 732 | e.AddNamedDomainLinkConditionFunc("g", "alice", "data5_admin", "domain5", util.TimeMatchFunc) |
| 733 | e.AddNamedDomainLinkConditionFunc("g", "alice", "data6_admin", "domain6", util.TimeMatchFunc) |
| 734 | e.AddNamedDomainLinkConditionFunc("g", "alice", "data7_admin", "domain7", util.TimeMatchFunc) |
| 735 | e.AddNamedDomainLinkConditionFunc("g", "alice", "data8_admin", "domain8", util.TimeMatchFunc) |
| 736 | |
| 737 | testDomainEnforce(t, e, "alice", "domain1", "data1", "read", true) |
| 738 | testDomainEnforce(t, e, "alice", "domain1", "data1", "write", true) |
| 739 | testDomainEnforce(t, e, "alice", "domain2", "data2", "read", false) |
| 740 | testDomainEnforce(t, e, "alice", "domain2", "data2", "write", false) |
| 741 | testDomainEnforce(t, e, "alice", "domain3", "data3", "read", true) |
| 742 | testDomainEnforce(t, e, "alice", "domain3", "data3", "write", true) |
| 743 | testDomainEnforce(t, e, "alice", "domain4", "data4", "read", true) |
| 744 | testDomainEnforce(t, e, "alice", "domain4", "data4", "write", true) |
| 745 | testDomainEnforce(t, e, "alice", "domain5", "data5", "read", true) |
| 746 | testDomainEnforce(t, e, "alice", "domain5", "data5", "write", true) |
| 747 | testDomainEnforce(t, e, "alice", "domain6", "data6", "read", false) |
| 748 | testDomainEnforce(t, e, "alice", "domain6", "data6", "write", false) |
| 749 | testDomainEnforce(t, e, "alice", "domain7", "data7", "read", true) |
| 750 | testDomainEnforce(t, e, "alice", "domain7", "data7", "write", true) |
| 751 | testDomainEnforce(t, e, "alice", "domain8", "data8", "read", false) |
| 752 | testDomainEnforce(t, e, "alice", "domain8", "data8", "write", false) |
| 753 | |
| 754 | testDomainEnforce(t, e, "alice", "domain_not_exist", "data1", "read", false) |
| 755 | testDomainEnforce(t, e, "alice", "domain_not_exist", "data1", "write", false) |
| 756 | testDomainEnforce(t, e, "alice", "domain_not_exist", "data2", "read", false) |
| 757 | testDomainEnforce(t, e, "alice", "domain_not_exist", "data2", "write", false) |
| 758 | testDomainEnforce(t, e, "alice", "domain_not_exist", "data3", "read", false) |
| 759 | testDomainEnforce(t, e, "alice", "domain_not_exist", "data3", "write", false) |
| 760 | testDomainEnforce(t, e, "alice", "domain_not_exist", "data4", "read", false) |
| 761 | testDomainEnforce(t, e, "alice", "domain_not_exist", "data4", "write", false) |
| 762 | testDomainEnforce(t, e, "alice", "domain_not_exist", "data5", "read", false) |
| 763 | testDomainEnforce(t, e, "alice", "domain_not_exist", "data5", "write", false) |
| 764 | testDomainEnforce(t, e, "alice", "domain_not_exist", "data6", "read", false) |
| 765 | testDomainEnforce(t, e, "alice", "domain_not_exist", "data6", "write", false) |
| 766 | testDomainEnforce(t, e, "alice", "domain_not_exist", "data7", "read", false) |
| 767 | testDomainEnforce(t, e, "alice", "domain_not_exist", "data7", "write", false) |
| 768 | testDomainEnforce(t, e, "alice", "domain_not_exist", "data8", "read", false) |
| 769 | testDomainEnforce(t, e, "alice", "domain_not_exist", "data8", "write", false) |
| 770 | } |
| 771 | |
| 772 | func TestReBACModel(t *testing.T) { |
| 773 | e, _ := NewEnforcer("examples/rebac_model.conf", "examples/rebac_policy.csv") |
nothing calls this directly
no test coverage detected
searching dependent graphs…