Update a couple permissions things, no longer allow anonymous users.

This commit is contained in:
Storm Dragon
2026-05-24 00:26:48 -04:00
parent 3e06de7501
commit 3df0c22948
6 changed files with 134 additions and 4 deletions
+77
View File
@@ -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