MCPcopy Index your code
hub / github.com/coder/coder / TestOAuth2ClientMetadataDefaults

Function TestOAuth2ClientMetadataDefaults

coderd/oauth2provider/validation_test.go:630–669  ·  view source on GitHub ↗

TestOAuth2ClientMetadataDefaults tests that default values are properly applied

(t *testing.T)

Source from the content-addressed store, hash-verified

628
629// TestOAuth2ClientMetadataDefaults tests that default values are properly applied
630func TestOAuth2ClientMetadataDefaults(t *testing.T) {
631 t.Parallel()
632
633 client := coderdtest.New(t, nil)
634 _ = coderdtest.CreateFirstUser(t, client)
635
636 ctx := testutil.Context(t, testutil.WaitLong)
637
638 // Register a minimal client to test defaults
639 req := codersdk.OAuth2ClientRegistrationRequest{
640 RedirectURIs: []string{"https://example.com/callback"},
641 ClientName: fmt.Sprintf("test-client-%d", time.Now().UnixNano()),
642 }
643
644 resp, err := client.PostOAuth2ClientRegistration(ctx, req)
645 require.NoError(t, err)
646
647 // Get the configuration to check defaults
648 config, err := client.GetOAuth2ClientConfiguration(ctx, resp.ClientID, resp.RegistrationAccessToken)
649 require.NoError(t, err)
650
651 // Should default to authorization_code
652 require.Contains(t, config.GrantTypes, codersdk.OAuth2ProviderGrantTypeAuthorizationCode)
653
654 // Should default to code
655 require.Contains(t, config.ResponseTypes, codersdk.OAuth2ProviderResponseTypeCode)
656
657 // Should default to client_secret_basic or client_secret_post
658 require.True(t, config.TokenEndpointAuthMethod == codersdk.OAuth2TokenEndpointAuthMethodClientSecretBasic ||
659 config.TokenEndpointAuthMethod == codersdk.OAuth2TokenEndpointAuthMethodClientSecretPost ||
660 config.TokenEndpointAuthMethod == "")
661
662 // Client secret should be generated
663 require.NotEmpty(t, resp.ClientSecret)
664 require.Greater(t, len(resp.ClientSecret), 20)
665
666 // Registration access token should be generated
667 require.NotEmpty(t, resp.RegistrationAccessToken)
668 require.Greater(t, len(resp.RegistrationAccessToken), 20)
669}
670
671// TestOAuth2ClientMetadataEdgeCases tests edge cases and boundary conditions
672func TestOAuth2ClientMetadataEdgeCases(t *testing.T) {

Callers

nothing calls this directly

Calls 7

NewFunction · 0.92
CreateFirstUserFunction · 0.92
ContextFunction · 0.92
NotEmptyMethod · 0.80
ContainsMethod · 0.45

Tested by

no test coverage detected