Checkpoint audio-only Skald fork work
This commit is contained in:
+51
-51
@@ -25,7 +25,7 @@ func timeEqual(a, b *time.Time) bool {
|
||||
}
|
||||
|
||||
func equal(a, b *Stateful) bool {
|
||||
if a.Token != b.Token || a.Group != b.Group ||
|
||||
if a.Token != b.Token || a.Hall != b.Hall ||
|
||||
!reflect.DeepEqual(a.Username, b.Username) ||
|
||||
!reflect.DeepEqual(a.Permissions, b.Permissions) ||
|
||||
!timeEqual(a.Expires, b.Expires) ||
|
||||
@@ -46,108 +46,108 @@ func TestStatefulCheck(t *testing.T) {
|
||||
user2 := "user2"
|
||||
token1 := &Stateful{
|
||||
Token: "token",
|
||||
Group: "hall",
|
||||
Hall: "hall",
|
||||
Username: &user,
|
||||
Permissions: []string{"present", "message"},
|
||||
Expires: &future,
|
||||
}
|
||||
token2 := &Stateful{
|
||||
Token: "token",
|
||||
Group: "hall",
|
||||
Hall: "hall",
|
||||
Permissions: []string{"present", "message"},
|
||||
Expires: &future,
|
||||
}
|
||||
token3 := &Stateful{
|
||||
Token: "token",
|
||||
Group: "hall",
|
||||
Hall: "hall",
|
||||
Username: &user,
|
||||
Permissions: []string{"present", "message"},
|
||||
Expires: &past,
|
||||
}
|
||||
token4 := &Stateful{
|
||||
Token: "token",
|
||||
Group: "hall",
|
||||
Hall: "hall",
|
||||
Username: &user,
|
||||
Permissions: []string{"present", "message"},
|
||||
Expires: &future,
|
||||
NotBefore: &nearFuture,
|
||||
}
|
||||
token5 := &Stateful{
|
||||
Token: "token",
|
||||
Group: "hall",
|
||||
IncludeSubgroups: true,
|
||||
Username: &user,
|
||||
Permissions: []string{"present", "message"},
|
||||
Expires: &future,
|
||||
Token: "token",
|
||||
Hall: "hall",
|
||||
IncludeSubhalls: true,
|
||||
Username: &user,
|
||||
Permissions: []string{"present", "message"},
|
||||
Expires: &future,
|
||||
}
|
||||
token6 := &Stateful{
|
||||
Token: "token",
|
||||
Group: "",
|
||||
IncludeSubgroups: false,
|
||||
Username: &user,
|
||||
Permissions: []string{"present", "message"},
|
||||
Expires: &future,
|
||||
Token: "token",
|
||||
Hall: "",
|
||||
IncludeSubhalls: false,
|
||||
Username: &user,
|
||||
Permissions: []string{"present", "message"},
|
||||
Expires: &future,
|
||||
}
|
||||
token7 := &Stateful{
|
||||
Token: "token",
|
||||
Group: "",
|
||||
IncludeSubgroups: true,
|
||||
Username: &user,
|
||||
Permissions: []string{"present", "message"},
|
||||
Expires: &future,
|
||||
Token: "token",
|
||||
Hall: "",
|
||||
IncludeSubhalls: true,
|
||||
Username: &user,
|
||||
Permissions: []string{"present", "message"},
|
||||
Expires: &future,
|
||||
}
|
||||
|
||||
success := []struct {
|
||||
token *Stateful
|
||||
group string
|
||||
hall string
|
||||
username *string
|
||||
expUsername string
|
||||
expPermissions []string
|
||||
}{
|
||||
{
|
||||
token: token1,
|
||||
group: "hall",
|
||||
hall: "hall",
|
||||
username: &user,
|
||||
expUsername: user,
|
||||
expPermissions: []string{"present", "message"},
|
||||
},
|
||||
{
|
||||
token: token1,
|
||||
group: "hall",
|
||||
hall: "hall",
|
||||
username: &user2,
|
||||
expUsername: user,
|
||||
expPermissions: []string{"present", "message"},
|
||||
},
|
||||
{
|
||||
token: token1,
|
||||
group: "hall",
|
||||
hall: "hall",
|
||||
expUsername: user,
|
||||
expPermissions: []string{"present", "message"},
|
||||
},
|
||||
{
|
||||
token: token2,
|
||||
group: "hall",
|
||||
hall: "hall",
|
||||
username: &user,
|
||||
expUsername: "",
|
||||
expPermissions: []string{"present", "message"},
|
||||
},
|
||||
{
|
||||
token: token5,
|
||||
group: "hall",
|
||||
hall: "hall",
|
||||
username: &user,
|
||||
expUsername: "user",
|
||||
expPermissions: []string{"present", "message"},
|
||||
},
|
||||
{
|
||||
token: token5,
|
||||
group: "hall/subhall",
|
||||
hall: "hall/subhall",
|
||||
username: &user,
|
||||
expUsername: "user",
|
||||
expPermissions: []string{"present", "message"},
|
||||
},
|
||||
{
|
||||
token: token7,
|
||||
group: "hall/subhall",
|
||||
hall: "hall/subhall",
|
||||
username: &user,
|
||||
expUsername: "user",
|
||||
expPermissions: []string{"present", "message"},
|
||||
@@ -155,62 +155,62 @@ func TestStatefulCheck(t *testing.T) {
|
||||
}
|
||||
|
||||
for i, s := range success {
|
||||
u, p, err := s.token.Check("", s.group, s.username)
|
||||
u, p, err := s.token.Check("", s.hall, s.username)
|
||||
if err != nil || u != s.expUsername ||
|
||||
!reflect.DeepEqual(p, s.expPermissions) {
|
||||
t.Errorf("Check %v failed: %v %v %v -> %v %v %v",
|
||||
i, s.token, s.group, s.username,
|
||||
i, s.token, s.hall, s.username,
|
||||
u, p, err)
|
||||
}
|
||||
}
|
||||
|
||||
failure := []struct {
|
||||
token *Stateful
|
||||
group string
|
||||
hall string
|
||||
username *string
|
||||
}{
|
||||
{
|
||||
token: token1,
|
||||
group: "hall2",
|
||||
hall: "hall2",
|
||||
username: &user,
|
||||
},
|
||||
{
|
||||
token: token3,
|
||||
group: "hall",
|
||||
hall: "hall",
|
||||
username: &user,
|
||||
},
|
||||
{
|
||||
token: token4,
|
||||
group: "hall",
|
||||
hall: "hall",
|
||||
username: &user,
|
||||
},
|
||||
{
|
||||
token: token5,
|
||||
group: "groups",
|
||||
hall: "other",
|
||||
username: &user,
|
||||
},
|
||||
{
|
||||
token: token6,
|
||||
group: "",
|
||||
hall: "",
|
||||
username: &user,
|
||||
},
|
||||
{
|
||||
token: token6,
|
||||
group: "hall",
|
||||
hall: "hall",
|
||||
username: &user,
|
||||
},
|
||||
{
|
||||
token: token7,
|
||||
group: "",
|
||||
hall: "",
|
||||
username: &user,
|
||||
},
|
||||
}
|
||||
|
||||
for i, s := range failure {
|
||||
u, p, err := s.token.Check("", s.group, s.username)
|
||||
u, p, err := s.token.Check("", s.hall, s.username)
|
||||
if err == nil {
|
||||
t.Errorf("Check %v succeded: %v %v %v -> %v %v %v",
|
||||
i, s.token, s.group, s.username,
|
||||
i, s.token, s.hall, s.username,
|
||||
u, p, err)
|
||||
}
|
||||
}
|
||||
@@ -295,14 +295,14 @@ func TestTokenStorage(t *testing.T) {
|
||||
tokens := []*Stateful{
|
||||
{
|
||||
Token: "tok1",
|
||||
Group: "test",
|
||||
Hall: "test",
|
||||
Username: &user1,
|
||||
Permissions: []string{"present", "message"},
|
||||
Expires: &future,
|
||||
},
|
||||
{
|
||||
Token: "tok2",
|
||||
Group: "test",
|
||||
Hall: "test",
|
||||
Username: &user2,
|
||||
Permissions: []string{"present", "record", "message"},
|
||||
Expires: &nearFuture,
|
||||
@@ -310,7 +310,7 @@ func TestTokenStorage(t *testing.T) {
|
||||
},
|
||||
{
|
||||
Token: "tok3",
|
||||
Group: "test",
|
||||
Hall: "test",
|
||||
Username: &user3,
|
||||
Permissions: []string{"present", "message"},
|
||||
Expires: &nearFuture,
|
||||
@@ -390,35 +390,35 @@ func TestExpire(t *testing.T) {
|
||||
tokens := []*Stateful{
|
||||
{
|
||||
Token: "tok1",
|
||||
Group: "test",
|
||||
Hall: "test",
|
||||
Username: &user,
|
||||
Permissions: []string{"present", "message"},
|
||||
Expires: &now,
|
||||
},
|
||||
{
|
||||
Token: "tok2",
|
||||
Group: "test",
|
||||
Hall: "test",
|
||||
Username: &user,
|
||||
Permissions: []string{"present", "message"},
|
||||
Expires: &future,
|
||||
},
|
||||
{
|
||||
Token: "tok3",
|
||||
Group: "test",
|
||||
Hall: "test",
|
||||
Username: &user,
|
||||
Permissions: []string{"present", "message"},
|
||||
Expires: &now,
|
||||
},
|
||||
{
|
||||
Token: "tok4",
|
||||
Group: "test",
|
||||
Hall: "test",
|
||||
Username: &user,
|
||||
Permissions: []string{"present", "message"},
|
||||
Expires: &past,
|
||||
},
|
||||
{
|
||||
Token: "tok5",
|
||||
Group: "test",
|
||||
Hall: "test",
|
||||
Username: &user,
|
||||
Permissions: []string{"present", "message"},
|
||||
Expires: &longPast,
|
||||
|
||||
Reference in New Issue
Block a user