1
0
forked from baron/baron-sso

kratos SSOT 재설계

This commit is contained in:
2026-06-12 18:36:18 +09:00
parent b96c8100e0
commit 8e9d015443
39 changed files with 3960 additions and 501 deletions

View File

@@ -64,6 +64,26 @@ func TestWorksmobileHTTPClientCreateUserPostsDirectoryAdminPasswordPayload(t *te
require.Len(t, passwordConfig["password"], 16)
}
func TestWorksmobileHTTPClientDeleteUserUsesDirectDirectoryDeleteForEmail(t *testing.T) {
transport := &captureRoundTripper{
statusCode: http.StatusOK,
body: `{}`,
}
client := &WorksmobileHTTPClient{
BaseURL: "https://works.example.test",
DirectoryToken: "directory-token-1",
HTTPClient: &http.Client{Transport: transport},
}
err := client.DeleteUser(context.Background(), "target@samaneng.com")
require.NoError(t, err)
require.Len(t, transport.requests, 1)
require.Equal(t, http.MethodDelete, transport.requests[0].Method)
require.Equal(t, "/v1.0/users/target@samaneng.com", transport.requests[0].URL.Path)
require.Equal(t, "Bearer directory-token-1", transport.requests[0].Header.Get("Authorization"))
}
func TestNewWorksmobileUserPatchPayloadNormalizesMalformedKoreanCellPhone(t *testing.T) {
payload := NewWorksmobileUserPatchPayload(WorksmobileUserPayload{
DomainID: 1001,
@@ -975,6 +995,27 @@ func TestCompareWorksmobileUsersIncludesBaronAndWorksPrimaryOrg(t *testing.T) {
require.Equal(t, "WORKS 기술기획", items[0].WorksmobilePrimaryOrgName)
}
func TestCompareWorksmobileUsersIncludesWorksAccountStatus(t *testing.T) {
localUsers := []domain.User{
{ID: "user-1", Email: "suspended@samaneng.com", Name: "Suspended"},
}
remoteUsers := []WorksmobileRemoteUser{
{
ID: "works-1",
ExternalID: "user-1",
Email: "suspended@samaneng.com",
DisplayName: "Suspended",
Active: false,
IsSuspended: true,
},
}
items := compareWorksmobileUsers(localUsers, remoteUsers, true, nil)
require.Len(t, items, 1)
require.Equal(t, "suspended", items[0].WorksmobileAccountStatus)
}
func TestCompareWorksmobileUsersMarksEmailMatchWithoutExternalIDNeedsUpdate(t *testing.T) {
localUsers := []domain.User{
{ID: "user-1", Email: "tester@samaneng.com", Name: "Tester"},