Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 15 additions & 14 deletions service/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -281,9 +281,24 @@ func (svc *Service) Run(ctx context.Context, buildTime, gitCommit, version strin
models.Filterable: downloadGeneratorCMD,
}

var authorisation auth.Middleware
var permissionChecker *permissions.Checker
// Get Identity Client (only if private endpoints are enabled)
if svc.config.EnablePrivateEndpoints {
svc.identityClient = clientsidentity.New(svc.config.ZebedeeURL)
// Get Permissions
authorisation, err = svc.serviceList.GetAuthorisationMiddleware(ctx, svc.config.AuthConfig)
if err != nil {
log.Fatal(ctx, "could not instantiate authorisation middleware", err)
return err
}

permissionChecker = permissions.NewChecker(
ctx,
svc.config.AuthConfig.PermissionsAPIURL,
svc.config.AuthConfig.PermissionsCacheUpdateInterval,
svc.config.AuthConfig.PermissionsMaxCacheTime,
)
}

// Get HealthCheck
Expand Down Expand Up @@ -319,20 +334,6 @@ func (svc *Service) Run(ctx context.Context, buildTime, gitCommit, version strin
log.Info(ctx, "URL rewriting enabled")
}

// Get Permissions
authorisation, err := svc.serviceList.Init.DoGetAuthorisationMiddleware(ctx, svc.config.AuthConfig)
if err != nil {
log.Fatal(ctx, "could not instantiate authorisation middleware", err)
return err
}

permissionChecker := permissions.NewChecker(
ctx,
svc.config.AuthConfig.PermissionsAPIURL,
svc.config.AuthConfig.PermissionsCacheUpdateInterval,
svc.config.AuthConfig.PermissionsMaxCacheTime,
)

// Log kafka producer errors in parallel go-routine
if svc.config.EnablePrivateEndpoints {
svc.generateCMDDownloadsProducer.LogErrors(ctx)
Expand Down
21 changes: 11 additions & 10 deletions service/service_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -221,11 +221,12 @@ func TestRun(t *testing.T) {

Convey("Given that initialising Healthcheck returns an error", func() {
initMock := &serviceMock.InitialiserMock{
DoGetMongoDBFunc: funcDoGetMongoDBOk,
DoGetGraphDBFunc: funcDoGetGraphDBOk,
DoGetFilesAPIClientFunc: funcDoGetFilesAPIClientOk,
DoGetKafkaProducerFunc: funcDoGetKafkaProducerOk,
DoGetHealthCheckFunc: funcDoGetHealthcheckErr,
DoGetMongoDBFunc: funcDoGetMongoDBOk,
DoGetGraphDBFunc: funcDoGetGraphDBOk,
DoGetFilesAPIClientFunc: funcDoGetFilesAPIClientOk,
DoGetKafkaProducerFunc: funcDoGetKafkaProducerOk,
DoGetHealthCheckFunc: funcDoGetHealthcheckErr,
DoGetAuthorisationMiddlewareFunc: funcDoGetAuthOk,
}
svcErrors := make(chan error, 1)
svcList := service.NewServiceList(initMock)
Expand Down Expand Up @@ -257,6 +258,7 @@ func TestRun(t *testing.T) {
DoGetHealthCheckFunc: func(*config.Configuration, string, string, string) (service.HealthChecker, error) {
return hcMockAddFail, nil
},
DoGetAuthorisationMiddlewareFunc: funcDoGetAuthOk,
}
svcErrors := make(chan error, 1)
svcList := service.NewServiceList(initMock)
Expand Down Expand Up @@ -326,11 +328,10 @@ func TestRun(t *testing.T) {
Convey("Given that all dependencies are successfully initialised, private endpoints are disabled", func() {
cfg.EnablePrivateEndpoints = false
initMock := &serviceMock.InitialiserMock{
DoGetMongoDBFunc: funcDoGetMongoDBOk,
DoGetKafkaProducerFunc: funcDoGetKafkaProducerOk,
DoGetHealthCheckFunc: funcDoGetHealthcheckOk,
DoGetHTTPServerFunc: funcDoGetHTTPServer,
DoGetAuthorisationMiddlewareFunc: funcDoGetAuthOk,
DoGetMongoDBFunc: funcDoGetMongoDBOk,
DoGetKafkaProducerFunc: funcDoGetKafkaProducerOk,
DoGetHealthCheckFunc: funcDoGetHealthcheckOk,
DoGetHTTPServerFunc: funcDoGetHTTPServer,
}
svcErrors := make(chan error, 1)
svcList := service.NewServiceList(initMock)
Expand Down