Loading admin_compliance_policy_settings.go 0 → 100644 +85 −0 Original line number Diff line number Diff line // // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // package gitlab import ( "net/http" ) type ( AdminCompliancePolicySettingsServiceInterface interface { // GetCompliancePolicySettings gets the current security policy settings for the GitLab instance. // // GitLab API docs: // https://docs.gitlab.com/api/compliance_policy_settings/#get-security-policy-settings GetCompliancePolicySettings(options ...RequestOptionFunc) (*AdminCompliancePolicySettings, *Response, error) // UpdateCompliancePolicySettings updates the security policy settings for the GitLab instance. // // GitLab API docs: // https://docs.gitlab.com/api/compliance_policy_settings/#update-security-policy-settings UpdateCompliancePolicySettings(opt *UpdateAdminCompliancePolicySettingsOptions, options ...RequestOptionFunc) (*AdminCompliancePolicySettings, *Response, error) } // AdminCompliancePolicySettingsService handles communication with the // admin compliance policy settings related methods of the GitLab API. // // GitLab API docs: // https://docs.gitlab.com/api/compliance_policy_settings/ AdminCompliancePolicySettingsService struct { client *Client } ) var _ AdminCompliancePolicySettingsServiceInterface = (*AdminCompliancePolicySettingsService)(nil) // AdminCompliancePolicySettings represents the GitLab admin compliance policy settings. // // GitLab API docs: // https://docs.gitlab.com/api/compliance_policy_settings/ type AdminCompliancePolicySettings struct { CSPNamespaceID *int64 `json:"csp_namespace_id"` } func (s AdminCompliancePolicySettings) String() string { return Stringify(s) } func (s *AdminCompliancePolicySettingsService) GetCompliancePolicySettings(options ...RequestOptionFunc) (*AdminCompliancePolicySettings, *Response, error) { return do[*AdminCompliancePolicySettings](s.client, withMethod(http.MethodGet), withPath("admin/security/compliance_policy_settings"), withRequestOpts(options...), ) } // UpdateAdminCompliancePolicySettingsOptions represents the available // UpdateCompliancePolicySettings() options. // // GitLab API docs: // https://docs.gitlab.com/api/compliance_policy_settings/#update-security-policy-settings type UpdateAdminCompliancePolicySettingsOptions struct { CSPNamespaceID *int64 `url:"csp_namespace_id,omitempty" json:"csp_namespace_id,omitempty"` } func (s *AdminCompliancePolicySettingsService) UpdateCompliancePolicySettings(opt *UpdateAdminCompliancePolicySettingsOptions, options ...RequestOptionFunc) (*AdminCompliancePolicySettings, *Response, error) { return do[*AdminCompliancePolicySettings](s.client, withMethod(http.MethodPut), withPath("admin/security/compliance_policy_settings"), withAPIOpts(opt), withRequestOpts(options...), ) } admin_compliance_policy_settings_test.go 0 → 100644 +156 −0 Original line number Diff line number Diff line package gitlab import ( "fmt" "net/http" "testing" "github.com/stretchr/testify/require" ) func TestAdminCompliancePolicySettingsService_GetCompliancePolicySettings(t *testing.T) { t.Parallel() mux, client := setup(t) mux.HandleFunc("/api/v4/admin/security/compliance_policy_settings", func(w http.ResponseWriter, r *http.Request) { testMethod(t, r, http.MethodGet) fmt.Fprintf(w, ` { "csp_namespace_id": 42 } `) }) cspNamespaceID := int64(42) want := &AdminCompliancePolicySettings{ CSPNamespaceID: &cspNamespaceID, } settings, resp, err := client.AdminCompliancePolicySettings.GetCompliancePolicySettings() require.NoError(t, err) require.NotNil(t, resp) require.Equal(t, want, settings) settings, resp, err = client.AdminCompliancePolicySettings.GetCompliancePolicySettings(errorOption) require.EqualError(t, err, "RequestOptionFunc returns an error") require.Nil(t, resp) require.Nil(t, settings) } func TestAdminCompliancePolicySettingsService_GetCompliancePolicySettings_NullNamespace(t *testing.T) { t.Parallel() mux, client := setup(t) mux.HandleFunc("/api/v4/admin/security/compliance_policy_settings", func(w http.ResponseWriter, r *http.Request) { testMethod(t, r, http.MethodGet) fmt.Fprintf(w, ` { "csp_namespace_id": null } `) }) want := &AdminCompliancePolicySettings{ CSPNamespaceID: nil, } settings, resp, err := client.AdminCompliancePolicySettings.GetCompliancePolicySettings() require.NoError(t, err) require.NotNil(t, resp) require.Equal(t, want, settings) } func TestAdminCompliancePolicySettingsService_GetCompliancePolicySettings_StatusNotFound(t *testing.T) { t.Parallel() mux, client := setup(t) mux.HandleFunc("/api/v4/admin/security/compliance_policy_settings", func(w http.ResponseWriter, r *http.Request) { testMethod(t, r, http.MethodGet) w.WriteHeader(http.StatusNotFound) }) settings, resp, err := client.AdminCompliancePolicySettings.GetCompliancePolicySettings() require.Error(t, err) require.Nil(t, settings) require.Equal(t, http.StatusNotFound, resp.StatusCode) } func TestAdminCompliancePolicySettingsService_UpdateCompliancePolicySettings(t *testing.T) { t.Parallel() mux, client := setup(t) mux.HandleFunc("/api/v4/admin/security/compliance_policy_settings", func(w http.ResponseWriter, r *http.Request) { testMethod(t, r, http.MethodPut) fmt.Fprintf(w, ` { "csp_namespace_id": 42 } `) }) cspNamespaceID := int64(42) want := &AdminCompliancePolicySettings{ CSPNamespaceID: &cspNamespaceID, } opt := &UpdateAdminCompliancePolicySettingsOptions{ CSPNamespaceID: &cspNamespaceID, } settings, resp, err := client.AdminCompliancePolicySettings.UpdateCompliancePolicySettings(opt) require.NoError(t, err) require.NotNil(t, resp) require.Equal(t, want, settings) settings, resp, err = client.AdminCompliancePolicySettings.UpdateCompliancePolicySettings(opt, errorOption) require.EqualError(t, err, "RequestOptionFunc returns an error") require.Nil(t, resp) require.Nil(t, settings) } func TestAdminCompliancePolicySettingsService_UpdateCompliancePolicySettings_ClearNamespace(t *testing.T) { t.Parallel() mux, client := setup(t) mux.HandleFunc("/api/v4/admin/security/compliance_policy_settings", func(w http.ResponseWriter, r *http.Request) { testMethod(t, r, http.MethodPut) fmt.Fprintf(w, ` { "csp_namespace_id": null } `) }) want := &AdminCompliancePolicySettings{ CSPNamespaceID: nil, } opt := &UpdateAdminCompliancePolicySettingsOptions{ CSPNamespaceID: nil, } settings, resp, err := client.AdminCompliancePolicySettings.UpdateCompliancePolicySettings(opt) require.NoError(t, err) require.NotNil(t, resp) require.Equal(t, want, settings) } func TestAdminCompliancePolicySettingsService_UpdateCompliancePolicySettings_StatusInternalServerError(t *testing.T) { t.Parallel() mux, client := setup(t) mux.HandleFunc("/api/v4/admin/security/compliance_policy_settings", func(w http.ResponseWriter, r *http.Request) { testMethod(t, r, http.MethodPut) w.WriteHeader(http.StatusInternalServerError) }) cspNamespaceID := int64(42) opt := &UpdateAdminCompliancePolicySettingsOptions{ CSPNamespaceID: &cspNamespaceID, } settings, resp, err := client.AdminCompliancePolicySettings.UpdateCompliancePolicySettings(opt) require.Error(t, err) require.Nil(t, settings) require.Equal(t, http.StatusInternalServerError, resp.StatusCode) } gitlab.go +2 −0 Original line number Diff line number Diff line Loading @@ -119,6 +119,7 @@ type Client struct { // Services used for talking to different parts of the GitLab API. AccessRequests AccessRequestsServiceInterface AdminCompliancePolicySettings AdminCompliancePolicySettingsServiceInterface AlertManagement AlertManagementServiceInterface Appearance AppearanceServiceInterface Applications ApplicationsServiceInterface Loading Loading @@ -434,6 +435,7 @@ func NewAuthSourceClient(as AuthSource, options ...ClientOptionFunc) (*Client, e // Create all the public services. c.AccessRequests = &AccessRequestsService{client: c} c.AdminCompliancePolicySettings = &AdminCompliancePolicySettingsService{client: c} c.AlertManagement = &AlertManagementService{client: c} c.Appearance = &AppearanceService{client: c} c.Applications = &ApplicationsService{client: c} Loading gitlab_service_map_generated_test.go +1 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ package gitlab var serviceMap = map[any]any{ &AccessRequestsService{}: (*AccessRequestsServiceInterface)(nil), &AdminCompliancePolicySettingsService{}: (*AdminCompliancePolicySettingsServiceInterface)(nil), &AlertManagementService{}: (*AlertManagementServiceInterface)(nil), &AppearanceService{}: (*AppearanceServiceInterface)(nil), &ApplicationStatisticsService{}: (*ApplicationStatisticsServiceInterface)(nil), Loading testing/admin_compliance_policy_settings_mock.go 0 → 100644 +129 −0 Original line number Diff line number Diff line // Code generated by MockGen. DO NOT EDIT. // Source: gitlab.com/gitlab-org/api/client-go (interfaces: AdminCompliancePolicySettingsServiceInterface) // // Generated by this command: // // mockgen -typed -destination=admin_compliance_policy_settings_mock.go -write_package_comment=false -package=testing gitlab.com/gitlab-org/api/client-go AdminCompliancePolicySettingsServiceInterface // package testing import ( reflect "reflect" gitlab "gitlab.com/gitlab-org/api/client-go" gomock "go.uber.org/mock/gomock" ) // MockAdminCompliancePolicySettingsServiceInterface is a mock of AdminCompliancePolicySettingsServiceInterface interface. type MockAdminCompliancePolicySettingsServiceInterface struct { ctrl *gomock.Controller recorder *MockAdminCompliancePolicySettingsServiceInterfaceMockRecorder isgomock struct{} } // MockAdminCompliancePolicySettingsServiceInterfaceMockRecorder is the mock recorder for MockAdminCompliancePolicySettingsServiceInterface. type MockAdminCompliancePolicySettingsServiceInterfaceMockRecorder struct { mock *MockAdminCompliancePolicySettingsServiceInterface } // NewMockAdminCompliancePolicySettingsServiceInterface creates a new mock instance. func NewMockAdminCompliancePolicySettingsServiceInterface(ctrl *gomock.Controller) *MockAdminCompliancePolicySettingsServiceInterface { mock := &MockAdminCompliancePolicySettingsServiceInterface{ctrl: ctrl} mock.recorder = &MockAdminCompliancePolicySettingsServiceInterfaceMockRecorder{mock} return mock } // EXPECT returns an object that allows the caller to indicate expected use. func (m *MockAdminCompliancePolicySettingsServiceInterface) EXPECT() *MockAdminCompliancePolicySettingsServiceInterfaceMockRecorder { return m.recorder } // GetCompliancePolicySettings mocks base method. func (m *MockAdminCompliancePolicySettingsServiceInterface) GetCompliancePolicySettings(options ...gitlab.RequestOptionFunc) (*gitlab.AdminCompliancePolicySettings, *gitlab.Response, error) { m.ctrl.T.Helper() varargs := []any{} for _, a := range options { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "GetCompliancePolicySettings", varargs...) ret0, _ := ret[0].(*gitlab.AdminCompliancePolicySettings) ret1, _ := ret[1].(*gitlab.Response) ret2, _ := ret[2].(error) return ret0, ret1, ret2 } // GetCompliancePolicySettings indicates an expected call of GetCompliancePolicySettings. func (mr *MockAdminCompliancePolicySettingsServiceInterfaceMockRecorder) GetCompliancePolicySettings(options ...any) *MockAdminCompliancePolicySettingsServiceInterfaceGetCompliancePolicySettingsCall { mr.mock.ctrl.T.Helper() call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCompliancePolicySettings", reflect.TypeOf((*MockAdminCompliancePolicySettingsServiceInterface)(nil).GetCompliancePolicySettings), options...) return &MockAdminCompliancePolicySettingsServiceInterfaceGetCompliancePolicySettingsCall{Call: call} } // MockAdminCompliancePolicySettingsServiceInterfaceGetCompliancePolicySettingsCall wrap *gomock.Call type MockAdminCompliancePolicySettingsServiceInterfaceGetCompliancePolicySettingsCall struct { *gomock.Call } // Return rewrite *gomock.Call.Return func (c *MockAdminCompliancePolicySettingsServiceInterfaceGetCompliancePolicySettingsCall) Return(arg0 *gitlab.AdminCompliancePolicySettings, arg1 *gitlab.Response, arg2 error) *MockAdminCompliancePolicySettingsServiceInterfaceGetCompliancePolicySettingsCall { c.Call = c.Call.Return(arg0, arg1, arg2) return c } // Do rewrite *gomock.Call.Do func (c *MockAdminCompliancePolicySettingsServiceInterfaceGetCompliancePolicySettingsCall) Do(f func(...gitlab.RequestOptionFunc) (*gitlab.AdminCompliancePolicySettings, *gitlab.Response, error)) *MockAdminCompliancePolicySettingsServiceInterfaceGetCompliancePolicySettingsCall { c.Call = c.Call.Do(f) return c } // DoAndReturn rewrite *gomock.Call.DoAndReturn func (c *MockAdminCompliancePolicySettingsServiceInterfaceGetCompliancePolicySettingsCall) DoAndReturn(f func(...gitlab.RequestOptionFunc) (*gitlab.AdminCompliancePolicySettings, *gitlab.Response, error)) *MockAdminCompliancePolicySettingsServiceInterfaceGetCompliancePolicySettingsCall { c.Call = c.Call.DoAndReturn(f) return c } // UpdateCompliancePolicySettings mocks base method. func (m *MockAdminCompliancePolicySettingsServiceInterface) UpdateCompliancePolicySettings(opt *gitlab.UpdateAdminCompliancePolicySettingsOptions, options ...gitlab.RequestOptionFunc) (*gitlab.AdminCompliancePolicySettings, *gitlab.Response, error) { m.ctrl.T.Helper() varargs := []any{opt} for _, a := range options { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "UpdateCompliancePolicySettings", varargs...) ret0, _ := ret[0].(*gitlab.AdminCompliancePolicySettings) ret1, _ := ret[1].(*gitlab.Response) ret2, _ := ret[2].(error) return ret0, ret1, ret2 } // UpdateCompliancePolicySettings indicates an expected call of UpdateCompliancePolicySettings. func (mr *MockAdminCompliancePolicySettingsServiceInterfaceMockRecorder) UpdateCompliancePolicySettings(opt any, options ...any) *MockAdminCompliancePolicySettingsServiceInterfaceUpdateCompliancePolicySettingsCall { mr.mock.ctrl.T.Helper() varargs := append([]any{opt}, options...) call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateCompliancePolicySettings", reflect.TypeOf((*MockAdminCompliancePolicySettingsServiceInterface)(nil).UpdateCompliancePolicySettings), varargs...) return &MockAdminCompliancePolicySettingsServiceInterfaceUpdateCompliancePolicySettingsCall{Call: call} } // MockAdminCompliancePolicySettingsServiceInterfaceUpdateCompliancePolicySettingsCall wrap *gomock.Call type MockAdminCompliancePolicySettingsServiceInterfaceUpdateCompliancePolicySettingsCall struct { *gomock.Call } // Return rewrite *gomock.Call.Return func (c *MockAdminCompliancePolicySettingsServiceInterfaceUpdateCompliancePolicySettingsCall) Return(arg0 *gitlab.AdminCompliancePolicySettings, arg1 *gitlab.Response, arg2 error) *MockAdminCompliancePolicySettingsServiceInterfaceUpdateCompliancePolicySettingsCall { c.Call = c.Call.Return(arg0, arg1, arg2) return c } // Do rewrite *gomock.Call.Do func (c *MockAdminCompliancePolicySettingsServiceInterfaceUpdateCompliancePolicySettingsCall) Do(f func(*gitlab.UpdateAdminCompliancePolicySettingsOptions, ...gitlab.RequestOptionFunc) (*gitlab.AdminCompliancePolicySettings, *gitlab.Response, error)) *MockAdminCompliancePolicySettingsServiceInterfaceUpdateCompliancePolicySettingsCall { c.Call = c.Call.Do(f) return c } // DoAndReturn rewrite *gomock.Call.DoAndReturn func (c *MockAdminCompliancePolicySettingsServiceInterfaceUpdateCompliancePolicySettingsCall) DoAndReturn(f func(*gitlab.UpdateAdminCompliancePolicySettingsOptions, ...gitlab.RequestOptionFunc) (*gitlab.AdminCompliancePolicySettings, *gitlab.Response, error)) *MockAdminCompliancePolicySettingsServiceInterfaceUpdateCompliancePolicySettingsCall { c.Call = c.Call.DoAndReturn(f) return c } Loading
admin_compliance_policy_settings.go 0 → 100644 +85 −0 Original line number Diff line number Diff line // // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // package gitlab import ( "net/http" ) type ( AdminCompliancePolicySettingsServiceInterface interface { // GetCompliancePolicySettings gets the current security policy settings for the GitLab instance. // // GitLab API docs: // https://docs.gitlab.com/api/compliance_policy_settings/#get-security-policy-settings GetCompliancePolicySettings(options ...RequestOptionFunc) (*AdminCompliancePolicySettings, *Response, error) // UpdateCompliancePolicySettings updates the security policy settings for the GitLab instance. // // GitLab API docs: // https://docs.gitlab.com/api/compliance_policy_settings/#update-security-policy-settings UpdateCompliancePolicySettings(opt *UpdateAdminCompliancePolicySettingsOptions, options ...RequestOptionFunc) (*AdminCompliancePolicySettings, *Response, error) } // AdminCompliancePolicySettingsService handles communication with the // admin compliance policy settings related methods of the GitLab API. // // GitLab API docs: // https://docs.gitlab.com/api/compliance_policy_settings/ AdminCompliancePolicySettingsService struct { client *Client } ) var _ AdminCompliancePolicySettingsServiceInterface = (*AdminCompliancePolicySettingsService)(nil) // AdminCompliancePolicySettings represents the GitLab admin compliance policy settings. // // GitLab API docs: // https://docs.gitlab.com/api/compliance_policy_settings/ type AdminCompliancePolicySettings struct { CSPNamespaceID *int64 `json:"csp_namespace_id"` } func (s AdminCompliancePolicySettings) String() string { return Stringify(s) } func (s *AdminCompliancePolicySettingsService) GetCompliancePolicySettings(options ...RequestOptionFunc) (*AdminCompliancePolicySettings, *Response, error) { return do[*AdminCompliancePolicySettings](s.client, withMethod(http.MethodGet), withPath("admin/security/compliance_policy_settings"), withRequestOpts(options...), ) } // UpdateAdminCompliancePolicySettingsOptions represents the available // UpdateCompliancePolicySettings() options. // // GitLab API docs: // https://docs.gitlab.com/api/compliance_policy_settings/#update-security-policy-settings type UpdateAdminCompliancePolicySettingsOptions struct { CSPNamespaceID *int64 `url:"csp_namespace_id,omitempty" json:"csp_namespace_id,omitempty"` } func (s *AdminCompliancePolicySettingsService) UpdateCompliancePolicySettings(opt *UpdateAdminCompliancePolicySettingsOptions, options ...RequestOptionFunc) (*AdminCompliancePolicySettings, *Response, error) { return do[*AdminCompliancePolicySettings](s.client, withMethod(http.MethodPut), withPath("admin/security/compliance_policy_settings"), withAPIOpts(opt), withRequestOpts(options...), ) }
admin_compliance_policy_settings_test.go 0 → 100644 +156 −0 Original line number Diff line number Diff line package gitlab import ( "fmt" "net/http" "testing" "github.com/stretchr/testify/require" ) func TestAdminCompliancePolicySettingsService_GetCompliancePolicySettings(t *testing.T) { t.Parallel() mux, client := setup(t) mux.HandleFunc("/api/v4/admin/security/compliance_policy_settings", func(w http.ResponseWriter, r *http.Request) { testMethod(t, r, http.MethodGet) fmt.Fprintf(w, ` { "csp_namespace_id": 42 } `) }) cspNamespaceID := int64(42) want := &AdminCompliancePolicySettings{ CSPNamespaceID: &cspNamespaceID, } settings, resp, err := client.AdminCompliancePolicySettings.GetCompliancePolicySettings() require.NoError(t, err) require.NotNil(t, resp) require.Equal(t, want, settings) settings, resp, err = client.AdminCompliancePolicySettings.GetCompliancePolicySettings(errorOption) require.EqualError(t, err, "RequestOptionFunc returns an error") require.Nil(t, resp) require.Nil(t, settings) } func TestAdminCompliancePolicySettingsService_GetCompliancePolicySettings_NullNamespace(t *testing.T) { t.Parallel() mux, client := setup(t) mux.HandleFunc("/api/v4/admin/security/compliance_policy_settings", func(w http.ResponseWriter, r *http.Request) { testMethod(t, r, http.MethodGet) fmt.Fprintf(w, ` { "csp_namespace_id": null } `) }) want := &AdminCompliancePolicySettings{ CSPNamespaceID: nil, } settings, resp, err := client.AdminCompliancePolicySettings.GetCompliancePolicySettings() require.NoError(t, err) require.NotNil(t, resp) require.Equal(t, want, settings) } func TestAdminCompliancePolicySettingsService_GetCompliancePolicySettings_StatusNotFound(t *testing.T) { t.Parallel() mux, client := setup(t) mux.HandleFunc("/api/v4/admin/security/compliance_policy_settings", func(w http.ResponseWriter, r *http.Request) { testMethod(t, r, http.MethodGet) w.WriteHeader(http.StatusNotFound) }) settings, resp, err := client.AdminCompliancePolicySettings.GetCompliancePolicySettings() require.Error(t, err) require.Nil(t, settings) require.Equal(t, http.StatusNotFound, resp.StatusCode) } func TestAdminCompliancePolicySettingsService_UpdateCompliancePolicySettings(t *testing.T) { t.Parallel() mux, client := setup(t) mux.HandleFunc("/api/v4/admin/security/compliance_policy_settings", func(w http.ResponseWriter, r *http.Request) { testMethod(t, r, http.MethodPut) fmt.Fprintf(w, ` { "csp_namespace_id": 42 } `) }) cspNamespaceID := int64(42) want := &AdminCompliancePolicySettings{ CSPNamespaceID: &cspNamespaceID, } opt := &UpdateAdminCompliancePolicySettingsOptions{ CSPNamespaceID: &cspNamespaceID, } settings, resp, err := client.AdminCompliancePolicySettings.UpdateCompliancePolicySettings(opt) require.NoError(t, err) require.NotNil(t, resp) require.Equal(t, want, settings) settings, resp, err = client.AdminCompliancePolicySettings.UpdateCompliancePolicySettings(opt, errorOption) require.EqualError(t, err, "RequestOptionFunc returns an error") require.Nil(t, resp) require.Nil(t, settings) } func TestAdminCompliancePolicySettingsService_UpdateCompliancePolicySettings_ClearNamespace(t *testing.T) { t.Parallel() mux, client := setup(t) mux.HandleFunc("/api/v4/admin/security/compliance_policy_settings", func(w http.ResponseWriter, r *http.Request) { testMethod(t, r, http.MethodPut) fmt.Fprintf(w, ` { "csp_namespace_id": null } `) }) want := &AdminCompliancePolicySettings{ CSPNamespaceID: nil, } opt := &UpdateAdminCompliancePolicySettingsOptions{ CSPNamespaceID: nil, } settings, resp, err := client.AdminCompliancePolicySettings.UpdateCompliancePolicySettings(opt) require.NoError(t, err) require.NotNil(t, resp) require.Equal(t, want, settings) } func TestAdminCompliancePolicySettingsService_UpdateCompliancePolicySettings_StatusInternalServerError(t *testing.T) { t.Parallel() mux, client := setup(t) mux.HandleFunc("/api/v4/admin/security/compliance_policy_settings", func(w http.ResponseWriter, r *http.Request) { testMethod(t, r, http.MethodPut) w.WriteHeader(http.StatusInternalServerError) }) cspNamespaceID := int64(42) opt := &UpdateAdminCompliancePolicySettingsOptions{ CSPNamespaceID: &cspNamespaceID, } settings, resp, err := client.AdminCompliancePolicySettings.UpdateCompliancePolicySettings(opt) require.Error(t, err) require.Nil(t, settings) require.Equal(t, http.StatusInternalServerError, resp.StatusCode) }
gitlab.go +2 −0 Original line number Diff line number Diff line Loading @@ -119,6 +119,7 @@ type Client struct { // Services used for talking to different parts of the GitLab API. AccessRequests AccessRequestsServiceInterface AdminCompliancePolicySettings AdminCompliancePolicySettingsServiceInterface AlertManagement AlertManagementServiceInterface Appearance AppearanceServiceInterface Applications ApplicationsServiceInterface Loading Loading @@ -434,6 +435,7 @@ func NewAuthSourceClient(as AuthSource, options ...ClientOptionFunc) (*Client, e // Create all the public services. c.AccessRequests = &AccessRequestsService{client: c} c.AdminCompliancePolicySettings = &AdminCompliancePolicySettingsService{client: c} c.AlertManagement = &AlertManagementService{client: c} c.Appearance = &AppearanceService{client: c} c.Applications = &ApplicationsService{client: c} Loading
gitlab_service_map_generated_test.go +1 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ package gitlab var serviceMap = map[any]any{ &AccessRequestsService{}: (*AccessRequestsServiceInterface)(nil), &AdminCompliancePolicySettingsService{}: (*AdminCompliancePolicySettingsServiceInterface)(nil), &AlertManagementService{}: (*AlertManagementServiceInterface)(nil), &AppearanceService{}: (*AppearanceServiceInterface)(nil), &ApplicationStatisticsService{}: (*ApplicationStatisticsServiceInterface)(nil), Loading
testing/admin_compliance_policy_settings_mock.go 0 → 100644 +129 −0 Original line number Diff line number Diff line // Code generated by MockGen. DO NOT EDIT. // Source: gitlab.com/gitlab-org/api/client-go (interfaces: AdminCompliancePolicySettingsServiceInterface) // // Generated by this command: // // mockgen -typed -destination=admin_compliance_policy_settings_mock.go -write_package_comment=false -package=testing gitlab.com/gitlab-org/api/client-go AdminCompliancePolicySettingsServiceInterface // package testing import ( reflect "reflect" gitlab "gitlab.com/gitlab-org/api/client-go" gomock "go.uber.org/mock/gomock" ) // MockAdminCompliancePolicySettingsServiceInterface is a mock of AdminCompliancePolicySettingsServiceInterface interface. type MockAdminCompliancePolicySettingsServiceInterface struct { ctrl *gomock.Controller recorder *MockAdminCompliancePolicySettingsServiceInterfaceMockRecorder isgomock struct{} } // MockAdminCompliancePolicySettingsServiceInterfaceMockRecorder is the mock recorder for MockAdminCompliancePolicySettingsServiceInterface. type MockAdminCompliancePolicySettingsServiceInterfaceMockRecorder struct { mock *MockAdminCompliancePolicySettingsServiceInterface } // NewMockAdminCompliancePolicySettingsServiceInterface creates a new mock instance. func NewMockAdminCompliancePolicySettingsServiceInterface(ctrl *gomock.Controller) *MockAdminCompliancePolicySettingsServiceInterface { mock := &MockAdminCompliancePolicySettingsServiceInterface{ctrl: ctrl} mock.recorder = &MockAdminCompliancePolicySettingsServiceInterfaceMockRecorder{mock} return mock } // EXPECT returns an object that allows the caller to indicate expected use. func (m *MockAdminCompliancePolicySettingsServiceInterface) EXPECT() *MockAdminCompliancePolicySettingsServiceInterfaceMockRecorder { return m.recorder } // GetCompliancePolicySettings mocks base method. func (m *MockAdminCompliancePolicySettingsServiceInterface) GetCompliancePolicySettings(options ...gitlab.RequestOptionFunc) (*gitlab.AdminCompliancePolicySettings, *gitlab.Response, error) { m.ctrl.T.Helper() varargs := []any{} for _, a := range options { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "GetCompliancePolicySettings", varargs...) ret0, _ := ret[0].(*gitlab.AdminCompliancePolicySettings) ret1, _ := ret[1].(*gitlab.Response) ret2, _ := ret[2].(error) return ret0, ret1, ret2 } // GetCompliancePolicySettings indicates an expected call of GetCompliancePolicySettings. func (mr *MockAdminCompliancePolicySettingsServiceInterfaceMockRecorder) GetCompliancePolicySettings(options ...any) *MockAdminCompliancePolicySettingsServiceInterfaceGetCompliancePolicySettingsCall { mr.mock.ctrl.T.Helper() call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCompliancePolicySettings", reflect.TypeOf((*MockAdminCompliancePolicySettingsServiceInterface)(nil).GetCompliancePolicySettings), options...) return &MockAdminCompliancePolicySettingsServiceInterfaceGetCompliancePolicySettingsCall{Call: call} } // MockAdminCompliancePolicySettingsServiceInterfaceGetCompliancePolicySettingsCall wrap *gomock.Call type MockAdminCompliancePolicySettingsServiceInterfaceGetCompliancePolicySettingsCall struct { *gomock.Call } // Return rewrite *gomock.Call.Return func (c *MockAdminCompliancePolicySettingsServiceInterfaceGetCompliancePolicySettingsCall) Return(arg0 *gitlab.AdminCompliancePolicySettings, arg1 *gitlab.Response, arg2 error) *MockAdminCompliancePolicySettingsServiceInterfaceGetCompliancePolicySettingsCall { c.Call = c.Call.Return(arg0, arg1, arg2) return c } // Do rewrite *gomock.Call.Do func (c *MockAdminCompliancePolicySettingsServiceInterfaceGetCompliancePolicySettingsCall) Do(f func(...gitlab.RequestOptionFunc) (*gitlab.AdminCompliancePolicySettings, *gitlab.Response, error)) *MockAdminCompliancePolicySettingsServiceInterfaceGetCompliancePolicySettingsCall { c.Call = c.Call.Do(f) return c } // DoAndReturn rewrite *gomock.Call.DoAndReturn func (c *MockAdminCompliancePolicySettingsServiceInterfaceGetCompliancePolicySettingsCall) DoAndReturn(f func(...gitlab.RequestOptionFunc) (*gitlab.AdminCompliancePolicySettings, *gitlab.Response, error)) *MockAdminCompliancePolicySettingsServiceInterfaceGetCompliancePolicySettingsCall { c.Call = c.Call.DoAndReturn(f) return c } // UpdateCompliancePolicySettings mocks base method. func (m *MockAdminCompliancePolicySettingsServiceInterface) UpdateCompliancePolicySettings(opt *gitlab.UpdateAdminCompliancePolicySettingsOptions, options ...gitlab.RequestOptionFunc) (*gitlab.AdminCompliancePolicySettings, *gitlab.Response, error) { m.ctrl.T.Helper() varargs := []any{opt} for _, a := range options { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "UpdateCompliancePolicySettings", varargs...) ret0, _ := ret[0].(*gitlab.AdminCompliancePolicySettings) ret1, _ := ret[1].(*gitlab.Response) ret2, _ := ret[2].(error) return ret0, ret1, ret2 } // UpdateCompliancePolicySettings indicates an expected call of UpdateCompliancePolicySettings. func (mr *MockAdminCompliancePolicySettingsServiceInterfaceMockRecorder) UpdateCompliancePolicySettings(opt any, options ...any) *MockAdminCompliancePolicySettingsServiceInterfaceUpdateCompliancePolicySettingsCall { mr.mock.ctrl.T.Helper() varargs := append([]any{opt}, options...) call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateCompliancePolicySettings", reflect.TypeOf((*MockAdminCompliancePolicySettingsServiceInterface)(nil).UpdateCompliancePolicySettings), varargs...) return &MockAdminCompliancePolicySettingsServiceInterfaceUpdateCompliancePolicySettingsCall{Call: call} } // MockAdminCompliancePolicySettingsServiceInterfaceUpdateCompliancePolicySettingsCall wrap *gomock.Call type MockAdminCompliancePolicySettingsServiceInterfaceUpdateCompliancePolicySettingsCall struct { *gomock.Call } // Return rewrite *gomock.Call.Return func (c *MockAdminCompliancePolicySettingsServiceInterfaceUpdateCompliancePolicySettingsCall) Return(arg0 *gitlab.AdminCompliancePolicySettings, arg1 *gitlab.Response, arg2 error) *MockAdminCompliancePolicySettingsServiceInterfaceUpdateCompliancePolicySettingsCall { c.Call = c.Call.Return(arg0, arg1, arg2) return c } // Do rewrite *gomock.Call.Do func (c *MockAdminCompliancePolicySettingsServiceInterfaceUpdateCompliancePolicySettingsCall) Do(f func(*gitlab.UpdateAdminCompliancePolicySettingsOptions, ...gitlab.RequestOptionFunc) (*gitlab.AdminCompliancePolicySettings, *gitlab.Response, error)) *MockAdminCompliancePolicySettingsServiceInterfaceUpdateCompliancePolicySettingsCall { c.Call = c.Call.Do(f) return c } // DoAndReturn rewrite *gomock.Call.DoAndReturn func (c *MockAdminCompliancePolicySettingsServiceInterfaceUpdateCompliancePolicySettingsCall) DoAndReturn(f func(*gitlab.UpdateAdminCompliancePolicySettingsOptions, ...gitlab.RequestOptionFunc) (*gitlab.AdminCompliancePolicySettings, *gitlab.Response, error)) *MockAdminCompliancePolicySettingsServiceInterfaceUpdateCompliancePolicySettingsCall { c.Call = c.Call.DoAndReturn(f) return c }