MCPcopy Index your code
hub / github.com/apache/casbin / TestEnforcerWithDefaultLogger

Function TestEnforcerWithDefaultLogger

logger_test.go:68–137  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

66}
67
68func TestEnforcerWithDefaultLogger(t *testing.T) {
69 // Create enforcer with RBAC model and policy
70 e, err := NewEnforcer("examples/rbac_model.conf", "examples/rbac_policy.csv")
71 if err != nil {
72 t.Fatalf("Failed to create enforcer: %v", err)
73 }
74
75 // Create a buffer to capture log output
76 var buf bytes.Buffer
77 logger := log.NewDefaultLogger()
78 logger.SetOutput(&buf)
79
80 // Set up a callback to track log entries
81 var callbackEntries []*log.LogEntry
82 err = logger.SetLogCallback(func(entry *log.LogEntry) error {
83 // Create a copy of the entry to store
84 entryCopy := *entry
85 callbackEntries = append(callbackEntries, &entryCopy)
86 return nil
87 })
88 if err != nil {
89 t.Fatalf("Failed to set log callback: %v", err)
90 }
91
92 // Set the logger on the enforcer
93 e.SetLogger(logger)
94
95 // Test Enforce events
96 if result, err := e.Enforce("alice", "data1", "read"); err != nil {
97 t.Fatalf("Enforce failed: %v", err)
98 } else if !result {
99 t.Errorf("Expected alice to have read access to data1")
100 }
101
102 if result, err := e.Enforce("bob", "data2", "write"); err != nil {
103 t.Fatalf("Enforce failed: %v", err)
104 } else if !result {
105 t.Errorf("Expected bob to have write access to data2")
106 }
107
108 // Test AddPolicy event
109 if added, err := e.AddPolicy("charlie", "data3", "read"); err != nil {
110 t.Fatalf("AddPolicy failed: %v", err)
111 } else if !added {
112 t.Errorf("Expected policy to be added")
113 }
114
115 // Test RemovePolicy event
116 if removed, err := e.RemovePolicy("charlie", "data3", "read"); err != nil {
117 t.Fatalf("RemovePolicy failed: %v", err)
118 } else if !removed {
119 t.Errorf("Expected policy to be removed")
120 }
121
122 // Test SavePolicy and LoadPolicy events
123 if err := e.SavePolicy(); err != nil {
124 t.Fatalf("SavePolicy failed: %v", err)
125 }

Callers

nothing calls this directly

Calls 13

SetOutputMethod · 0.95
SetLogCallbackMethod · 0.95
SetLoggerMethod · 0.95
EnforceMethod · 0.95
AddPolicyMethod · 0.95
RemovePolicyMethod · 0.95
SavePolicyMethod · 0.95
LoadPolicyMethod · 0.95
NewDefaultLoggerFunction · 0.92
NewEnforcerFunction · 0.85
verifyBufferOutputFunction · 0.85
verifyCallbackEntriesFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…