From 5593e36594e1e0cdcc22a11302c3bb7758f5b7ab Mon Sep 17 00:00:00 2001 From: Vargha Csongor Date: Sun, 13 Apr 2025 20:16:46 +0200 Subject: [PATCH] test adin auth check --- .../api/auth/admin_operations_test.go | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 apps/db-adapter/internal/api/auth/admin_operations_test.go diff --git a/apps/db-adapter/internal/api/auth/admin_operations_test.go b/apps/db-adapter/internal/api/auth/admin_operations_test.go new file mode 100644 index 0000000..94b2d17 --- /dev/null +++ b/apps/db-adapter/internal/api/auth/admin_operations_test.go @@ -0,0 +1,59 @@ +package auth + +import ( + "context" + "errors" + "testing" + + "github.com/stretchr/testify/mock" + "github.com/stretchr/testify/require" + memgraphMock "github.com/vcscsvcscs/GenerationsHeritage/apps/db-adapter/internal/memgraph/mock" +) + +func TestCouldManagePerson(t *testing.T) { + ctx := context.Background() + mockSession := new(memgraphMock.SessionWithContext) + + t.Run("adminId equals XUserID", func(t *testing.T) { + err := CouldManagePerson(ctx, mockSession, 1, 2, 2) + require.NoError(t, err) + }) + + t.Run("adminId not equal XUserID, calls CouldManagePersonUnknownAdmin", func(t *testing.T) { + mockSession.On("ExecuteRead", mock.Anything, mock.Anything, mock.Anything).Return(nil, nil).Once() + + err := CouldManagePerson(ctx, mockSession, 1, 2, 3) + require.NoError(t, err) + + mockSession.AssertExpectations(t) + }) +} + +func TestCouldManagePersonUnknownAdmin(t *testing.T) { + ctx := context.Background() + mockSession := new(memgraphMock.SessionWithContext) + + t.Run("userId equals XUserID", func(t *testing.T) { + err := CouldManagePersonUnknownAdmin(ctx, mockSession, 1, 1) + require.NoError(t, err) + }) + + t.Run("userId not equal XUserID, ExecuteRead returns no error", func(t *testing.T) { + mockSession.On("ExecuteRead", mock.Anything, mock.Anything, mock.Anything).Return(nil, nil).Once() + + err := CouldManagePersonUnknownAdmin(ctx, mockSession, 1, 2) + require.NoError(t, err) + + mockSession.AssertExpectations(t) + }) + + t.Run("userId not equal XUserID, ExecuteRead returns error", func(t *testing.T) { + mockSession.On("ExecuteRead", mock.Anything, mock.Anything, mock.Anything).Return(nil, errors.New("some error")).Once() + + err := CouldManagePersonUnknownAdmin(ctx, mockSession, 1, 2) + require.Error(t, err) + require.EqualError(t, err, "some error") + + mockSession.AssertExpectations(t) + }) +}