| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- package user_test
- import (
- "testing"
- "github.com/porter-dev/porter/api/server/handlers/user"
- "github.com/porter-dev/porter/api/server/shared"
- "github.com/porter-dev/porter/api/server/shared/apitest"
- "github.com/porter-dev/porter/api/types"
- "github.com/porter-dev/porter/internal/repository/test"
- "github.com/stretchr/testify/assert"
- "gorm.io/gorm"
- )
- func TestDeleteUserSuccessful(t *testing.T) {
- req, rr := apitest.GetRequestAndRecorder(
- t,
- string(types.HTTPVerbDelete),
- "/api/users/current",
- nil,
- )
- config := apitest.LoadConfig(t)
- authUser := apitest.CreateTestUser(t, config, true)
- req = apitest.WithAuthenticatedUser(t, req, authUser)
- handler := user.NewUserDeleteHandler(
- config,
- shared.NewDefaultResultWriter(config.Logger, config.Alerter),
- )
- handler.ServeHTTP(rr, req)
- expUser := &types.CreateUserResponse{
- ID: 1,
- Email: "test@test.it",
- EmailVerified: true,
- }
- gotUser := &types.CreateUserResponse{}
- apitest.AssertResponseExpected(t, rr, expUser, gotUser)
- // assert that the user has been deleted
- authUser, err := config.Repo.User().ReadUser(1)
- targetErr := gorm.ErrRecordNotFound
- assert.ErrorIs(t, err, targetErr)
- }
- func TestFailingDeleteUserMethod(t *testing.T) {
- req, rr := apitest.GetRequestAndRecorder(
- t,
- string(types.HTTPVerbDelete),
- "/api/users/current",
- nil,
- )
- config := apitest.LoadConfig(t, test.DeleteUserMethod)
- authUser := apitest.CreateTestUser(t, config, true)
- req = apitest.WithAuthenticatedUser(t, req, authUser)
- handler := user.NewUserDeleteHandler(
- config,
- shared.NewDefaultResultWriter(config.Logger, config.Alerter),
- )
- handler.ServeHTTP(rr, req)
- apitest.AssertResponseInternalServerError(t, rr)
- }
|