diff --git a/pkg/remote/azurerm/init.go b/pkg/remote/azurerm/init.go index 38d92bad7..8c706717e 100644 --- a/pkg/remote/azurerm/init.go +++ b/pkg/remote/azurerm/init.go @@ -43,7 +43,7 @@ func Init( storageAccountRepo := repository.NewStorageRepository(con, providerConfig, c) networkRepo := repository.NewNetworkRepository(con, providerConfig, c) - armResourcesRepo := repository.NewArmResourcesRepository(con, providerConfig, c) + armResourcesRepo := repository.NewResourcesRepository(con, providerConfig, c) providerLibrary.AddProvider(terraform.AZURE, provider) diff --git a/pkg/remote/azurerm/repository/armresources.go b/pkg/remote/azurerm/repository/armresources.go index f49604f97..155efb04c 100644 --- a/pkg/remote/azurerm/repository/armresources.go +++ b/pkg/remote/azurerm/repository/armresources.go @@ -13,37 +13,37 @@ type ResourcesRepository interface { ListAllResourceGroups() ([]*armresources.ResourceGroup, error) } -type armResourcesListPager interface { +type resourcesListPager interface { pager PageResponse() armresources.ResourceGroupsListResponse } -type armResourcesClient interface { - List(options *armresources.ResourceGroupsListOptions) armResourcesListPager +type resourcesClient interface { + List(options *armresources.ResourceGroupsListOptions) resourcesListPager } -type armResourcesClientImpl struct { +type resourcesClientImpl struct { client *armresources.ResourceGroupsClient } -func (c armResourcesClientImpl) List(options *armresources.ResourceGroupsListOptions) armResourcesListPager { +func (c resourcesClientImpl) List(options *armresources.ResourceGroupsListOptions) resourcesListPager { return c.client.List(options) } -type armResourcesRepository struct { - client armResourcesClient +type resourcesRepository struct { + client resourcesClient cache cache.Cache } -func NewArmResourcesRepository(con *arm.Connection, config common.AzureProviderConfig, cache cache.Cache) *armResourcesRepository { - return &armResourcesRepository{ - &armResourcesClientImpl{armresources.NewResourceGroupsClient(con, config.SubscriptionID)}, +func NewResourcesRepository(con *arm.Connection, config common.AzureProviderConfig, cache cache.Cache) *resourcesRepository { + return &resourcesRepository{ + &resourcesClientImpl{armresources.NewResourceGroupsClient(con, config.SubscriptionID)}, cache, } } -func (s *armResourcesRepository) ListAllResourceGroups() ([]*armresources.ResourceGroup, error) { - cacheKey := "armResourcesListAllResourceGroups" +func (s *resourcesRepository) ListAllResourceGroups() ([]*armresources.ResourceGroup, error) { + cacheKey := "resourcesListAllResourceGroups" if v := s.cache.Get(cacheKey); v != nil { return v.([]*armresources.ResourceGroup), nil } diff --git a/pkg/remote/azurerm/repository/armresources_test.go b/pkg/remote/azurerm/repository/armresources_test.go index 4b60eba52..f7a79f088 100644 --- a/pkg/remote/azurerm/repository/armresources_test.go +++ b/pkg/remote/azurerm/repository/armresources_test.go @@ -30,13 +30,13 @@ func Test_ArmResources_ListAllResourceGroups(t *testing.T) { testcases := []struct { name string - mocks func(*mockArmResourcesListPager, *cache.MockCache) + mocks func(*mockResourcesListPager, *cache.MockCache) expected []*armresources.ResourceGroup wantErr string }{ { name: "should return resource groups", - mocks: func(mockPager *mockArmResourcesListPager, mockCache *cache.MockCache) { + mocks: func(mockPager *mockResourcesListPager, mockCache *cache.MockCache) { mockPager.On("Err").Return(nil).Times(3) mockPager.On("NextPage", mock.Anything).Return(true).Times(2) mockPager.On("NextPage", mock.Anything).Return(false).Times(1) @@ -69,21 +69,21 @@ func Test_ArmResources_ListAllResourceGroups(t *testing.T) { }, }).Times(1) - mockCache.On("Get", "armResourcesListAllResourceGroups").Return(nil).Times(1) - mockCache.On("Put", "armResourcesListAllResourceGroups", expectedResults).Return(true).Times(1) + mockCache.On("Get", "resourcesListAllResourceGroups").Return(nil).Times(1) + mockCache.On("Put", "resourcesListAllResourceGroups", expectedResults).Return(true).Times(1) }, expected: expectedResults, }, { name: "should hit cache and return resource groups", - mocks: func(mockPager *mockArmResourcesListPager, mockCache *cache.MockCache) { - mockCache.On("Get", "armResourcesListAllResourceGroups").Return(expectedResults).Times(1) + mocks: func(mockPager *mockResourcesListPager, mockCache *cache.MockCache) { + mockCache.On("Get", "resourcesListAllResourceGroups").Return(expectedResults).Times(1) }, expected: expectedResults, }, { name: "should return remote error", - mocks: func(mockPager *mockArmResourcesListPager, mockCache *cache.MockCache) { + mocks: func(mockPager *mockResourcesListPager, mockCache *cache.MockCache) { mockPager.On("NextPage", mock.Anything).Return(true).Times(1) mockPager.On("PageResponse").Return(armresources.ResourceGroupsListResponse{ ResourceGroupsListResult: armresources.ResourceGroupsListResult{ @@ -94,13 +94,13 @@ func Test_ArmResources_ListAllResourceGroups(t *testing.T) { }).Times(1) mockPager.On("Err").Return(errors.New("remote error")).Times(1) - mockCache.On("Get", "armResourcesListAllResourceGroups").Return(nil).Times(1) + mockCache.On("Get", "resourcesListAllResourceGroups").Return(nil).Times(1) }, wantErr: "remote error", }, { name: "should return remote error after fetching all pages", - mocks: func(mockPager *mockArmResourcesListPager, mockCache *cache.MockCache) { + mocks: func(mockPager *mockResourcesListPager, mockCache *cache.MockCache) { mockPager.On("NextPage", mock.Anything).Return(true).Times(1) mockPager.On("NextPage", mock.Anything).Return(false).Times(1) mockPager.On("PageResponse").Return(armresources.ResourceGroupsListResponse{ @@ -113,7 +113,7 @@ func Test_ArmResources_ListAllResourceGroups(t *testing.T) { mockPager.On("Err").Return(nil).Times(1) mockPager.On("Err").Return(errors.New("remote error")).Times(1) - mockCache.On("Get", "armResourcesListAllResourceGroups").Return(nil).Times(1) + mockCache.On("Get", "resourcesListAllResourceGroups").Return(nil).Times(1) }, wantErr: "remote error", }, @@ -121,15 +121,15 @@ func Test_ArmResources_ListAllResourceGroups(t *testing.T) { for _, tt := range testcases { t.Run(tt.name, func(t *testing.T) { - fakeClient := &mockArmResourcesClient{} - mockPager := &mockArmResourcesListPager{} + fakeClient := &mockResourcesClient{} + mockPager := &mockResourcesListPager{} mockCache := &cache.MockCache{} fakeClient.On("List", mock.Anything).Maybe().Return(mockPager) tt.mocks(mockPager, mockCache) - s := &armResourcesRepository{ + s := &resourcesRepository{ client: fakeClient, cache: mockCache, } diff --git a/pkg/remote/azurerm/repository/mock_armResourcesClient.go b/pkg/remote/azurerm/repository/mock_resourcesClient.go similarity index 56% rename from pkg/remote/azurerm/repository/mock_armResourcesClient.go rename to pkg/remote/azurerm/repository/mock_resourcesClient.go index 8368b4520..0681eefa8 100644 --- a/pkg/remote/azurerm/repository/mock_armResourcesClient.go +++ b/pkg/remote/azurerm/repository/mock_resourcesClient.go @@ -7,21 +7,21 @@ import ( mock "github.com/stretchr/testify/mock" ) -// mockArmResourcesClient is an autogenerated mock type for the armResourcesClient type -type mockArmResourcesClient struct { +// mockResourcesClient is an autogenerated mock type for the resourcesClient type +type mockResourcesClient struct { mock.Mock } // List provides a mock function with given fields: options -func (_m *mockArmResourcesClient) List(options *armresources.ResourceGroupsListOptions) armResourcesListPager { +func (_m *mockResourcesClient) List(options *armresources.ResourceGroupsListOptions) resourcesListPager { ret := _m.Called(options) - var r0 armResourcesListPager - if rf, ok := ret.Get(0).(func(*armresources.ResourceGroupsListOptions) armResourcesListPager); ok { + var r0 resourcesListPager + if rf, ok := ret.Get(0).(func(*armresources.ResourceGroupsListOptions) resourcesListPager); ok { r0 = rf(options) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(armResourcesListPager) + r0 = ret.Get(0).(resourcesListPager) } } diff --git a/pkg/remote/azurerm/repository/mock_armResourcesListPager.go b/pkg/remote/azurerm/repository/mock_resourcesListPager.go similarity index 73% rename from pkg/remote/azurerm/repository/mock_armResourcesListPager.go rename to pkg/remote/azurerm/repository/mock_resourcesListPager.go index 30375c139..2e31f32a0 100644 --- a/pkg/remote/azurerm/repository/mock_armResourcesListPager.go +++ b/pkg/remote/azurerm/repository/mock_resourcesListPager.go @@ -10,13 +10,13 @@ import ( mock "github.com/stretchr/testify/mock" ) -// mockArmResourcesListPager is an autogenerated mock type for the armResourcesListPager type -type mockArmResourcesListPager struct { +// mockResourcesListPager is an autogenerated mock type for the resourcesListPager type +type mockResourcesListPager struct { mock.Mock } // Err provides a mock function with given fields: -func (_m *mockArmResourcesListPager) Err() error { +func (_m *mockResourcesListPager) Err() error { ret := _m.Called() var r0 error @@ -30,7 +30,7 @@ func (_m *mockArmResourcesListPager) Err() error { } // NextPage provides a mock function with given fields: ctx -func (_m *mockArmResourcesListPager) NextPage(ctx context.Context) bool { +func (_m *mockResourcesListPager) NextPage(ctx context.Context) bool { ret := _m.Called(ctx) var r0 bool @@ -44,7 +44,7 @@ func (_m *mockArmResourcesListPager) NextPage(ctx context.Context) bool { } // PageResponse provides a mock function with given fields: -func (_m *mockArmResourcesListPager) PageResponse() armresources.ResourceGroupsListResponse { +func (_m *mockResourcesListPager) PageResponse() armresources.ResourceGroupsListResponse { ret := _m.Called() var r0 armresources.ResourceGroupsListResponse