Skip to content

Commit c072a0f

Browse files
committed
fix: map creation source to service_account
1 parent 7559f3e commit c072a0f

File tree

2 files changed

+32
-1
lines changed

2 files changed

+32
-1
lines changed

guard/lib/guard/grpc_servers/user_server.ex

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -664,6 +664,7 @@ defmodule Guard.GrpcServers.UserServer do
664664
defp map_creation_source(user) do
665665
case user[:creation_source] do
666666
:okta -> User.User.CreationSource.value(:OKTA)
667+
:service_account -> User.User.CreationSource.value(:SERVICE_ACCOUNT)
667668
_ -> User.User.CreationSource.value(:NOT_SET)
668669
end
669670
end

guard/test/guard/grpc_servers/user_server_test.exs

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1407,14 +1407,18 @@ defmodule Guard.GrpcServers.UserServerTest do
14071407
id: user_id,
14081408
name: user_name,
14091409
email: user_email,
1410-
repository_providers: []
1410+
repository_providers: [],
1411+
creation_source: creation_source
14111412
}
14121413
} = response
14131414

14141415
assert user_id == user.id
14151416
assert user_name == "Test Service Account"
14161417
assert user_email == user.email
14171418
assert user.creation_source == :service_account
1419+
# Verify that SERVICE_ACCOUNT enum value (2) is returned
1420+
assert creation_source == InternalApi.User.User.CreationSource.value(:SERVICE_ACCOUNT)
1421+
assert creation_source == 2
14181422
end
14191423

14201424
test "should not return repository providers for service accounts", %{grpc_channel: channel} do
@@ -1516,7 +1520,33 @@ defmodule Guard.GrpcServers.UserServerTest do
15161520
# All should be service accounts with no repository providers
15171521
Enum.each(users, fn user ->
15181522
assert user.repository_providers == []
1523+
# Verify creation_source is SERVICE_ACCOUNT (2)
1524+
assert user.creation_source ==
1525+
InternalApi.User.User.CreationSource.value(:SERVICE_ACCOUNT)
1526+
1527+
assert user.creation_source == 2
15191528
end)
15201529
end
1530+
1531+
test "should return creation_source as SERVICE_ACCOUNT for service accounts", %{
1532+
grpc_channel: channel
1533+
} do
1534+
{:ok, %{service_account: _service_account, user: user}} =
1535+
Support.Factories.ServiceAccountFactory.insert()
1536+
1537+
request = User.DescribeRequest.new(user_id: user.id)
1538+
1539+
{:ok, response} = channel |> Stub.describe(request)
1540+
1541+
assert %User.DescribeResponse{
1542+
user: %User.User{
1543+
creation_source: creation_source
1544+
}
1545+
} = response
1546+
1547+
# Verify creation_source is exactly SERVICE_ACCOUNT (enum value 2)
1548+
assert creation_source == InternalApi.User.User.CreationSource.value(:SERVICE_ACCOUNT)
1549+
assert creation_source == 2
1550+
end
15211551
end
15221552
end

0 commit comments

Comments
 (0)