(t *testing.T)
| 12292 | } |
| 12293 | |
| 12294 | func TestChatDebugLoggingSettings(t *testing.T) { |
| 12295 | t.Parallel() |
| 12296 | |
| 12297 | t.Run("DefaultDisabled", func(t *testing.T) { |
| 12298 | t.Parallel() |
| 12299 | ctx := testutil.Context(t, testutil.WaitLong) |
| 12300 | |
| 12301 | adminClient := newChatClient(t) |
| 12302 | firstUser := coderdtest.CreateFirstUser(t, adminClient.Client) |
| 12303 | memberClientRaw, _ := coderdtest.CreateAnotherUser(t, adminClient.Client, firstUser.OrganizationID) |
| 12304 | memberClient := codersdk.NewExperimentalClient(memberClientRaw) |
| 12305 | |
| 12306 | adminResp, err := adminClient.GetChatDebugLogging(ctx) |
| 12307 | require.NoError(t, err) |
| 12308 | require.False(t, adminResp.AllowUsers) |
| 12309 | require.False(t, adminResp.ForcedByDeployment) |
| 12310 | |
| 12311 | userResp, err := memberClient.GetUserChatDebugLogging(ctx) |
| 12312 | require.NoError(t, err) |
| 12313 | require.False(t, userResp.DebugLoggingEnabled) |
| 12314 | require.False(t, userResp.UserToggleAllowed) |
| 12315 | require.False(t, userResp.ForcedByDeployment) |
| 12316 | }) |
| 12317 | |
| 12318 | t.Run("AdminAllowsUsersToOptIn", func(t *testing.T) { |
| 12319 | t.Parallel() |
| 12320 | ctx := testutil.Context(t, testutil.WaitLong) |
| 12321 | |
| 12322 | adminClient := newChatClient(t) |
| 12323 | firstUser := coderdtest.CreateFirstUser(t, adminClient.Client) |
| 12324 | memberClientRaw, _ := coderdtest.CreateAnotherUser(t, adminClient.Client, firstUser.OrganizationID) |
| 12325 | memberClient := codersdk.NewExperimentalClient(memberClientRaw) |
| 12326 | |
| 12327 | err := adminClient.UpdateChatDebugLogging(ctx, codersdk.UpdateChatDebugLoggingAllowUsersRequest{ |
| 12328 | AllowUsers: true, |
| 12329 | }) |
| 12330 | require.NoError(t, err) |
| 12331 | |
| 12332 | userResp, err := memberClient.GetUserChatDebugLogging(ctx) |
| 12333 | require.NoError(t, err) |
| 12334 | require.False(t, userResp.DebugLoggingEnabled) |
| 12335 | require.True(t, userResp.UserToggleAllowed) |
| 12336 | require.False(t, userResp.ForcedByDeployment) |
| 12337 | |
| 12338 | err = memberClient.UpdateUserChatDebugLogging(ctx, codersdk.UpdateUserChatDebugLoggingRequest{ |
| 12339 | DebugLoggingEnabled: true, |
| 12340 | }) |
| 12341 | require.NoError(t, err) |
| 12342 | |
| 12343 | userResp, err = memberClient.GetUserChatDebugLogging(ctx) |
| 12344 | require.NoError(t, err) |
| 12345 | require.True(t, userResp.DebugLoggingEnabled) |
| 12346 | require.True(t, userResp.UserToggleAllowed) |
| 12347 | require.False(t, userResp.ForcedByDeployment) |
| 12348 | |
| 12349 | // Admin revocation must flip the user's effective state even |
| 12350 | // while the stored opt-in is true. A regression that kept |
| 12351 | // returning the stored opt-in would be masked if the user had |
nothing calls this directly
no test coverage detected