From 12ae65d6905aea1101ccf027a2d2ac9c34f41013 Mon Sep 17 00:00:00 2001 From: Wilfred Asomani Date: Thu, 15 Feb 2024 13:05:27 +0000 Subject: [PATCH] satellite/console: test update account This change adds tests to the update account endpoint. Issue: https://github.com/storj/storj/issues/6755 Change-Id: I77dd0100cb75aa1da07b77be0795913722ad3fe4 --- .../consoleweb/consoleapi/auth_test.go | 39 +++++++++++++++++++ .../console/consoleweb/endpoints_test.go | 22 +++++++++++ 2 files changed, 61 insertions(+) diff --git a/satellite/console/consoleweb/consoleapi/auth_test.go b/satellite/console/consoleweb/consoleapi/auth_test.go index 69f00838fe72..976b55ad82fd 100644 --- a/satellite/console/consoleweb/consoleapi/auth_test.go +++ b/satellite/console/consoleweb/consoleapi/auth_test.go @@ -154,6 +154,45 @@ func TestAuth_Register(t *testing.T) { }) } +func TestAuth_UpdateUser(t *testing.T) { + testplanet.Run(t, testplanet.Config{ + SatelliteCount: 1, StorageNodeCount: 0, UplinkCount: 1, + }, func(t *testing.T, ctx *testcontext.Context, planet *testplanet.Planet) { + sat := planet.Satellites[0] + service := sat.API.Console.Service + + user, _, err := service.GetUserByEmailWithUnverified(ctx, planet.Uplinks[0].User[sat.ID()].Email) + require.NoError(t, err) + require.NotNil(t, user) + + userCtx, err := sat.UserContext(ctx, user.ID) + require.NoError(t, err) + + newName := "new name" + shortName := "NN" + err = service.UpdateAccount(userCtx, newName, shortName) + require.NoError(t, err) + + user, _, err = service.GetUserByEmailWithUnverified(ctx, planet.Uplinks[0].User[sat.ID()].Email) + require.NoError(t, err) + require.Equal(t, newName, user.FullName) + require.Equal(t, shortName, user.ShortName) + + err = service.UpdateAccount(userCtx, newName, "") + require.NoError(t, err) + + user, _, err = service.GetUserByEmailWithUnverified(ctx, planet.Uplinks[0].User[sat.ID()].Email) + require.NoError(t, err) + require.Equal(t, newName, user.FullName) + require.Equal(t, "", user.ShortName) + + // empty full name not allowed + err = service.UpdateAccount(userCtx, "", shortName) + require.Error(t, err) + require.True(t, console.ErrValidation.Has(err)) + }) +} + func TestAuth_RegisterWithInvitation(t *testing.T) { testplanet.Run(t, testplanet.Config{ SatelliteCount: 1, StorageNodeCount: 0, UplinkCount: 1, diff --git a/satellite/console/consoleweb/endpoints_test.go b/satellite/console/consoleweb/endpoints_test.go index 59a03a9b7463..0fcfecd5791b 100644 --- a/satellite/console/consoleweb/endpoints_test.go +++ b/satellite/console/consoleweb/endpoints_test.go @@ -91,6 +91,28 @@ func TestAuth(t *testing.T) { require.NotEmpty(test.t, userIdentifier.ID) } + { // Update_AccountInfo + newName := "new name" + shortName := "NN" + resp, _ := test.request(http.MethodPatch, "/auth/account", test.toJSON(map[string]string{ + "fullName": newName, + "shortName": shortName, + })) + require.Equal(test.t, http.StatusOK, resp.StatusCode) + + resp, body := test.request(http.MethodGet, "/auth/account", nil) + require.Equal(test.t, http.StatusOK, resp.StatusCode) + require.Contains(test.t, body, newName) + require.Contains(test.t, body, shortName) + + // empty full name not allowed + resp, _ = test.request(http.MethodPatch, "/auth/account", test.toJSON(map[string]string{ + "fullName": "", + "shortName": shortName, + })) + require.Equal(test.t, http.StatusBadRequest, resp.StatusCode) + } + { // Get_FreezeStatus resp, body := test.request(http.MethodGet, "/auth/account/freezestatus", nil) require.Equal(test.t, http.StatusOK, resp.StatusCode)