diff --git a/pkg/client/quay/client.go b/pkg/client/quay/client.go index c24afb5b..3dad13f6 100644 --- a/pkg/client/quay/client.go +++ b/pkg/client/quay/client.go @@ -8,8 +8,7 @@ import ( "io/ioutil" "net/http" "net/url" - - "github.com/quay/quay-bridge-operator/pkg/utils" + "strings" ) type QuayClient struct { @@ -172,7 +171,7 @@ func (c *QuayClient) newRequest(method, path string, body interface{}) (*http.Re } req, err := http.NewRequest(method, u.String(), buf) - if !utils.IsZeroOfUnderlyingType(c.AuthToken) { + if !strings.EqualFold("", c.AuthToken) { req.Header.Set("Authorization", "Bearer "+c.AuthToken) } diff --git a/pkg/client/quay/mocks/client_mock.go b/pkg/client/quay/mocks/client_mock.go new file mode 100644 index 00000000..9a962b07 --- /dev/null +++ b/pkg/client/quay/mocks/client_mock.go @@ -0,0 +1,238 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: client.go +// +// Generated by this command: +// +// mockgen -source=client.go -destination=mocks/client_mock.go -package=quay +// + +// Package quay is a generated GoMock package. +package quay + +import ( + http "net/http" + reflect "reflect" + + quay "github.com/quay/quay-bridge-operator/pkg/client/quay" + gomock "go.uber.org/mock/gomock" +) + +// MockQuayClient is a mock of QuayClient interface. +type MockQuayClient struct { + ctrl *gomock.Controller + recorder *MockQuayClientMockRecorder +} + +// MockQuayClientMockRecorder is the mock recorder for MockQuayClient. +type MockQuayClientMockRecorder struct { + mock *MockQuayClient +} + +// NewMockQuayClient creates a new mock instance. +func NewMockQuayClient(ctrl *gomock.Controller) *MockQuayClient { + mock := &MockQuayClient{ctrl: ctrl} + mock.recorder = &MockQuayClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockQuayClient) EXPECT() *MockQuayClientMockRecorder { + return m.recorder +} + +// CreateOrganization mocks base method. +func (m *MockQuayClient) CreateOrganization(arg0 string) (quay.StringValue, *http.Response, quay.QuayApiError) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateOrganization", arg0) + ret0, _ := ret[0].(quay.StringValue) + ret1, _ := ret[1].(*http.Response) + ret2, _ := ret[2].(quay.QuayApiError) + return ret0, ret1, ret2 +} + +// CreateOrganization indicates an expected call of CreateOrganization. +func (mr *MockQuayClientMockRecorder) CreateOrganization(arg0 any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateOrganization", reflect.TypeOf((*MockQuayClient)(nil).CreateOrganization), arg0) +} + +// CreateOrganizationRobotAccount mocks base method. +func (m *MockQuayClient) CreateOrganizationRobotAccount(arg0, arg1 string) (quay.RobotAccount, *http.Response, quay.QuayApiError) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateOrganizationRobotAccount", arg0, arg1) + ret0, _ := ret[0].(quay.RobotAccount) + ret1, _ := ret[1].(*http.Response) + ret2, _ := ret[2].(quay.QuayApiError) + return ret0, ret1, ret2 +} + +// CreateOrganizationRobotAccount indicates an expected call of CreateOrganizationRobotAccount. +func (mr *MockQuayClientMockRecorder) CreateOrganizationRobotAccount(arg0, arg1 any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateOrganizationRobotAccount", reflect.TypeOf((*MockQuayClient)(nil).CreateOrganizationRobotAccount), arg0, arg1) +} + +// CreateRepository mocks base method. +func (m *MockQuayClient) CreateRepository(arg0, arg1 string) (quay.RepositoryRequest, *http.Response, quay.QuayApiError) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateRepository", arg0, arg1) + ret0, _ := ret[0].(quay.RepositoryRequest) + ret1, _ := ret[1].(*http.Response) + ret2, _ := ret[2].(quay.QuayApiError) + return ret0, ret1, ret2 +} + +// CreateRepository indicates an expected call of CreateRepository. +func (mr *MockQuayClientMockRecorder) CreateRepository(arg0, arg1 any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateRepository", reflect.TypeOf((*MockQuayClient)(nil).CreateRepository), arg0, arg1) +} + +// CreateRobotPermissionForOrganization mocks base method. +func (m *MockQuayClient) CreateRobotPermissionForOrganization(arg0, arg1, arg2 string) (quay.Prototype, *http.Response, quay.QuayApiError) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateRobotPermissionForOrganization", arg0, arg1, arg2) + ret0, _ := ret[0].(quay.Prototype) + ret1, _ := ret[1].(*http.Response) + ret2, _ := ret[2].(quay.QuayApiError) + return ret0, ret1, ret2 +} + +// CreateRobotPermissionForOrganization indicates an expected call of CreateRobotPermissionForOrganization. +func (mr *MockQuayClientMockRecorder) CreateRobotPermissionForOrganization(arg0, arg1, arg2 any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateRobotPermissionForOrganization", reflect.TypeOf((*MockQuayClient)(nil).CreateRobotPermissionForOrganization), arg0, arg1, arg2) +} + +// DeleteOrganization mocks base method. +func (m *MockQuayClient) DeleteOrganization(arg0 string) (*http.Response, quay.QuayApiError) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteOrganization", arg0) + ret0, _ := ret[0].(*http.Response) + ret1, _ := ret[1].(quay.QuayApiError) + return ret0, ret1 +} + +// DeleteOrganization indicates an expected call of DeleteOrganization. +func (mr *MockQuayClientMockRecorder) DeleteOrganization(arg0 any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteOrganization", reflect.TypeOf((*MockQuayClient)(nil).DeleteOrganization), arg0) +} + +// GetOrganizationByName mocks base method. +func (m *MockQuayClient) GetOrganizationByName(arg0 string) (quay.Organization, *http.Response, quay.QuayApiError) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetOrganizationByName", arg0) + ret0, _ := ret[0].(quay.Organization) + ret1, _ := ret[1].(*http.Response) + ret2, _ := ret[2].(quay.QuayApiError) + return ret0, ret1, ret2 +} + +// GetOrganizationByName indicates an expected call of GetOrganizationByName. +func (mr *MockQuayClientMockRecorder) GetOrganizationByName(arg0 any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetOrganizationByName", reflect.TypeOf((*MockQuayClient)(nil).GetOrganizationByName), arg0) +} + +// GetOrganizationRobotAccount mocks base method. +func (m *MockQuayClient) GetOrganizationRobotAccount(arg0, arg1 string) (quay.RobotAccount, *http.Response, quay.QuayApiError) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetOrganizationRobotAccount", arg0, arg1) + ret0, _ := ret[0].(quay.RobotAccount) + ret1, _ := ret[1].(*http.Response) + ret2, _ := ret[2].(quay.QuayApiError) + return ret0, ret1, ret2 +} + +// GetOrganizationRobotAccount indicates an expected call of GetOrganizationRobotAccount. +func (mr *MockQuayClientMockRecorder) GetOrganizationRobotAccount(arg0, arg1 any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetOrganizationRobotAccount", reflect.TypeOf((*MockQuayClient)(nil).GetOrganizationRobotAccount), arg0, arg1) +} + +// GetPrototypesByOrganization mocks base method. +func (m *MockQuayClient) GetPrototypesByOrganization(arg0 string) (quay.PrototypesResponse, *http.Response, quay.QuayApiError) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetPrototypesByOrganization", arg0) + ret0, _ := ret[0].(quay.PrototypesResponse) + ret1, _ := ret[1].(*http.Response) + ret2, _ := ret[2].(quay.QuayApiError) + return ret0, ret1, ret2 +} + +// GetPrototypesByOrganization indicates an expected call of GetPrototypesByOrganization. +func (mr *MockQuayClientMockRecorder) GetPrototypesByOrganization(arg0 any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPrototypesByOrganization", reflect.TypeOf((*MockQuayClient)(nil).GetPrototypesByOrganization), arg0) +} + +// GetRepository mocks base method. +func (m *MockQuayClient) GetRepository(arg0, arg1 string) (quay.Repository, *http.Response, quay.QuayApiError) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetRepository", arg0, arg1) + ret0, _ := ret[0].(quay.Repository) + ret1, _ := ret[1].(*http.Response) + ret2, _ := ret[2].(quay.QuayApiError) + return ret0, ret1, ret2 +} + +// GetRepository indicates an expected call of GetRepository. +func (mr *MockQuayClientMockRecorder) GetRepository(arg0, arg1 any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRepository", reflect.TypeOf((*MockQuayClient)(nil).GetRepository), arg0, arg1) +} + +// GetUser mocks base method. +func (m *MockQuayClient) GetUser() (quay.User, *http.Response, quay.QuayApiError) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetUser") + ret0, _ := ret[0].(quay.User) + ret1, _ := ret[1].(*http.Response) + ret2, _ := ret[2].(quay.QuayApiError) + return ret0, ret1, ret2 +} + +// GetUser indicates an expected call of GetUser. +func (mr *MockQuayClientMockRecorder) GetUser() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetUser", reflect.TypeOf((*MockQuayClient)(nil).GetUser)) +} + +// MockHTTPClient is a mock of HTTPClient interface. +type MockHTTPClient struct { + ctrl *gomock.Controller + recorder *MockHTTPClientMockRecorder +} + +// MockHTTPClientMockRecorder is the mock recorder for MockHTTPClient. +type MockHTTPClientMockRecorder struct { + mock *MockHTTPClient +} + +// NewMockHTTPClient creates a new mock instance. +func NewMockHTTPClient(ctrl *gomock.Controller) *MockHTTPClient { + mock := &MockHTTPClient{ctrl: ctrl} + mock.recorder = &MockHTTPClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockHTTPClient) EXPECT() *MockHTTPClientMockRecorder { + return m.recorder +} + +// Do mocks base method. +func (m *MockHTTPClient) Do(req *http.Request) (*http.Response, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Do", req) + ret0, _ := ret[0].(*http.Response) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Do indicates an expected call of Do. +func (mr *MockHTTPClientMockRecorder) Do(req any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Do", reflect.TypeOf((*MockHTTPClient)(nil).Do), req) +} diff --git a/pkg/utils/utils.go b/pkg/utils/utils.go index 7235d338..bc711b5f 100644 --- a/pkg/utils/utils.go +++ b/pkg/utils/utils.go @@ -2,17 +2,12 @@ package utils import ( "fmt" - "reflect" "github.com/quay/quay-bridge-operator/pkg/constants" "github.com/quay/quay-bridge-operator/pkg/logging" corev1 "k8s.io/api/core/v1" ) -func IsZeroOfUnderlyingType(x interface{}) bool { - return reflect.DeepEqual(x, reflect.Zero(reflect.TypeOf(x)).Interface()) -} - func RemoveItemsFromSlice(s []string, r []string) []string { for i, v := range s {