Skip to content

Commit

Permalink
don't treat "" as a special case, avoid calling instead
Browse files Browse the repository at this point in the history
  • Loading branch information
j-white committed Apr 15, 2024
1 parent 587fed6 commit 8d853ce
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 17 deletions.
11 changes: 7 additions & 4 deletions internal/datastore/postgres/postgres.go
Original file line number Diff line number Diff line change
Expand Up @@ -146,10 +146,13 @@ func newPostgresDatastore(
return nil, common.RedactAndLogSensitiveConnString(ctx, errUnableToInstantiate, err, pgURL)
}

// Setup the credential provider
credentialsProvider, err := datastore.NewCredentialsProvider(ctx, config.credentialsProviderName)
if err != nil {
return nil, err
// Setup the credentials provider
var credentialsProvider datastore.CredentialsProvider
if config.credentialsProviderName != "" {
credentialsProvider, err = datastore.NewCredentialsProvider(ctx, config.credentialsProviderName)
if err != nil {
return nil, err
}
}

// Setup the config for each of the read and write pools.
Expand Down
10 changes: 7 additions & 3 deletions pkg/cmd/migrate.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,10 +60,14 @@ func migrateRun(cmd *cobra.Command, args []string) error {
} else if datastoreEngine == "postgres" {
log.Ctx(cmd.Context()).Info().Msg("migrating postgres datastore")

var credentialsProvider datastore.CredentialsProvider
credentialsProviderName := cobrautil.MustGetString(cmd, "datastore-credentials-provider-name")
credentialsProvider, err := datastore.NewCredentialsProvider(cmd.Context(), credentialsProviderName)
if err != nil {
return err
if credentialsProviderName != "" {
var err error
credentialsProvider, err = datastore.NewCredentialsProvider(cmd.Context(), credentialsProviderName)
if err != nil {
return err
}
}

migrationDriver, err := migrations.NewAlembicPostgresDriver(cmd.Context(), dbURL, credentialsProvider)
Expand Down
3 changes: 0 additions & 3 deletions pkg/datastore/credentials.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,6 @@ func CredentialsProviderOptions() string {
// NewCredentialsProvider create a new CredentialsProvider for the given name
// returns an error if no match is found, of if there is a problem creating the given CredentialsProvider
func NewCredentialsProvider(ctx context.Context, name string) (CredentialsProvider, error) {
if name == "" {
return NoCredentialsProvider, nil
}
builder, ok := BuilderForCredentialProvider[name]
if !ok {
return nil, fmt.Errorf("unknown credentials provider: %s", name)
Expand Down
8 changes: 1 addition & 7 deletions pkg/datastore/credentials_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,8 @@ import (
"github.com/stretchr/testify/require"
)

func TestNoCredentialsProvider(t *testing.T) {
credentialsProvider, err := NewCredentialsProvider(context.Background(), "")
require.Equal(t, NoCredentialsProvider, credentialsProvider)
require.NoError(t, err)
}

func TestUnknownCredentialsProvider(t *testing.T) {
unknownCredentialsProviders := []string{"some-unknown-credentials-provider", " "}
unknownCredentialsProviders := []string{"", " ", "some-unknown-credentials-provider"}
for _, unknownCredentialsProvider := range unknownCredentialsProviders {
t.Run(unknownCredentialsProvider, func(t *testing.T) {
credentialsProvider, err := NewCredentialsProvider(context.Background(), unknownCredentialsProvider)
Expand Down

0 comments on commit 8d853ce

Please sign in to comment.