From d3c44e3c1d3d789e148ddd98fa2f0a0213e33a5a Mon Sep 17 00:00:00 2001 From: aram price Date: Tue, 23 Jul 2024 18:17:36 -0700 Subject: [PATCH] Move iaas_clients/factory into iaas_clients/vcenter_manager --- .../fake_manager_factory.go | 13 +++++------ commandparser/construct.go | 9 ++++---- .../factory/factory_suite_test.go | 13 ----------- .../iaas_clients/iaas_clients_suite_test.go | 2 +- .../vcenter_client_contract_test.go | 2 +- .../vcenter_govmomi_contract_test.go | 2 +- .../factory.go} | 8 +++---- .../factory_test.go} | 23 +++++++++---------- .../vcenter_manager/vcenter_manager_test.go | 9 ++++---- .../fake_finder_creator.go | 6 ++--- .../fake_vim25client_creator.go | 6 ++--- main.go | 4 ++-- 12 files changed, 39 insertions(+), 58 deletions(-) delete mode 100644 iaas_cli/iaas_clients/factory/factory_suite_test.go rename iaas_cli/iaas_clients/{factory/vcenter_manager_factory.go => vcenter_manager/factory.go} (88%) rename iaas_cli/iaas_clients/{factory/vcenter_manager_factory_test.go => vcenter_manager/factory_test.go} (70%) rename iaas_cli/iaas_clients/{factory/factoryfakes => vcenter_manager/vcenter_managerfakes}/fake_finder_creator.go (94%) rename iaas_cli/iaas_clients/{factory/factoryfakes => vcenter_manager/vcenter_managerfakes}/fake_vim25client_creator.go (94%) diff --git a/commandparser/commandparserfakes/fake_manager_factory.go b/commandparser/commandparserfakes/fake_manager_factory.go index 7c25898e..7821612e 100644 --- a/commandparser/commandparserfakes/fake_manager_factory.go +++ b/commandparser/commandparserfakes/fake_manager_factory.go @@ -6,15 +6,14 @@ import ( "sync" "github.com/cloudfoundry/stembuild/commandparser" - vcenter_client_factory "github.com/cloudfoundry/stembuild/iaas_cli/iaas_clients/factory" "github.com/cloudfoundry/stembuild/iaas_cli/iaas_clients/vcenter_manager" ) type FakeManagerFactory struct { - SetConfigStub func(vcenter_client_factory.FactoryConfig) + SetConfigStub func(vcenter_manager.FactoryConfig) setConfigMutex sync.RWMutex setConfigArgsForCall []struct { - arg1 vcenter_client_factory.FactoryConfig + arg1 vcenter_manager.FactoryConfig } VCenterManagerStub func(context.Context) (*vcenter_manager.VCenterManager, error) vCenterManagerMutex sync.RWMutex @@ -33,10 +32,10 @@ type FakeManagerFactory struct { invocationsMutex sync.RWMutex } -func (fake *FakeManagerFactory) SetConfig(arg1 vcenter_client_factory.FactoryConfig) { +func (fake *FakeManagerFactory) SetConfig(arg1 vcenter_manager.FactoryConfig) { fake.setConfigMutex.Lock() fake.setConfigArgsForCall = append(fake.setConfigArgsForCall, struct { - arg1 vcenter_client_factory.FactoryConfig + arg1 vcenter_manager.FactoryConfig }{arg1}) stub := fake.SetConfigStub fake.recordInvocation("SetConfig", []interface{}{arg1}) @@ -52,13 +51,13 @@ func (fake *FakeManagerFactory) SetConfigCallCount() int { return len(fake.setConfigArgsForCall) } -func (fake *FakeManagerFactory) SetConfigCalls(stub func(vcenter_client_factory.FactoryConfig)) { +func (fake *FakeManagerFactory) SetConfigCalls(stub func(vcenter_manager.FactoryConfig)) { fake.setConfigMutex.Lock() defer fake.setConfigMutex.Unlock() fake.SetConfigStub = stub } -func (fake *FakeManagerFactory) SetConfigArgsForCall(i int) vcenter_client_factory.FactoryConfig { +func (fake *FakeManagerFactory) SetConfigArgsForCall(i int) vcenter_manager.FactoryConfig { fake.setConfigMutex.RLock() defer fake.setConfigMutex.RUnlock() argsForCall := fake.setConfigArgsForCall[i] diff --git a/commandparser/construct.go b/commandparser/construct.go index b91c2701..b35d0084 100644 --- a/commandparser/construct.go +++ b/commandparser/construct.go @@ -13,7 +13,6 @@ import ( "github.com/vmware/govmomi/object" "github.com/cloudfoundry/stembuild/construct/config" - vcenterclientfactory "github.com/cloudfoundry/stembuild/iaas_cli/iaas_clients/factory" "github.com/cloudfoundry/stembuild/iaas_cli/iaas_clients/guest_manager" "github.com/cloudfoundry/stembuild/iaas_cli/iaas_clients/vcenter_manager" ) @@ -41,7 +40,7 @@ type VMPreparerFactory interface { //counterfeiter:generate . ManagerFactory type ManagerFactory interface { VCenterManager(ctx context.Context) (*vcenter_manager.VCenterManager, error) - SetConfig(config vcenterclientfactory.FactoryConfig) + SetConfig(config vcenter_manager.FactoryConfig) } //counterfeiter:generate . ConstructCmdValidator @@ -139,12 +138,12 @@ func (p *ConstructCmd) Execute(_ context.Context, f *flag.FlagSet, _ ...interfac return subcommands.ExitFailure } - p.managerFactory.SetConfig(vcenterclientfactory.FactoryConfig{ + p.managerFactory.SetConfig(vcenter_manager.FactoryConfig{ VCenterServer: p.sourceConfig.VCenterUrl, Username: p.sourceConfig.VCenterUsername, Password: p.sourceConfig.VCenterPassword, - ClientCreator: &vcenterclientfactory.ClientCreator{}, - FinderCreator: &vcenterclientfactory.GovmomiFinderCreator{}, + ClientCreator: &vcenter_manager.ClientCreator{}, + FinderCreator: &vcenter_manager.GovmomiFinderCreator{}, RootCACertPath: p.sourceConfig.CaCertFile, }) diff --git a/iaas_cli/iaas_clients/factory/factory_suite_test.go b/iaas_cli/iaas_clients/factory/factory_suite_test.go deleted file mode 100644 index 9158d9ab..00000000 --- a/iaas_cli/iaas_clients/factory/factory_suite_test.go +++ /dev/null @@ -1,13 +0,0 @@ -package vcenter_client_factory_test - -import ( - "testing" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" -) - -func TestFactory(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "Factory Suite") -} diff --git a/iaas_cli/iaas_clients/iaas_clients_suite_test.go b/iaas_cli/iaas_clients/iaas_clients_suite_test.go index 423c4e72..a605f61d 100644 --- a/iaas_cli/iaas_clients/iaas_clients_suite_test.go +++ b/iaas_cli/iaas_clients/iaas_clients_suite_test.go @@ -11,7 +11,7 @@ import ( . "github.com/onsi/gomega" "github.com/vmware/govmomi/object" - vcenterclientfactory "github.com/cloudfoundry/stembuild/iaas_cli/iaas_clients/factory" + vcenterclientfactory "github.com/cloudfoundry/stembuild/iaas_cli/iaas_clients/vcenter_manager" ) func TestIaasClients(t *testing.T) { diff --git a/iaas_cli/iaas_clients/vcenter_client_contract_test.go b/iaas_cli/iaas_clients/vcenter_client_contract_test.go index 34a84ff1..e09ed142 100644 --- a/iaas_cli/iaas_clients/vcenter_client_contract_test.go +++ b/iaas_cli/iaas_clients/vcenter_client_contract_test.go @@ -9,7 +9,7 @@ import ( "time" "github.com/cloudfoundry/stembuild/iaas_cli" - vcenterclientfactory "github.com/cloudfoundry/stembuild/iaas_cli/iaas_clients/factory" + vcenterclientfactory "github.com/cloudfoundry/stembuild/iaas_cli/iaas_clients/vcenter_manager" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" diff --git a/iaas_cli/iaas_clients/vcenter_govmomi_contract_test.go b/iaas_cli/iaas_clients/vcenter_govmomi_contract_test.go index 3e4e3a72..29a09aee 100644 --- a/iaas_cli/iaas_clients/vcenter_govmomi_contract_test.go +++ b/iaas_cli/iaas_clients/vcenter_govmomi_contract_test.go @@ -7,8 +7,8 @@ import ( "path/filepath" "time" - vcenterclientfactory "github.com/cloudfoundry/stembuild/iaas_cli/iaas_clients/factory" "github.com/cloudfoundry/stembuild/iaas_cli/iaas_clients/guest_manager" + vcenterclientfactory "github.com/cloudfoundry/stembuild/iaas_cli/iaas_clients/vcenter_manager" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" diff --git a/iaas_cli/iaas_clients/factory/vcenter_manager_factory.go b/iaas_cli/iaas_clients/vcenter_manager/factory.go similarity index 88% rename from iaas_cli/iaas_clients/factory/vcenter_manager_factory.go rename to iaas_cli/iaas_clients/vcenter_manager/factory.go index 44d25f8b..da108972 100644 --- a/iaas_cli/iaas_clients/factory/vcenter_manager_factory.go +++ b/iaas_cli/iaas_clients/vcenter_manager/factory.go @@ -1,4 +1,4 @@ -package vcenter_client_factory +package vcenter_manager import ( "context" @@ -10,8 +10,6 @@ import ( "github.com/vmware/govmomi/session" "github.com/vmware/govmomi/vim25" "github.com/vmware/govmomi/vim25/soap" - - "github.com/cloudfoundry/stembuild/iaas_cli/iaas_clients/vcenter_manager" ) //go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 -generate @@ -63,7 +61,7 @@ func (f *ManagerFactory) SetConfig(config FactoryConfig) { f.Config = config } -func (f *ManagerFactory) VCenterManager(ctx context.Context) (*vcenter_manager.VCenterManager, error) { +func (f *ManagerFactory) VCenterManager(ctx context.Context) (*VCenterManager, error) { govmomiClient, err := f.govmomiClient(ctx) if err != nil { @@ -72,7 +70,7 @@ func (f *ManagerFactory) VCenterManager(ctx context.Context) (*vcenter_manager.V finder := f.Config.FinderCreator.NewFinder(govmomiClient.Client, false) - return vcenter_manager.NewVCenterManager(govmomiClient, govmomiClient.Client, finder, f.Config.Username, f.Config.Password) + return NewVCenterManager(govmomiClient, govmomiClient.Client, finder, f.Config.Username, f.Config.Password) } diff --git a/iaas_cli/iaas_clients/factory/vcenter_manager_factory_test.go b/iaas_cli/iaas_clients/vcenter_manager/factory_test.go similarity index 70% rename from iaas_cli/iaas_clients/factory/vcenter_manager_factory_test.go rename to iaas_cli/iaas_clients/vcenter_manager/factory_test.go index 501b3a5e..8bb26c0d 100644 --- a/iaas_cli/iaas_clients/factory/vcenter_manager_factory_test.go +++ b/iaas_cli/iaas_clients/vcenter_manager/factory_test.go @@ -1,4 +1,4 @@ -package vcenter_client_factory_test +package vcenter_manager_test import ( "context" @@ -10,34 +10,33 @@ import ( "github.com/vmware/govmomi/find" "github.com/vmware/govmomi/vim25" - vcenterclientfactory "github.com/cloudfoundry/stembuild/iaas_cli/iaas_clients/factory" - "github.com/cloudfoundry/stembuild/iaas_cli/iaas_clients/factory/factoryfakes" "github.com/cloudfoundry/stembuild/iaas_cli/iaas_clients/vcenter_manager" + "github.com/cloudfoundry/stembuild/iaas_cli/iaas_clients/vcenter_manager/vcenter_managerfakes" ) var _ = Describe("VcenterManagerFactory", func() { var ( - managerFactory *vcenterclientfactory.ManagerFactory + managerFactory *vcenter_manager.ManagerFactory ) BeforeEach(func() { - managerFactory = &vcenterclientfactory.ManagerFactory{} + managerFactory = &vcenter_manager.ManagerFactory{} }) Context("VCenterManager", func() { It("returns a vcenter manager", func() { fakeVimClient := &vim25.Client{} - fakeClientCreator := &factoryfakes.FakeVim25ClientCreator{} + fakeClientCreator := &vcenter_managerfakes.FakeVim25ClientCreator{} fakeClientCreator.NewClientReturns(fakeVimClient, nil) fakeFinder := &find.Finder{} - fakeFinderCreator := &factoryfakes.FakeFinderCreator{} + fakeFinderCreator := &vcenter_managerfakes.FakeFinderCreator{} fakeFinderCreator.NewFinderReturns(fakeFinder) - managerFactory.SetConfig(vcenterclientfactory.FactoryConfig{ + managerFactory.SetConfig(vcenter_manager.FactoryConfig{ VCenterServer: "example.com", Username: "user", Password: "pass", @@ -54,9 +53,9 @@ var _ = Describe("VcenterManagerFactory", func() { }) It("returns an error if the vcenter server cannot be parsed", func() { - fakeClientCreator := &factoryfakes.FakeVim25ClientCreator{} + fakeClientCreator := &vcenter_managerfakes.FakeVim25ClientCreator{} - managerFactory.SetConfig(vcenterclientfactory.FactoryConfig{ + managerFactory.SetConfig(vcenter_manager.FactoryConfig{ VCenterServer: " :", // make soap.ParseURL fail with Username: "user", Password: "pass", @@ -73,10 +72,10 @@ var _ = Describe("VcenterManagerFactory", func() { It("returns an error if a vim25 client cannot be created", func() { clientErr := errors.New("can't make a client") - fakeClientCreator := &factoryfakes.FakeVim25ClientCreator{} + fakeClientCreator := &vcenter_managerfakes.FakeVim25ClientCreator{} fakeClientCreator.NewClientReturns(nil, clientErr) - managerFactory.SetConfig(vcenterclientfactory.FactoryConfig{ + managerFactory.SetConfig(vcenter_manager.FactoryConfig{ VCenterServer: "example.com", Username: "user", Password: "pass", diff --git a/iaas_cli/iaas_clients/vcenter_manager/vcenter_manager_test.go b/iaas_cli/iaas_clients/vcenter_manager/vcenter_manager_test.go index 047cba63..2d0e33b4 100644 --- a/iaas_cli/iaas_clients/vcenter_manager/vcenter_manager_test.go +++ b/iaas_cli/iaas_clients/vcenter_manager/vcenter_manager_test.go @@ -11,7 +11,6 @@ import ( "github.com/vmware/govmomi/object" "github.com/vmware/govmomi/vim25" - vcenterclientfactory "github.com/cloudfoundry/stembuild/iaas_cli/iaas_clients/factory" "github.com/cloudfoundry/stembuild/iaas_cli/iaas_clients/guest_manager" "github.com/cloudfoundry/stembuild/iaas_cli/iaas_clients/vcenter_manager" "github.com/cloudfoundry/stembuild/iaas_cli/iaas_clients/vcenter_manager/vcenter_managerfakes" @@ -136,16 +135,16 @@ var _ = Describe("VcenterManager", func() { inventoryPath := "/DC0/vm/DC0_H0_VM0" clonePath := "/DC0/vm/DC0_H0_VM0_NewClone" - factoryConfig := &vcenterclientfactory.FactoryConfig{ + factoryConfig := &vcenter_manager.FactoryConfig{ VCenterServer: "https://user:pass@127.0.0.1:8989/sdk", Username: "user", Password: "pass", - ClientCreator: &vcenterclientfactory.ClientCreator{}, - FinderCreator: &vcenterclientfactory.GovmomiFinderCreator{}, + ClientCreator: &vcenter_manager.ClientCreator{}, + FinderCreator: &vcenter_manager.GovmomiFinderCreator{}, RootCACertPath: CertPath, } - managerFactory := &vcenterclientfactory.ManagerFactory{ + managerFactory := &vcenter_manager.ManagerFactory{ Config: *factoryConfig, } diff --git a/iaas_cli/iaas_clients/factory/factoryfakes/fake_finder_creator.go b/iaas_cli/iaas_clients/vcenter_manager/vcenter_managerfakes/fake_finder_creator.go similarity index 94% rename from iaas_cli/iaas_clients/factory/factoryfakes/fake_finder_creator.go rename to iaas_cli/iaas_clients/vcenter_manager/vcenter_managerfakes/fake_finder_creator.go index e0c83604..1d55780c 100644 --- a/iaas_cli/iaas_clients/factory/factoryfakes/fake_finder_creator.go +++ b/iaas_cli/iaas_clients/vcenter_manager/vcenter_managerfakes/fake_finder_creator.go @@ -1,10 +1,10 @@ // Code generated by counterfeiter. DO NOT EDIT. -package factoryfakes +package vcenter_managerfakes import ( "sync" - vcenter_client_factory "github.com/cloudfoundry/stembuild/iaas_cli/iaas_clients/factory" + "github.com/cloudfoundry/stembuild/iaas_cli/iaas_clients/vcenter_manager" "github.com/vmware/govmomi/find" "github.com/vmware/govmomi/vim25" ) @@ -112,4 +112,4 @@ func (fake *FakeFinderCreator) recordInvocation(key string, args []interface{}) fake.invocations[key] = append(fake.invocations[key], args) } -var _ vcenter_client_factory.FinderCreator = new(FakeFinderCreator) +var _ vcenter_manager.FinderCreator = new(FakeFinderCreator) diff --git a/iaas_cli/iaas_clients/factory/factoryfakes/fake_vim25client_creator.go b/iaas_cli/iaas_clients/vcenter_manager/vcenter_managerfakes/fake_vim25client_creator.go similarity index 94% rename from iaas_cli/iaas_clients/factory/factoryfakes/fake_vim25client_creator.go rename to iaas_cli/iaas_clients/vcenter_manager/vcenter_managerfakes/fake_vim25client_creator.go index ad0b3953..0cb6d270 100644 --- a/iaas_cli/iaas_clients/factory/factoryfakes/fake_vim25client_creator.go +++ b/iaas_cli/iaas_clients/vcenter_manager/vcenter_managerfakes/fake_vim25client_creator.go @@ -1,11 +1,11 @@ // Code generated by counterfeiter. DO NOT EDIT. -package factoryfakes +package vcenter_managerfakes import ( "context" "sync" - vcenter_client_factory "github.com/cloudfoundry/stembuild/iaas_cli/iaas_clients/factory" + "github.com/cloudfoundry/stembuild/iaas_cli/iaas_clients/vcenter_manager" "github.com/vmware/govmomi/vim25" "github.com/vmware/govmomi/vim25/soap" ) @@ -118,4 +118,4 @@ func (fake *FakeVim25ClientCreator) recordInvocation(key string, args []interfac fake.invocations[key] = append(fake.invocations[key], args) } -var _ vcenter_client_factory.Vim25ClientCreator = new(FakeVim25ClientCreator) +var _ vcenter_manager.Vim25ClientCreator = new(FakeVim25ClientCreator) diff --git a/main.go b/main.go index 017e22b2..a2db5014 100644 --- a/main.go +++ b/main.go @@ -13,7 +13,7 @@ import ( "github.com/cloudfoundry/stembuild/assets" "github.com/cloudfoundry/stembuild/commandparser" "github.com/cloudfoundry/stembuild/construct" - vcenterclientfactory "github.com/cloudfoundry/stembuild/iaas_cli/iaas_clients/factory" + "github.com/cloudfoundry/stembuild/iaas_cli/iaas_clients/vcenter_manager" "github.com/cloudfoundry/stembuild/package_stemcell/packager" "github.com/cloudfoundry/stembuild/version" ) @@ -37,7 +37,7 @@ func main() { var gf commandparser.GlobalFlags packageCmd := commandparser.NewPackageCommand(version.NewVersionGetter(), &packager.Factory{}, &commandparser.PackageMessenger{Output: os.Stderr}) packageCmd.GlobalFlags = &gf - constructCmd := commandparser.NewConstructCmd(context.Background(), &construct.Factory{}, &vcenterclientfactory.ManagerFactory{}, &commandparser.ConstructValidator{}, &commandparser.ConstructCmdMessenger{OutputChannel: os.Stderr}) + constructCmd := commandparser.NewConstructCmd(context.Background(), &construct.Factory{}, &vcenter_manager.ManagerFactory{}, &commandparser.ConstructValidator{}, &commandparser.ConstructCmdMessenger{OutputChannel: os.Stderr}) constructCmd.GlobalFlags = &gf var commands = make([]subcommands.Command, 0)