Loading settings.go +2 −0 Original line number Diff line number Diff line Loading @@ -457,6 +457,7 @@ type Settings struct { WebIDEClientsidePreviewEnabled bool `json:"web_ide_clientside_preview_enabled"` WhatsNewVariant string `json:"whats_new_variant"` WikiPageMaxContentBytes int64 `json:"wiki_page_max_content_bytes"` LockMembershipsToSAML bool `json:"lock_memberships_to_saml"` // Deprecated: Use DefaultBranchProtectionDefaults instead. DefaultBranchProtection int64 `json:"default_branch_protection"` Loading Loading @@ -938,6 +939,7 @@ type UpdateSettingsOptions struct { WebIDEClientsidePreviewEnabled *bool `url:"web_ide_clientside_preview_enabled,omitempty" json:"web_ide_clientside_preview_enabled,omitempty"` WhatsNewVariant *string `url:"whats_new_variant,omitempty" json:"whats_new_variant,omitempty"` WikiPageMaxContentBytes *int64 `url:"wiki_page_max_content_bytes,omitempty" json:"wiki_page_max_content_bytes,omitempty"` LockMembershipsToSAML *bool `url:"lock_memberships_to_saml,omitempty" json:"lock_memberships_to_saml,omitempty"` // Deprecated: Use AbuseNotificationEmail instead. AdminNotificationEmail *string `url:"admin_notification_email,omitempty" json:"admin_notification_email,omitempty"` Loading settings_test.go +44 −0 Original line number Diff line number Diff line Loading @@ -239,3 +239,47 @@ func TestSettings_SentryEnabled(t *testing.T) { assert.NoError(t, err) assert.True(t, updated.SentryEnabled) } func TestUpdateSettings_LockMembershipsToSAML(t *testing.T) { t.Parallel() mux, client := setup(t) var requestBody map[string]any mux.HandleFunc("/api/v4/application/settings", func(w http.ResponseWriter, r *http.Request) { testMethod(t, r, http.MethodPut) err := json.NewDecoder(r.Body).Decode(&requestBody) assert.NoError(t, err) fmt.Fprint(w, `{"id":1, "lock_memberships_to_saml": true}`) }) _, _, err := client.Settings.UpdateSettings(&UpdateSettingsOptions{ LockMembershipsToSAML: Ptr(true), }) require.NoError(t, err) want := map[string]any{ "lock_memberships_to_saml": true, } assert.Equal(t, want["lock_memberships_to_saml"], requestBody["lock_memberships_to_saml"]) } func TestGetSettings_LockMembershipsToSAML(t *testing.T) { t.Parallel() mux, client := setup(t) mux.HandleFunc("/api/v4/application/settings", func(w http.ResponseWriter, r *http.Request) { testMethod(t, r, http.MethodGet) fmt.Fprint(w, `{ "id": 1, "lock_memberships_to_saml": true }`) }) settings, _, err := client.Settings.GetSettings() require.NoError(t, err) assert.True(t, settings.LockMembershipsToSAML) } Loading
settings.go +2 −0 Original line number Diff line number Diff line Loading @@ -457,6 +457,7 @@ type Settings struct { WebIDEClientsidePreviewEnabled bool `json:"web_ide_clientside_preview_enabled"` WhatsNewVariant string `json:"whats_new_variant"` WikiPageMaxContentBytes int64 `json:"wiki_page_max_content_bytes"` LockMembershipsToSAML bool `json:"lock_memberships_to_saml"` // Deprecated: Use DefaultBranchProtectionDefaults instead. DefaultBranchProtection int64 `json:"default_branch_protection"` Loading Loading @@ -938,6 +939,7 @@ type UpdateSettingsOptions struct { WebIDEClientsidePreviewEnabled *bool `url:"web_ide_clientside_preview_enabled,omitempty" json:"web_ide_clientside_preview_enabled,omitempty"` WhatsNewVariant *string `url:"whats_new_variant,omitempty" json:"whats_new_variant,omitempty"` WikiPageMaxContentBytes *int64 `url:"wiki_page_max_content_bytes,omitempty" json:"wiki_page_max_content_bytes,omitempty"` LockMembershipsToSAML *bool `url:"lock_memberships_to_saml,omitempty" json:"lock_memberships_to_saml,omitempty"` // Deprecated: Use AbuseNotificationEmail instead. AdminNotificationEmail *string `url:"admin_notification_email,omitempty" json:"admin_notification_email,omitempty"` Loading
settings_test.go +44 −0 Original line number Diff line number Diff line Loading @@ -239,3 +239,47 @@ func TestSettings_SentryEnabled(t *testing.T) { assert.NoError(t, err) assert.True(t, updated.SentryEnabled) } func TestUpdateSettings_LockMembershipsToSAML(t *testing.T) { t.Parallel() mux, client := setup(t) var requestBody map[string]any mux.HandleFunc("/api/v4/application/settings", func(w http.ResponseWriter, r *http.Request) { testMethod(t, r, http.MethodPut) err := json.NewDecoder(r.Body).Decode(&requestBody) assert.NoError(t, err) fmt.Fprint(w, `{"id":1, "lock_memberships_to_saml": true}`) }) _, _, err := client.Settings.UpdateSettings(&UpdateSettingsOptions{ LockMembershipsToSAML: Ptr(true), }) require.NoError(t, err) want := map[string]any{ "lock_memberships_to_saml": true, } assert.Equal(t, want["lock_memberships_to_saml"], requestBody["lock_memberships_to_saml"]) } func TestGetSettings_LockMembershipsToSAML(t *testing.T) { t.Parallel() mux, client := setup(t) mux.HandleFunc("/api/v4/application/settings", func(w http.ResponseWriter, r *http.Request) { testMethod(t, r, http.MethodGet) fmt.Fprint(w, `{ "id": 1, "lock_memberships_to_saml": true }`) }) settings, _, err := client.Settings.GetSettings() require.NoError(t, err) assert.True(t, settings.LockMembershipsToSAML) }