Update a couple permissions things, no longer allow anonymous users.
This commit is contained in:
@@ -238,6 +238,83 @@ func strPtr(s string) *string {
|
||||
return &s
|
||||
}
|
||||
|
||||
func TestEmptyUsernameIsRejected(t *testing.T) {
|
||||
halls.halls = nil
|
||||
oldDirectory := Directory
|
||||
Directory = t.TempDir()
|
||||
t.Cleanup(func() {
|
||||
Directory = oldDirectory
|
||||
halls.halls = nil
|
||||
})
|
||||
|
||||
err := os.WriteFile(
|
||||
filepath.Join(Directory, "empty-username-test.json"),
|
||||
[]byte(`{
|
||||
"wildcard-user": {"password": "secret", "permissions": "present"}
|
||||
}`),
|
||||
0600,
|
||||
)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
_, err = AddClient("empty-username-test", &testClient{id: "user1"}, ClientCredentials{
|
||||
Username: strPtr(""),
|
||||
Password: "secret",
|
||||
})
|
||||
if err == nil {
|
||||
t.Fatal("empty username unexpectedly joined")
|
||||
}
|
||||
}
|
||||
|
||||
func TestDuplicateUsernameIsRejected(t *testing.T) {
|
||||
halls.halls = nil
|
||||
oldDirectory := Directory
|
||||
Directory = t.TempDir()
|
||||
t.Cleanup(func() {
|
||||
Directory = oldDirectory
|
||||
halls.halls = nil
|
||||
})
|
||||
|
||||
err := os.WriteFile(
|
||||
filepath.Join(Directory, "duplicate-username-test.json"),
|
||||
[]byte(`{
|
||||
"wildcard-user": {"password": "secret", "permissions": "present"}
|
||||
}`),
|
||||
0600,
|
||||
)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
_, err = AddClient("duplicate-username-test", &testClient{id: "user1"}, ClientCredentials{
|
||||
Username: strPtr("bob1"),
|
||||
Password: "secret",
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
_, err = AddClient("duplicate-username-test", &testClient{id: "user2"}, ClientCredentials{
|
||||
Username: strPtr("bob1"),
|
||||
Password: "secret",
|
||||
})
|
||||
if err == nil {
|
||||
t.Fatal("duplicate username unexpectedly joined")
|
||||
}
|
||||
if got, want := err.Error(), "username already in use"; got != want {
|
||||
t.Fatalf("duplicate username error = %q, want %q", got, want)
|
||||
}
|
||||
|
||||
_, err = AddClient("duplicate-username-test", &testClient{id: "user3"}, ClientCredentials{
|
||||
Username: strPtr("bob2"),
|
||||
Password: "secret",
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatalf("different username should join: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestLockedHallJoinMessage(t *testing.T) {
|
||||
halls.halls = nil
|
||||
oldDirectory := Directory
|
||||
|
||||
Reference in New Issue
Block a user