From 3d4cbb95ec4e1833c5b3028fac61c43d2f140a27 Mon Sep 17 00:00:00 2001 From: Ansuman Satapathy Date: Thu, 8 Aug 2024 12:39:09 +0000 Subject: [PATCH] feat: [CDE-192]: added a new factory method for infraproviders. (#2431) * feat: [CDE-192]: added a new factory method for infraproviders. * feat: [CDE-192]: added a new factory method for infraproviders. --- infraprovider/infra_provider_factory.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/infraprovider/infra_provider_factory.go b/infraprovider/infra_provider_factory.go index 4ba48377b..da3cc975a 100644 --- a/infraprovider/infra_provider_factory.go +++ b/infraprovider/infra_provider_factory.go @@ -20,17 +20,21 @@ import ( "github.com/harness/gitness/types/enum" ) -type Factory struct { +type Factory interface { + GetInfraProvider(providerType enum.InfraProviderType) (InfraProvider, error) +} + +type factory struct { providers map[enum.InfraProviderType]InfraProvider } func NewFactory(dockerProvider *DockerProvider) Factory { providers := make(map[enum.InfraProviderType]InfraProvider) providers[enum.InfraProviderTypeDocker] = dockerProvider - return Factory{providers: providers} + return &factory{providers: providers} } -func (f *Factory) GetInfraProvider(providerType enum.InfraProviderType) (InfraProvider, error) { +func (f *factory) GetInfraProvider(providerType enum.InfraProviderType) (InfraProvider, error) { val := f.providers[providerType] if val == nil { return nil, fmt.Errorf("unknown infra provider type: %s", providerType)