···
assert.Contains(t, knots2, "example.com")
217
-
func TestGetUserByRole(t *testing.T) {
217
+
func TestGetKnotUsersByRole(t *testing.T) {
_ = e.AddKnot("example.com")
_ = e.AddKnotMember("example.com", "did:plc:foo")
_ = e.AddKnotOwner("example.com", "did:plc:bar")
223
-
members, _ := e.GetUserByRole("server:member", "example.com")
223
+
members, _ := e.GetKnotUsersByRole("server:member", "example.com")
224
+
assert.Contains(t, members, "did:plc:foo")
225
+
assert.Contains(t, members, "did:plc:bar") // due to inheritance
228
+
func TestGetSpindleUsersByRole(t *testing.T) {
230
+
_ = e.AddSpindle("example.com")
231
+
_ = e.AddSpindleMember("example.com", "did:plc:foo")
232
+
_ = e.AddSpindleOwner("example.com", "did:plc:bar")
234
+
members, _ := e.GetSpindleUsersByRole("server:member", "example.com")
assert.Contains(t, members, "did:plc:foo")
assert.Contains(t, members, "did:plc:bar") // due to inheritance
···
316
+
func TestRemoveKnotOwner(t *testing.T) {
319
+
err := e.AddKnot("k.com")
320
+
assert.NoError(t, err)
322
+
err = e.AddKnotOwner("k.com", "did:plc:foo")
323
+
assert.NoError(t, err)
325
+
knots, err := e.GetKnotsForUser("did:plc:foo")
326
+
assert.NoError(t, err)
327
+
assert.ElementsMatch(t, []string{
331
+
err = e.RemoveKnotOwner("k.com", "did:plc:foo")
332
+
assert.NoError(t, err)
334
+
knots, err = e.GetKnotsForUser("did:plc:foo")
335
+
assert.NoError(t, err)
336
+
assert.Empty(t, knots)
339
+
func TestRemoveKnotMember(t *testing.T) {
342
+
err := e.AddKnot("k.com")
343
+
assert.NoError(t, err)
345
+
err = e.AddKnotOwner("k.com", "did:plc:foo")
346
+
assert.NoError(t, err)
348
+
err = e.AddKnotMember("k.com", "did:plc:bar")
349
+
assert.NoError(t, err)
351
+
knots, err := e.GetKnotsForUser("did:plc:bar")
352
+
assert.NoError(t, err)
353
+
assert.ElementsMatch(t, []string{
357
+
err = e.RemoveKnotMember("k.com", "did:plc:bar")
358
+
assert.NoError(t, err)
360
+
knots, err = e.GetKnotsForUser("did:plc:bar")
361
+
assert.NoError(t, err)
362
+
assert.Empty(t, knots)
365
+
func TestRemoveSpindleOwner(t *testing.T) {
368
+
err := e.AddSpindle("s.com")
369
+
assert.NoError(t, err)
371
+
err = e.AddSpindleOwner("s.com", "did:plc:foo")
372
+
assert.NoError(t, err)
374
+
spindles, err := e.GetSpindlesForUser("did:plc:foo")
375
+
assert.NoError(t, err)
376
+
assert.ElementsMatch(t, []string{
380
+
err = e.RemoveSpindleOwner("s.com", "did:plc:foo")
381
+
assert.NoError(t, err)
383
+
spindles, err = e.GetSpindlesForUser("did:plc:foo")
384
+
assert.NoError(t, err)
385
+
assert.Empty(t, spindles)
388
+
func TestRemoveSpindleMember(t *testing.T) {
391
+
err := e.AddSpindle("s.com")
392
+
assert.NoError(t, err)
394
+
err = e.AddSpindleOwner("s.com", "did:plc:foo")
395
+
assert.NoError(t, err)
397
+
err = e.AddSpindleMember("s.com", "did:plc:bar")
398
+
assert.NoError(t, err)
400
+
spindles, err := e.GetSpindlesForUser("did:plc:foo")
401
+
assert.NoError(t, err)
402
+
assert.ElementsMatch(t, []string{
406
+
spindles, err = e.GetSpindlesForUser("did:plc:bar")
407
+
assert.NoError(t, err)
408
+
assert.ElementsMatch(t, []string{
412
+
err = e.RemoveSpindleMember("s.com", "did:plc:bar")
413
+
assert.NoError(t, err)
415
+
spindles, err = e.GetSpindlesForUser("did:plc:bar")
416
+
assert.NoError(t, err)
417
+
assert.Empty(t, spindles)
420
+
func TestRemoveSpindle(t *testing.T) {
423
+
err := e.AddSpindle("s.com")
424
+
assert.NoError(t, err)
426
+
err = e.AddSpindleOwner("s.com", "did:plc:foo")
427
+
assert.NoError(t, err)
429
+
err = e.AddSpindleMember("s.com", "did:plc:bar")
430
+
assert.NoError(t, err)
432
+
users, err := e.GetSpindleUsersByRole("server:member", "s.com")
433
+
assert.NoError(t, err)
434
+
assert.ElementsMatch(t, []string{
439
+
err = e.RemoveSpindle("s.com")
440
+
assert.NoError(t, err)
442
+
// TODO: see this issue https://github.com/casbin/casbin/issues/1492
443
+
// s, err := e.E.GetAllDomains()
444
+
// assert.Empty(t, s)
446
+
spindles, err := e.GetSpindleUsersByRole("server:member", "s.com")
447
+
assert.NoError(t, err)
448
+
assert.Empty(t, spindles)