Skip to content

Commit

Permalink
Merge branch 'main' into fix/allow-mouse-event-on-widget-editor
Browse files Browse the repository at this point in the history
  • Loading branch information
keiya01 committed Aug 24, 2023
2 parents 2ae9bcd + 3b88ad8 commit 393a1c7
Show file tree
Hide file tree
Showing 175 changed files with 2,205 additions and 7,054 deletions.
72 changes: 69 additions & 3 deletions server/e2e/common.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ import (
"github.com/reearth/reearth/server/internal/infrastructure/mongo"
"github.com/reearth/reearth/server/internal/usecase/gateway"
"github.com/reearth/reearth/server/internal/usecase/repo"
"github.com/reearth/reearthx/account/accountinfrastructure/accountmongo"
"github.com/reearth/reearthx/account/accountusecase/accountgateway"
"github.com/reearth/reearthx/account/accountusecase/accountrepo"
"github.com/reearth/reearthx/mailer"
"github.com/reearth/reearthx/mongox/mongotest"
"github.com/samber/lo"
"github.com/spf13/afero"
Expand All @@ -30,13 +34,13 @@ func StartServer(t *testing.T, cfg *config.Config, useMongo bool, seeder Seeder)
return e
}

func StartServerAndRepos(t *testing.T, cfg *config.Config, useMongo bool, seeder Seeder) (*httpexpect.Expect, *repo.Container) {
func initRepos(t *testing.T, useMongo bool, seeder Seeder) (repos *repo.Container) {
ctx := context.Background()

var repos *repo.Container
if useMongo {
db := mongotest.Connect(t)(t)
repos = lo.Must(mongo.New(ctx, db, false))
accountRepos := lo.Must(accountmongo.New(ctx, db.Client(), db.Name(), false, false))
repos = lo.Must(mongo.New(ctx, db, accountRepos, false))
} else {
repos = memory.New()
}
Expand All @@ -47,8 +51,14 @@ func StartServerAndRepos(t *testing.T, cfg *config.Config, useMongo bool, seeder
}
}

return repos
}

func StartServerAndRepos(t *testing.T, cfg *config.Config, useMongo bool, seeder Seeder) (*httpexpect.Expect, *repo.Container) {
repos := initRepos(t, useMongo, seeder)
return StartServerWithRepos(t, cfg, repos), repos
}

func StartServerWithRepos(t *testing.T, cfg *config.Config, repos *repo.Container) *httpexpect.Expect {
t.Helper()

Expand Down Expand Up @@ -98,3 +108,59 @@ type GraphQLRequest struct {
Query string `json:"query"`
Variables map[string]any `json:"variables"`
}

func StartGQLServer(t *testing.T, cfg *config.Config, useMongo bool, seeder Seeder) (*httpexpect.Expect, *accountrepo.Container) {
e, r := StartGQLServerAndRepos(t, cfg, useMongo, seeder)
return e, r
}

func StartGQLServerAndRepos(t *testing.T, cfg *config.Config, useMongo bool, seeder Seeder) (*httpexpect.Expect, *accountrepo.Container) {
repos := initRepos(t, useMongo, seeder)
acRepos := repos.AccountRepos()
return StartGQLServerWithRepos(t, cfg, repos, acRepos), acRepos
}

func StartGQLServerWithRepos(t *testing.T, cfg *config.Config, repos *repo.Container, accountrepos *accountrepo.Container) *httpexpect.Expect {
t.Helper()

if testing.Short() {
t.SkipNow()
}

ctx := context.Background()
l, err := net.Listen("tcp", ":0")
if err != nil {
t.Fatalf("server failed to listen: %v", err)
}

srv := app.NewServer(ctx, &app.ServerConfig{
Config: cfg,
Repos: repos,
AccountRepos: accountrepos,
Gateways: &gateway.Container{
File: lo.Must(fs.NewFile(afero.NewMemMapFs(), "https://example.com")),
},
AccountGateways: &accountgateway.Container{
Mailer: mailer.New(ctx, &mailer.Config{}),
},
Debug: true,
})

ch := make(chan error)
go func() {
if err := srv.Serve(l); err != http.ErrServerClosed {
ch <- err
}
close(ch)
}()
t.Cleanup(func() {
if err := srv.Shutdown(context.Background()); err != nil {
t.Fatalf("server shutdown: %v", err)
}

if err := <-ch; err != nil {
t.Fatalf("server serve: %v", err)
}
})
return httpexpect.New(t, "http://"+l.Addr().String())
}
1 change: 1 addition & 0 deletions server/e2e/gql_project_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ func TestCreateProject(t *testing.T) {

e.POST("/api/graphql").
WithHeader("Origin", "https://example.com").
WithHeader("authorization", "Bearer test").
// WithHeader("authorization", "Bearer test").
WithHeader("X-Reearth-Debug-User", uID.String()).
WithHeader("Content-Type", "application/json").
Expand Down
Loading

0 comments on commit 393a1c7

Please sign in to comment.