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)