From 8f61787c538d37166dd8010c751ae97870e95ca1 Mon Sep 17 00:00:00 2001 From: Denis Arh Date: Mon, 13 May 2019 08:57:34 +0200 Subject: [PATCH] Remove all system deps from compose --- compose/internal/service/attachment.go | 5 ---- compose/internal/service/chart_test.go | 9 +------ compose/internal/service/main_test.go | 10 +------- compose/internal/service/module_test.go | 9 +------ compose/internal/service/namespace_test.go | 9 +------ compose/internal/service/notification.go | 30 ---------------------- compose/internal/service/page_test.go | 11 ++------ compose/internal/service/record.go | 13 +++------- compose/internal/service/record_test.go | 15 +---------- compose/internal/service/trigger_test.go | 9 +------ system/service/init.go | 2 -- system/service/role.go | 27 ------------------- 12 files changed, 12 insertions(+), 137 deletions(-) delete mode 100644 system/service/role.go diff --git a/compose/internal/service/attachment.go b/compose/internal/service/attachment.go index 539b2d0c0..dc764a250 100644 --- a/compose/internal/service/attachment.go +++ b/compose/internal/service/attachment.go @@ -22,8 +22,6 @@ import ( "github.com/crusttech/crust/internal/auth" "github.com/crusttech/crust/internal/logger" "github.com/crusttech/crust/internal/store" - - systemService "github.com/crusttech/crust/system/service" ) const ( @@ -44,7 +42,6 @@ type ( pageSvc PageService moduleSvc ModuleService recordSvc RecordService - usr systemService.UserService attachment repository.AttachmentRepository } @@ -75,7 +72,6 @@ func Attachment(store store.Store) AttachmentService { pageSvc: DefaultPage, moduleSvc: DefaultModule, recordSvc: DefaultRecord, - usr: systemService.DefaultUser, }).With(context.Background()) } @@ -90,7 +86,6 @@ func (svc attachment) With(ctx context.Context) AttachmentService { pageSvc: svc.pageSvc.With(ctx), moduleSvc: svc.moduleSvc.With(ctx), recordSvc: svc.recordSvc.With(ctx), - usr: systemService.User(ctx), store: svc.store, attachment: repository.Attachment(ctx, db), diff --git a/compose/internal/service/chart_test.go b/compose/internal/service/chart_test.go index ddd93eee4..d15b0e66e 100644 --- a/compose/internal/service/chart_test.go +++ b/compose/internal/service/chart_test.go @@ -11,20 +11,13 @@ import ( "github.com/crusttech/crust/compose/types" "github.com/crusttech/crust/internal/auth" "github.com/crusttech/crust/internal/test" - systemTypes "github.com/crusttech/crust/system/types" ) func TestChart(t *testing.T) { ctx := context.WithValue(context.Background(), "testing", true) - user := &systemTypes.User{ - ID: 1337, - Name: "John Crm Doe", - Username: "johndoe", - } - // Set Identity (required for permission checks). - ctx = auth.SetIdentityToContext(ctx, user) + ctx = auth.SetIdentityToContext(ctx, auth.NewIdentity(1337)) ns1, _ := createTestNamespaces(ctx, t) diff --git a/compose/internal/service/main_test.go b/compose/internal/service/main_test.go index fc8352ea2..569d3aa27 100644 --- a/compose/internal/service/main_test.go +++ b/compose/internal/service/main_test.go @@ -16,8 +16,6 @@ import ( "github.com/crusttech/crust/compose/types" "github.com/crusttech/crust/internal/logger" "github.com/crusttech/crust/internal/test" - systemMigrate "github.com/crusttech/crust/system/db" - systemService "github.com/crusttech/crust/system/service" ) type ( @@ -35,16 +33,11 @@ func TestMain(m *testing.M) { factory.Database.Add("default", dsn) factory.Database.Add("compose", dsn) - factory.Database.Add("system", dsn) db := factory.Database.MustGet() db.Profiler = &factory.Database.ProfilerStdout // migrate database schema - if err := systemMigrate.Migrate(db); err != nil { - fmt.Printf("Error running migrations: %+v\n", err) - return - } if err := composeMigrate.Migrate(db); err != nil { fmt.Printf("Error running migrations: %+v\n", err) return @@ -52,7 +45,7 @@ func TestMain(m *testing.M) { // clean up tables { - for _, name := range []string{"compose_chart", "compose_trigger", "compose_module", "compose_module_form", "compose_record", "compose_record_value", "compose_page", "sys_user"} { + for _, name := range []string{"compose_chart", "compose_trigger", "compose_module", "compose_module_form", "compose_record", "compose_record_value", "compose_page"} { _, err := db.Exec("truncate " + name) if err != nil { panic("Error when clearing " + name + ": " + err.Error()) @@ -62,7 +55,6 @@ func TestMain(m *testing.M) { ctx := context.Background() - systemService.Init(ctx) Init(ctx) os.Exit(m.Run()) diff --git a/compose/internal/service/module_test.go b/compose/internal/service/module_test.go index d8fd5eaf3..e4836b0ce 100644 --- a/compose/internal/service/module_test.go +++ b/compose/internal/service/module_test.go @@ -9,20 +9,13 @@ import ( "github.com/crusttech/crust/compose/types" "github.com/crusttech/crust/internal/auth" "github.com/crusttech/crust/internal/test" - systemTypes "github.com/crusttech/crust/system/types" ) func TestModule(t *testing.T) { ctx := context.WithValue(context.Background(), "testing", true) - user := &systemTypes.User{ - ID: 1337, - Name: "John Crm Doe", - Username: "johndoe", - } - // Set Identity (required for permission checks). - ctx = auth.SetIdentityToContext(ctx, user) + ctx = auth.SetIdentityToContext(ctx, auth.NewIdentity(1337)) ns1, _ := createTestNamespaces(ctx, t) diff --git a/compose/internal/service/namespace_test.go b/compose/internal/service/namespace_test.go index ab5075747..cd2ec25f3 100644 --- a/compose/internal/service/namespace_test.go +++ b/compose/internal/service/namespace_test.go @@ -9,20 +9,13 @@ import ( "github.com/crusttech/crust/compose/types" "github.com/crusttech/crust/internal/auth" "github.com/crusttech/crust/internal/test" - systemTypes "github.com/crusttech/crust/system/types" ) func TestNamespace(t *testing.T) { ctx := context.WithValue(context.Background(), "testing", true) - user := &systemTypes.User{ - ID: 1337, - Name: "John Crm Doe", - Username: "johndoe", - } - // Set Identity (required for permission checks). - ctx = auth.SetIdentityToContext(ctx, user) + ctx = auth.SetIdentityToContext(ctx, auth.NewIdentity(1337)) svc := Namespace().With(ctx) diff --git a/compose/internal/service/notification.go b/compose/internal/service/notification.go index 313279af2..84ef6589a 100644 --- a/compose/internal/service/notification.go +++ b/compose/internal/service/notification.go @@ -2,7 +2,6 @@ package service import ( "context" - "strconv" "strings" "github.com/pkg/errors" @@ -12,15 +11,12 @@ import ( "github.com/crusttech/crust/internal/logger" "github.com/crusttech/crust/internal/mail" - systemService "github.com/crusttech/crust/system/service" ) type ( notification struct { ctx context.Context logger *zap.Logger - - userSvc systemService.UserService } NotificationService interface { @@ -34,8 +30,6 @@ type ( func Notification() NotificationService { return (¬ification{ logger: DefaultLogger.Named("notification"), - - userSvc: systemService.DefaultUser, }).With(context.Background()) } @@ -43,8 +37,6 @@ func (svc notification) With(ctx context.Context) NotificationService { return ¬ification{ ctx: ctx, logger: svc.logger, - - userSvc: systemService.User(ctx), } } @@ -74,10 +66,6 @@ func (svc notification) AttachEmailRecipients(message *gomail.Message, field str return } - if recipients, err = svc.expandUserRefs(recipients); err != nil { - return - } - for r, rcpt := range recipients { name, email = "", "" rcpt = strings.TrimSpace(rcpt) @@ -100,21 +88,3 @@ func (svc notification) AttachEmailRecipients(message *gomail.Message, field str message.SetHeader(field, recipients...) return } - -// Expands references to users (strings as numeric uint64) -// -// This func is extracted to make testing/mocking mocking -func (svc notification) expandUserRefs(recipients []string) ([]string, error) { - for r, rcpt := range recipients { - // First, get userID off the table - if userID, _ := strconv.ParseUint(rcpt, 10, 64); userID > 0 { - if user, err := svc.userSvc.FindByID(userID); err != nil { - return nil, errors.Wrapf(err, "invalid recipient %d", userID) - } else { - recipients[r] = user.Email + " " + user.Name - } - } - } - - return recipients, nil -} diff --git a/compose/internal/service/page_test.go b/compose/internal/service/page_test.go index d3f2b66d8..0c0a76e10 100644 --- a/compose/internal/service/page_test.go +++ b/compose/internal/service/page_test.go @@ -12,20 +12,13 @@ import ( "github.com/crusttech/crust/compose/types" "github.com/crusttech/crust/internal/auth" "github.com/crusttech/crust/internal/test" - systemTypes "github.com/crusttech/crust/system/types" ) func TestPage(t *testing.T) { ctx := context.WithValue(context.Background(), "testing", true) - user := &systemTypes.User{ - ID: 1337, - Name: "John Crm Doe", - Username: "johndoe", - } - - // Set Identity (required for permission checks). - ctx = auth.SetIdentityToContext(ctx, user) + // Set fake Identity (required for permission checks). + ctx = auth.SetIdentityToContext(ctx, auth.NewIdentity(1337)) ns1, _ := createTestNamespaces(ctx, t) diff --git a/compose/internal/service/record.go b/compose/internal/service/record.go index 41e91cae3..8635c9e5c 100644 --- a/compose/internal/service/record.go +++ b/compose/internal/service/record.go @@ -14,8 +14,6 @@ import ( "github.com/crusttech/crust/compose/types" "github.com/crusttech/crust/internal/auth" "github.com/crusttech/crust/internal/logger" - - systemService "github.com/crusttech/crust/system/service" ) type ( @@ -24,8 +22,7 @@ type ( ctx context.Context logger *zap.Logger - ac recordAccessController - userSvc systemService.UserService + ac recordAccessController recordRepo repository.RecordRepository moduleRepo repository.ModuleRepository @@ -58,9 +55,8 @@ type ( func Record() RecordService { return (&record{ - logger: DefaultLogger.Named("record"), - ac: DefaultAccessControl, - userSvc: systemService.DefaultUser, + logger: DefaultLogger.Named("record"), + ac: DefaultAccessControl, }).With(context.Background()) } @@ -71,8 +67,7 @@ func (svc record) With(ctx context.Context) RecordService { ctx: ctx, logger: svc.logger, - ac: svc.ac, - userSvc: systemService.User(ctx), + ac: svc.ac, recordRepo: repository.Record(ctx, db), moduleRepo: repository.Module(ctx, db), diff --git a/compose/internal/service/record_test.go b/compose/internal/service/record_test.go index 090539900..a4c10f079 100644 --- a/compose/internal/service/record_test.go +++ b/compose/internal/service/record_test.go @@ -9,29 +9,16 @@ import ( "github.com/crusttech/crust/compose/types" "github.com/crusttech/crust/internal/auth" "github.com/crusttech/crust/internal/test" - systemService "github.com/crusttech/crust/system/service" - systemTypes "github.com/crusttech/crust/system/types" ) func TestRecord(t *testing.T) { ctx := context.WithValue(context.Background(), "testing", true) - user := &systemTypes.User{ - ID: 1337, - Username: "TestUser", - } - - ctx = auth.SetIdentityToContext(ctx, auth.NewIdentity(user.Identity())) + ctx = auth.SetIdentityToContext(ctx, auth.NewIdentity(1337)) var err error ns1, ns2 := createTestNamespaces(ctx, t) - { - userSvc := systemService.TestUser(t, ctx) - _, err := userSvc.Create(user) - test.NoError(t, err, "expected no error creating user, got %v", err) - } - svc := Record().With(ctx) module1 := &types.Module{ diff --git a/compose/internal/service/trigger_test.go b/compose/internal/service/trigger_test.go index 267a62aa0..89297bf87 100644 --- a/compose/internal/service/trigger_test.go +++ b/compose/internal/service/trigger_test.go @@ -11,20 +11,13 @@ import ( "github.com/crusttech/crust/compose/types" "github.com/crusttech/crust/internal/auth" "github.com/crusttech/crust/internal/test" - systemTypes "github.com/crusttech/crust/system/types" ) func TestTrigger(t *testing.T) { ctx := context.WithValue(context.Background(), "testing", true) - user := &systemTypes.User{ - ID: 1337, - Name: "John Crm Doe", - Username: "johndoe", - } - // Set Identity (required for permission checks). - ctx = auth.SetIdentityToContext(ctx, user) + ctx = auth.SetIdentityToContext(ctx, auth.NewIdentity(1337)) ns1, _ := createTestNamespaces(ctx, t) diff --git a/system/service/init.go b/system/service/init.go index 93666d88d..35be2deab 100644 --- a/system/service/init.go +++ b/system/service/init.go @@ -8,8 +8,6 @@ import ( func Init(ctx context.Context) error { err := service.Init(ctx) - DefaultRole = service.DefaultRole - // DefaultRules = service.DefaultRules DefaultUser = service.DefaultUser return err } diff --git a/system/service/role.go b/system/service/role.go deleted file mode 100644 index da88f45dd..000000000 --- a/system/service/role.go +++ /dev/null @@ -1,27 +0,0 @@ -package service - -import ( - "context" - "testing" - - "github.com/crusttech/crust/system/internal/service" - "github.com/crusttech/crust/system/types" -) - -type ( - RoleService interface { - FindByID(roleID uint64) (*types.Role, error) - Find(filter *types.RoleFilter) ([]*types.Role, error) - } -) - -var DefaultRole = service.DefaultRole - -func Role(ctx context.Context) RoleService { - return DefaultRole.With(ctx) -} - -// Expose the full Role API for testing -func TestRole(_ *testing.T, ctx context.Context) service.RoleService { - return DefaultRole.With(ctx) -}