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") | ||||||
|  | 	} | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user