diff --git a/pkg/app/app.go b/pkg/app/app.go index 1c7c844a..770e050c 100644 --- a/pkg/app/app.go +++ b/pkg/app/app.go @@ -73,7 +73,7 @@ func defaultFuncOrganization(engine workflow.Engine, config configuration.Config logger.Print("Failed to determine default value for \"ORGANIZATION\":", err) } - return orgId, nil + return orgId, err } return callback } diff --git a/pkg/app/app_test.go b/pkg/app/app_test.go index 2853ca6a..d4b7a3f3 100644 --- a/pkg/app/app_test.go +++ b/pkg/app/app_test.go @@ -176,6 +176,31 @@ func Test_initConfiguration_useDefaultOrg(t *testing.T) { assert.Equal(t, defaultOrgSlug, actualOrgSlug) } +func Test_initConfiguration_failDefaultOrgLookup(t *testing.T) { + // setup mock + ctrl := gomock.NewController(t) + mockApiClient := mocks.NewMockApiClient(ctrl) + + // mock assertion + mockApiClient.EXPECT().Init(gomock.Any(), gomock.Any()).AnyTimes() + mockApiClient.EXPECT().GetDefaultOrgId().Return("", errors.New("error")).AnyTimes() + + config := configuration.NewInMemory() + engine := workflow.NewWorkFlowEngine(config) + apiClientFactory := func(url string, client *http.Client) api.ApiClient { + return mockApiClient + } + initConfiguration(engine, config, &zlog.Logger, apiClientFactory) + + actualOrgId, orgIdError := config.GetStringWithError(configuration.ORGANIZATION) + assert.Error(t, orgIdError) + assert.Empty(t, actualOrgId) + + actualOrgSlug, slugError := config.GetStringWithError(configuration.ORGANIZATION_SLUG) + assert.Error(t, slugError) + assert.Empty(t, actualOrgSlug) +} + func Test_initConfiguration_useDefaultOrgAsFallback(t *testing.T) { orgName := "someOrgName" defaultOrgId := "someDefaultOrgId"