From 3d3bee3c395e7dedc0ddebb5db81644c85341224 Mon Sep 17 00:00:00 2001 From: ale <ale@incal.net> Date: Sun, 5 Dec 2021 15:34:17 +0000 Subject: [PATCH] Add a test for DisableUser --- integrationtest/disable_user_test.go | 53 ++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 integrationtest/disable_user_test.go diff --git a/integrationtest/disable_user_test.go b/integrationtest/disable_user_test.go new file mode 100644 index 00000000..7adb0b83 --- /dev/null +++ b/integrationtest/disable_user_test.go @@ -0,0 +1,53 @@ +package integrationtest + +import ( + "testing" + + as "git.autistici.org/ai3/accountserver" +) + +func TestIntegration_DisableUser(t *testing.T) { + stop, _, c := startService(t) + defer stop() + + username := "uno@investici.org" + err := c.request("/api/user/disable", &as.DisableUserRequest{ + UserRequestBase: as.UserRequestBase{ + RequestBase: as.RequestBase{ + SSO: c.ssoTicket(username), + }, + Username: username, + }, + }, nil) + if err != nil { + t.Fatalf("DisableUser(): %v", err) + } + + // Normal GetUser does not return the user anymore. + if _, err := c.getUser(username); err == nil { + t.Fatal("GetUser() returns user after deletion") + } + + // We have to specify IncludeInactive to get it. + var user as.User + err = c.request("/api/user/get", &as.GetUserRequest{ + UserRequestBase: as.UserRequestBase{ + RequestBase: as.RequestBase{ + SSO: c.ssoTicket(testAdminUser, testAdminGroup), + }, + Username: username, + }, + IncludeInactive: true, + }, &user) + if err != nil { + t.Fatalf("GetUser(include_inactive=true) error: %v", err) + } + if user.Status != as.UserStatusInactive { + t.Errorf("user status is not inactive: %s", user.Status) + } + for _, r := range user.Resources { + if r.Status != as.ResourceStatusInactive { + t.Errorf("resource %s status is not inactive: %s", r.ID.String(), r.Status) + } + } +} -- GitLab