Skip to content

Commit 7254d83

Browse files
authored
feat(server): add visualizer internal api [VIZ-1517, VIZ-1604] (#1574)
1 parent 94640f7 commit 7254d83

File tree

27 files changed

+3284
-61
lines changed

27 files changed

+3284
-61
lines changed

server/.env.example

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ REEARTH_COGNITO_CLIENTID=
2828
# Local Mock Auth
2929
REEARTH_MOCKAUTH=
3030

31+
# Internal API
32+
REEARTH_VISUALIZER_INTERNALAPI_ACTIVE=false
33+
3134
# Auth client
3235
#REEARTH_AUTH_ISS=https://hoge.com
3336
#REEARTH_AUTH_AUD=https://api.reearth.example.com

server/Makefile

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,17 @@ deep-copy:
114114
error-msg:
115115
go generate ./pkg/i18n/...
116116

117+
grpc:
118+
protoc --go_out=./internal/adapter/internalapi/ --go_opt=paths=source_relative \
119+
--go-grpc_out=./internal/adapter/internalapi/ --go-grpc_opt=paths=source_relative \
120+
./schemas/internalapi/v1/schema.proto
121+
122+
grpc-doc:
123+
protoc -I . \
124+
--doc_out=schemas/internalapi/docs \
125+
--doc_opt=markdown,schema.md \
126+
schemas/internalapi/v1/schema.proto
127+
117128
# =======================
118129
# Tools
119130
# =======================

server/e2e/common.go

Lines changed: 46 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,26 @@ import (
3333
)
3434

3535
var (
36-
fr *gateway.File
36+
fr *gateway.File
37+
3738
disabledAuthConfig = &config.Config{
3839
Origins: []string{"https://example.com"},
3940
AuthSrv: config.AuthSrvConfig{
4041
Disabled: true,
4142
},
4243
}
44+
45+
internalApiConfig = &config.Config{
46+
Origins: []string{"https://example.com"},
47+
AuthSrv: config.AuthSrvConfig{
48+
Disabled: true,
49+
},
50+
Visualizer: config.VisualizerConfig{
51+
InternalApi: config.InternalApiConfig{
52+
Active: true,
53+
},
54+
},
55+
}
4356
)
4457

4558
type Seeder func(ctx context.Context, r *repo.Container, f gateway.File) error
@@ -109,20 +122,38 @@ func StartGQLServerWithRepos(t *testing.T, cfg *config.Config, repos *repo.Conta
109122
}
110123

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

117126
srv, gateways, accountGateway := initServerWithAccountGateway(cfg, repos, ctx)
118127

119128
ch := make(chan error)
120-
go func() {
121-
if err := srv.Serve(l); err != http.ErrServerClosed {
122-
ch <- err
129+
130+
var l net.Listener
131+
var err error
132+
133+
if cfg.Visualizer.InternalApi.Active {
134+
l, err = net.Listen("tcp", ":8080")
135+
if err != nil {
136+
t.Fatalf("server failed to listen: %v", err)
123137
}
124-
close(ch)
125-
}()
138+
go func() {
139+
if err := srv.ServeGRPC(l); err != http.ErrServerClosed {
140+
ch <- err
141+
}
142+
close(ch)
143+
}()
144+
} else {
145+
l, err = net.Listen("tcp", ":0")
146+
if err != nil {
147+
t.Fatalf("server failed to listen: %v", err)
148+
}
149+
go func() {
150+
if err := srv.Serve(l); err != http.ErrServerClosed {
151+
ch <- err
152+
}
153+
close(ch)
154+
}()
155+
}
156+
126157
t.Cleanup(func() {
127158
if err := srv.Shutdown(context.Background()); err != nil {
128159
t.Fatalf("server shutdown: %v", err)
@@ -132,6 +163,7 @@ func StartGQLServerWithRepos(t *testing.T, cfg *config.Config, repos *repo.Conta
132163
t.Fatalf("server serve: %v", err)
133164
}
134165
})
166+
135167
return httpexpect.Default(t, "http://"+l.Addr().String()), gateways, accountGateway
136168
}
137169

@@ -151,6 +183,10 @@ func ServerAndRepos(t *testing.T, seeder Seeder) (*httpexpect.Expect, *repo.Cont
151183
return startServer(t, disabledAuthConfig, true, seeder)
152184
}
153185

186+
func GRPCServer(t *testing.T, seeder Seeder) (*httpexpect.Expect, *repo.Container, *gateway.Container) {
187+
return startServer(t, internalApiConfig, true, seeder)
188+
}
189+
154190
func Server(t *testing.T, seeder Seeder) *httpexpect.Expect {
155191
e, _, _ := startServer(t, disabledAuthConfig, true, seeder)
156192
return e

0 commit comments

Comments
 (0)