Add permissions test
This commit is contained in:
parent
86748fa32b
commit
04fa8f53e1
89
main_test.go
Normal file
89
main_test.go
Normal file
|
@ -0,0 +1,89 @@
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
_ "embed"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/ectrc/snow/aid"
|
||||||
|
"github.com/ectrc/snow/fortnite"
|
||||||
|
p "github.com/ectrc/snow/person"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestPersonPermissions(t *testing.T) {
|
||||||
|
person := fortnite.NewFortnitePerson("helloWorld", false)
|
||||||
|
if person.DisplayName != "helloWorld" {
|
||||||
|
t.Errorf("Expected 'helloWorld', got %s", person.DisplayName)
|
||||||
|
}
|
||||||
|
|
||||||
|
aid.Print("intial permissions", person.Permissions)
|
||||||
|
if person.Permissions != 0 {
|
||||||
|
t.Errorf("Expected 0, got %d", person.Permissions)
|
||||||
|
}
|
||||||
|
|
||||||
|
person.AddPermission(p.PermissionAll)
|
||||||
|
aid.Print("permissions after adding all", person.Permissions)
|
||||||
|
|
||||||
|
if !person.HasPermission(p.PermissionAll) {
|
||||||
|
t.Errorf("Expected to have all permissions, got false")
|
||||||
|
}
|
||||||
|
aid.Print("has all", person.HasPermission(p.PermissionAll))
|
||||||
|
|
||||||
|
if !person.HasPermission(p.PermissionDonator) {
|
||||||
|
t.Errorf("Expected donator permission as a result of all permissions, got false")
|
||||||
|
}
|
||||||
|
aid.Print("has donator", person.HasPermission(p.PermissionDonator))
|
||||||
|
|
||||||
|
person.RemovePermission(p.PermissionAll)
|
||||||
|
aid.Print("permissions after removing all", person.Permissions)
|
||||||
|
|
||||||
|
if person.HasPermission(p.PermissionAll) {
|
||||||
|
t.Errorf("Expected no permissions, got true")
|
||||||
|
}
|
||||||
|
aid.Print("does not have all", !person.HasPermission(p.PermissionAll))
|
||||||
|
|
||||||
|
person.AddPermission(p.PermissionDonator)
|
||||||
|
aid.Print("permissions after adding donator", person.Permissions)
|
||||||
|
|
||||||
|
if !person.HasPermission(p.PermissionDonator) {
|
||||||
|
t.Errorf("Expected to have donator permission, got false")
|
||||||
|
}
|
||||||
|
aid.Print("has donator", person.HasPermission(p.PermissionDonator))
|
||||||
|
|
||||||
|
if person.HasPermission(p.PermissionAll) {
|
||||||
|
t.Errorf("Expected not to have all permission, got true")
|
||||||
|
}
|
||||||
|
aid.Print("does not have all", !person.HasPermission(p.PermissionAll))
|
||||||
|
|
||||||
|
if person.HasPermission(p.PermissionItemControl) {
|
||||||
|
t.Errorf("Expected not to have give permission, got true")
|
||||||
|
}
|
||||||
|
|
||||||
|
person.RemovePermission(p.PermissionAll)
|
||||||
|
aid.Print("permissions after removing all", person.Permissions)
|
||||||
|
|
||||||
|
if person.HasPermission(p.PermissionAll) {
|
||||||
|
t.Errorf("Expected not to have all permission, got true")
|
||||||
|
}
|
||||||
|
aid.Print("does not have all", !person.HasPermission(p.PermissionAll))
|
||||||
|
|
||||||
|
if person.HasPermission(p.PermissionDonator) {
|
||||||
|
t.Errorf("Expected not to have donator permission, got true")
|
||||||
|
}
|
||||||
|
aid.Print("does not have donator", !person.HasPermission(p.PermissionDonator))
|
||||||
|
|
||||||
|
person.AddPermission(p.PermissionDonator | p.PermissionItemControl)
|
||||||
|
aid.Print("permissions after adding donator and item control", person.Permissions)
|
||||||
|
|
||||||
|
if !person.HasPermission(p.PermissionDonator) {
|
||||||
|
t.Errorf("Expected to have donator permission, got false")
|
||||||
|
}
|
||||||
|
aid.Print("has donator", person.HasPermission(p.PermissionDonator))
|
||||||
|
|
||||||
|
if !person.HasPermission(p.PermissionItemControl) {
|
||||||
|
t.Errorf("Expected to have item control permission, got false")
|
||||||
|
}
|
||||||
|
aid.Print("has item control", person.HasPermission(p.PermissionItemControl))
|
||||||
|
|
||||||
|
|
||||||
|
person.Delete()
|
||||||
|
}
|
|
@ -1,5 +1,7 @@
|
||||||
package person
|
package person
|
||||||
|
|
||||||
|
import "github.com/ectrc/snow/aid"
|
||||||
|
|
||||||
type Permission int64
|
type Permission int64
|
||||||
|
|
||||||
// DO NOT MOVE THE ORDER OF THESE PERMISSIONS AS THEY ARE USED IN THE DATABASE
|
// DO NOT MOVE THE ORDER OF THESE PERMISSIONS AS THEY ARE USED IN THE DATABASE
|
||||||
|
@ -14,5 +16,33 @@ const (
|
||||||
PermissionOwner
|
PermissionOwner
|
||||||
PermissionDonator
|
PermissionDonator
|
||||||
|
|
||||||
PermissionAll Permission = 1<<iota - 1
|
permissionRealAll = 1<<iota - 1
|
||||||
)
|
// every permission except owner
|
||||||
|
PermissionAll Permission = permissionRealAll ^ PermissionOwner
|
||||||
|
)
|
||||||
|
|
||||||
|
func (p Permission) StringifyMe() string {
|
||||||
|
aid.Print(p)
|
||||||
|
switch p {
|
||||||
|
case PermissionLookup:
|
||||||
|
return "Lookup"
|
||||||
|
case PermissionBan:
|
||||||
|
return "Ban"
|
||||||
|
case PermissionInformation:
|
||||||
|
return "Information"
|
||||||
|
case PermissionItemControl:
|
||||||
|
return "ItemControl"
|
||||||
|
case PermissionLockerControl:
|
||||||
|
return "LockerControl"
|
||||||
|
case PermissionPermissionControl:
|
||||||
|
return "PermissionControl"
|
||||||
|
case PermissionOwner:
|
||||||
|
return "Owner"
|
||||||
|
case PermissionDonator:
|
||||||
|
return "Donator"
|
||||||
|
case PermissionAll:
|
||||||
|
return "All"
|
||||||
|
default:
|
||||||
|
return "Unknown"
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user