Skip to content

Commit

Permalink
Refactor and simplify config structs and builder instantiation
Browse files Browse the repository at this point in the history
  • Loading branch information
rsafonseca committed Feb 6, 2024
1 parent cc949c4 commit 9c7a43e
Show file tree
Hide file tree
Showing 30 changed files with 466 additions and 589 deletions.
2 changes: 1 addition & 1 deletion acceptorwrapper/rate_limiting_wrapper_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ func TestNewRateLimitingWrapper(t *testing.T) {

reporters := []metrics.Reporter{}

rateLimitingWrapper := NewRateLimitingWrapper(reporters, *config.NewDefaultRateLimitingConfig())
rateLimitingWrapper := NewRateLimitingWrapper(reporters, config.NewDefaultPitayaConfig().Conn.RateLimiting)
expected := NewRateLimiter(reporters, nil, 20, time.Second, false)
assert.Equal(t, expected, rateLimitingWrapper.wrapConn(nil))
}
62 changes: 31 additions & 31 deletions app_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ func TestMain(m *testing.M) {
func TestNewApp(t *testing.T) {
for _, table := range tables {
t.Run(table.serverType, func(t *testing.T) {
builderConfig := config.NewDefaultBuilderConfig()
builderConfig := config.NewDefaultPitayaConfig()
app := NewDefaultApp(table.isFrontend, table.serverType, table.serverMode, table.serverMetadata, *builderConfig).(*App)
assert.Equal(t, table.isFrontend, app.server.Frontend)
assert.Equal(t, table.serverType, app.server.Type)
Expand All @@ -85,7 +85,7 @@ func TestAddAcceptor(t *testing.T) {
acc := acceptor.NewTCPAcceptor("0.0.0.0:0")
for _, table := range tables {
t.Run(table.serverType, func(t *testing.T) {
builderConfig := config.NewDefaultBuilderConfig()
builderConfig := config.NewDefaultPitayaConfig()
builder := NewDefaultBuilder(table.isFrontend, table.serverType, table.serverMode, table.serverMetadata, *builderConfig)
builder.AddAcceptor(acc)
app := builder.Build().(*App)
Expand All @@ -99,7 +99,7 @@ func TestAddAcceptor(t *testing.T) {
}

func TestSetDebug(t *testing.T) {
builderConfig := config.NewDefaultBuilderConfig()
builderConfig := config.NewDefaultPitayaConfig()
app := NewDefaultApp(true, "testtype", Cluster, map[string]string{}, *builderConfig).(*App)
app.SetDebug(true)
assert.Equal(t, true, app.debug)
Expand All @@ -114,32 +114,32 @@ func TestSetLogger(t *testing.T) {
}

func TestGetDieChan(t *testing.T) {
builderConfig := config.NewDefaultBuilderConfig()
builderConfig := config.NewDefaultPitayaConfig()
app := NewDefaultApp(true, "testtype", Cluster, map[string]string{}, *builderConfig).(*App)
assert.Equal(t, app.dieChan, app.GetDieChan())
}

func TestGetSever(t *testing.T) {
builderConfig := config.NewDefaultBuilderConfig()
builderConfig := config.NewDefaultPitayaConfig()
app := NewDefaultApp(true, "testtype", Cluster, map[string]string{}, *builderConfig).(*App)
assert.Equal(t, app.server, app.GetServer())
}

func TestGetMetricsReporters(t *testing.T) {
builderConfig := config.NewDefaultBuilderConfig()
builderConfig := config.NewDefaultPitayaConfig()
app := NewDefaultApp(true, "testtype", Cluster, map[string]string{}, *builderConfig).(*App)
assert.Equal(t, app.metricsReporters, app.GetMetricsReporters())
}
func TestGetServerByID(t *testing.T) {
builderConfig := config.NewDefaultBuilderConfig()
builderConfig := config.NewDefaultPitayaConfig()
app := NewDefaultApp(true, "testtype", Cluster, map[string]string{}, *builderConfig)
s, err := app.GetServerByID("id")
assert.Nil(t, s)
assert.EqualError(t, constants.ErrNoServerWithID, err.Error())
}

func TestGetServersByType(t *testing.T) {
builderConfig := config.NewDefaultBuilderConfig()
builderConfig := config.NewDefaultPitayaConfig()
app := NewDefaultApp(true, "testtype", Cluster, map[string]string{}, *builderConfig)
s, err := app.GetServersByType("id")
assert.Nil(t, s)
Expand All @@ -148,21 +148,21 @@ func TestGetServersByType(t *testing.T) {

func TestSetHeartbeatInterval(t *testing.T) {
inter := 35 * time.Millisecond
builderConfig := config.NewDefaultBuilderConfig()
builderConfig := config.NewDefaultPitayaConfig()
app := NewDefaultApp(true, "testtype", Cluster, map[string]string{}, *builderConfig).(*App)
app.SetHeartbeatTime(inter)
assert.Equal(t, inter, app.heartbeat)
}

func TestInitSysRemotes(t *testing.T) {
builderConfig := config.NewDefaultBuilderConfig()
builderConfig := config.NewDefaultPitayaConfig()
app := NewDefaultApp(true, "testtype", Cluster, map[string]string{}, *builderConfig).(*App)
app.initSysRemotes()
assert.NotNil(t, app.remoteComp[0])
}

func TestSetDictionary(t *testing.T) {
builderConfig := config.NewDefaultBuilderConfig()
builderConfig := config.NewDefaultPitayaConfig()
app := NewDefaultApp(true, "testtype", Cluster, map[string]string{}, *builderConfig).(*App)

dict := map[string]uint16{"someroute": 12}
Expand All @@ -176,7 +176,7 @@ func TestSetDictionary(t *testing.T) {
}

func TestAddRoute(t *testing.T) {
builderConfig := config.NewDefaultBuilderConfig()
builderConfig := config.NewDefaultPitayaConfig()
app := NewDefaultApp(true, "testtype", Cluster, map[string]string{}, *builderConfig).(*App)
app.router = nil
err := app.AddRoute("somesv", func(ctx context.Context, route *route.Route, payload []byte, servers map[string]*cluster.Server) (*cluster.Server, error) {
Expand All @@ -198,7 +198,7 @@ func TestAddRoute(t *testing.T) {
}

func TestShutdown(t *testing.T) {
builderConfig := config.NewDefaultBuilderConfig()
builderConfig := config.NewDefaultPitayaConfig()
app := NewDefaultApp(true, "testtype", Cluster, map[string]string{}, *builderConfig).(*App)
go func() {
app.Shutdown()
Expand All @@ -216,7 +216,7 @@ func TestConfigureDefaultMetricsReporter(t *testing.T) {

for _, table := range tables {
t.Run(fmt.Sprintf("%t", table.enabled), func(t *testing.T) {
builderConfig := config.NewDefaultBuilderConfig()
builderConfig := config.NewDefaultPitayaConfig()
builderConfig.Metrics.Prometheus.Enabled = table.enabled
builderConfig.Metrics.Statsd.Enabled = table.enabled
app := NewDefaultApp(true, "testtype", Cluster, map[string]string{}, *builderConfig).(*App)
Expand All @@ -227,11 +227,11 @@ func TestConfigureDefaultMetricsReporter(t *testing.T) {
}

func TestDefaultSD(t *testing.T) {
builderConfig := config.NewDefaultBuilderConfig()
builderConfig := config.NewDefaultPitayaConfig()
app := NewDefaultApp(true, "testtype", Cluster, map[string]string{}, *builderConfig).(*App)
assert.NotNil(t, app.serviceDiscovery)

etcdSD, err := cluster.NewEtcdServiceDiscovery(*config.NewDefaultEtcdServiceDiscoveryConfig(), app.server, app.dieChan)
etcdSD, err := cluster.NewEtcdServiceDiscovery(config.NewDefaultPitayaConfig().Cluster.SD.Etcd, app.server, app.dieChan)
assert.NoError(t, err)
typeOfetcdSD := reflect.TypeOf(etcdSD)

Expand All @@ -241,33 +241,33 @@ func TestDefaultSD(t *testing.T) {
func TestDefaultRPCServer(t *testing.T) {
ctrl := gomock.NewController(t)

builderConfig := config.NewDefaultBuilderConfig()
builderConfig := config.NewDefaultPitayaConfig()
app := NewDefaultApp(true, "testtype", Cluster, map[string]string{}, *builderConfig).(*App)
assert.NotNil(t, app.rpcServer)

sessionPool := mocks.NewMockSessionPool(ctrl)

natsRPCServer, err := cluster.NewNatsRPCServer(*config.NewDefaultNatsRPCServerConfig(), app.server, nil, app.dieChan, sessionPool)
natsRPCServer, err := cluster.NewNatsRPCServer(config.NewDefaultPitayaConfig().Cluster.RPC.Server.Nats, app.server, nil, app.dieChan, sessionPool)
assert.NoError(t, err)
typeOfNatsRPCServer := reflect.TypeOf(natsRPCServer)

assert.Equal(t, typeOfNatsRPCServer, reflect.TypeOf(app.rpcServer))
}

func TestDefaultRPCClient(t *testing.T) {
builderConfig := config.NewDefaultBuilderConfig()
builderConfig := config.NewDefaultPitayaConfig()
app := NewDefaultApp(true, "testtype", Cluster, map[string]string{}, *builderConfig).(*App)
assert.NotNil(t, app.rpcClient)

natsRPCClient, err := cluster.NewNatsRPCClient(*config.NewDefaultNatsRPCClientConfig(), app.server, nil, app.dieChan)
natsRPCClient, err := cluster.NewNatsRPCClient(config.NewDefaultPitayaConfig().Cluster.RPC.Client.Nats, app.server, nil, app.dieChan)
assert.NoError(t, err)
typeOfNatsRPCClient := reflect.TypeOf(natsRPCClient)

assert.Equal(t, typeOfNatsRPCClient, reflect.TypeOf(app.rpcClient))
}

func TestStartAndListenStandalone(t *testing.T) {
builderConfig := config.NewDefaultBuilderConfig()
builderConfig := config.NewDefaultPitayaConfig()

acc := acceptor.NewTCPAcceptor("0.0.0.0:0")
builder := NewDefaultBuilder(true, "testtype", Standalone, map[string]string{}, *builderConfig)
Expand Down Expand Up @@ -299,24 +299,24 @@ func TestStartAndListenCluster(t *testing.T) {
ns := helpers.GetTestNatsServer(t)
nsAddr := ns.Addr().String()

builder := NewDefaultBuilder(true, "testtype", Cluster, map[string]string{}, *config.NewDefaultBuilderConfig())
builder := NewDefaultBuilder(true, "testtype", Cluster, map[string]string{}, *config.NewDefaultPitayaConfig())

var err error
natsClientConfig := *config.NewDefaultNatsRPCClientConfig()
natsClientConfig := config.NewDefaultPitayaConfig().Cluster.RPC.Client.Nats
natsClientConfig.Connect = fmt.Sprintf("nats://%s", nsAddr)
builder.RPCClient, err = cluster.NewNatsRPCClient(natsClientConfig, builder.Server, builder.MetricsReporters, builder.DieChan)
if err != nil {
panic(err.Error())
}

natsServerConfig := *config.NewDefaultNatsRPCServerConfig()
natsServerConfig := config.NewDefaultPitayaConfig().Cluster.RPC.Server.Nats
natsServerConfig.Connect = fmt.Sprintf("nats://%s", nsAddr)
builder.RPCServer, err = cluster.NewNatsRPCServer(natsServerConfig, builder.Server, builder.MetricsReporters, builder.DieChan, builder.SessionPool)
if err != nil {
panic(err.Error())
}

etcdSD, err := cluster.NewEtcdServiceDiscovery(*config.NewDefaultEtcdServiceDiscoveryConfig(), builder.Server, builder.DieChan, cli)
etcdSD, err := cluster.NewEtcdServiceDiscovery(config.NewDefaultPitayaConfig().Cluster.SD.Etcd, builder.Server, builder.DieChan, cli)
builder.ServiceDiscovery = etcdSD
assert.NoError(t, err)
acc := acceptor.NewTCPAcceptor("0.0.0.0:0")
Expand Down Expand Up @@ -375,7 +375,7 @@ func TestGetSessionFromCtx(t *testing.T) {
ctrl := gomock.NewController(t)
ss := mocks.NewMockSession(ctrl)

app := NewDefaultApp(true, "testtype", Cluster, map[string]string{}, *config.NewDefaultBuilderConfig())
app := NewDefaultApp(true, "testtype", Cluster, map[string]string{}, *config.NewDefaultPitayaConfig())
ctx := context.WithValue(context.Background(), constants.SessionCtxKey, ss)
s := app.GetSessionFromCtx(ctx)
assert.Equal(t, ss, s)
Expand Down Expand Up @@ -424,7 +424,7 @@ func TestDescriptor(t *testing.T) {
}

func TestDocumentation(t *testing.T) {
builderConfig := config.NewDefaultBuilderConfig()
builderConfig := config.NewDefaultPitayaConfig()
app := NewDefaultApp(true, "testtype", Cluster, map[string]string{}, *builderConfig).(*App)
app.startupComponents()
doc, err := app.Documentation(false)
Expand Down Expand Up @@ -484,7 +484,7 @@ func TestDocumentation(t *testing.T) {
}

func TestDocumentationTrue(t *testing.T) {
builderConfig := config.NewDefaultBuilderConfig()
builderConfig := config.NewDefaultPitayaConfig()
app := NewDefaultApp(true, "testtype", Cluster, map[string]string{}, *builderConfig).(*App)
app.startupComponents()
doc, err := app.Documentation(true)
Expand Down Expand Up @@ -580,7 +580,7 @@ func TestAddGRPCInfoToMetadata(t *testing.T) {
}

func TestStartWorker(t *testing.T) {
builderConfig := config.NewDefaultBuilderConfig()
builderConfig := config.NewDefaultPitayaConfig()
app := NewDefaultApp(true, "testtype", Cluster, map[string]string{}, *builderConfig).(*App)

app.StartWorker()
Expand All @@ -589,7 +589,7 @@ func TestStartWorker(t *testing.T) {

func TestRegisterRPCJob(t *testing.T) {
t.Run("register_once", func(t *testing.T) {
builderConfig := config.NewDefaultBuilderConfig()
builderConfig := config.NewDefaultPitayaConfig()
app := NewDefaultApp(true, "testtype", Cluster, map[string]string{}, *builderConfig)
app.StartWorker()

Expand All @@ -598,7 +598,7 @@ func TestRegisterRPCJob(t *testing.T) {
})

t.Run("register_twice", func(t *testing.T) {
builderConfig := config.NewDefaultBuilderConfig()
builderConfig := config.NewDefaultPitayaConfig()
app := NewDefaultApp(true, "testtype", Cluster, map[string]string{}, *builderConfig)
app.StartWorker()

Expand Down
Loading

0 comments on commit 9c7a43e

Please sign in to comment.