commit
22de001a80
15
auth/auth.go
15
auth/auth.go
@ -72,6 +72,21 @@ type Account struct {
|
|||||||
Secret string `json:"secret"`
|
Secret string `json:"secret"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// HasRole returns a boolean indicating if the account has the given role
|
||||||
|
func (a *Account) HasRole(role string) bool {
|
||||||
|
if a.Roles == nil {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, r := range a.Roles {
|
||||||
|
if r == role {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
// Token can be short or long lived
|
// Token can be short or long lived
|
||||||
type Token struct {
|
type Token struct {
|
||||||
// The token to be used for accessing resources
|
// The token to be used for accessing resources
|
||||||
|
17
auth/auth_test.go
Normal file
17
auth/auth_test.go
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
package auth
|
||||||
|
|
||||||
|
import "testing"
|
||||||
|
|
||||||
|
func TestHasRole(t *testing.T) {
|
||||||
|
if new(Account).HasRole("foo") {
|
||||||
|
t.Errorf("Expected the blank account to not have a role")
|
||||||
|
}
|
||||||
|
|
||||||
|
acc := Account{Roles: []string{"foo"}}
|
||||||
|
if !acc.HasRole("foo") {
|
||||||
|
t.Errorf("Expected the account to have the foo role")
|
||||||
|
}
|
||||||
|
if acc.HasRole("bar") {
|
||||||
|
t.Errorf("Expected the account to not have the bar role")
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user