refactor: refresh servers cmd - send url instead of just host in payload
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing

This commit is contained in:
Dawid Wysokiński 2023-02-26 10:20:32 +01:00
parent 42f95d6dd1
commit cde9990810
Signed by: Kichiyaki
GPG Key ID: B5445E357FB8B892
8 changed files with 18 additions and 14 deletions

View File

@ -90,7 +90,7 @@ type ListServersParams struct {
}
type RefreshServersCmdPayload struct {
Host string
URL string
VersionCode string
}

View File

@ -9,6 +9,10 @@ type Version struct {
Timezone string
}
func (v Version) URL() string {
return "https://" + v.Host
}
type VersionNotFoundError struct {
VerCode string
}

View File

@ -13,7 +13,7 @@ import (
//counterfeiter:generate -o internal/mock/server_service.gen.go . ServerService
type ServerService interface {
Refresh(ctx context.Context, host, versionCode string) ([]domain.Server, error)
Refresh(ctx context.Context, url, versionCode string) ([]domain.Server, error)
UpdateInfoAndConfig(ctx context.Context, key, url string) error
UpdateNumPlayers(ctx context.Context, key string, numPlayers int64) error
UpdateNumTribes(ctx context.Context, key string, numTribes int64) error
@ -116,7 +116,7 @@ func (s *ServerConsumer) refresh(msg *message.Message) ([]*message.Message, erro
return nil, nil
}
servers, err := s.svc.Refresh(msg.Context(), payload.Host, payload.VersionCode)
servers, err := s.svc.Refresh(msg.Context(), payload.URL, payload.VersionCode)
if err != nil {
return nil, fmt.Errorf("ServerService.Refresh: %w", err)
}

View File

@ -2,11 +2,11 @@ package msg_test
import (
"context"
"reflect"
"testing"
"time"
"github.com/ThreeDotsLabs/watermill"
"github.com/google/go-cmp/cmp"
"gitea.dwysokinski.me/twhelp/core/internal/msg/internal/model"
@ -59,7 +59,7 @@ func TestServerConsumer_refresh(t *testing.T) {
t,
msg.NewServerPublisher(pubSub, marshaler).
CmdRefresh(context.Background(), domain.RefreshServersCmdPayload{
Host: "plemiona.pl",
URL: "plemiona.pl",
VersionCode: "pl",
}),
)
@ -78,7 +78,7 @@ func TestServerConsumer_refresh(t *testing.T) {
Open: srv.Open,
VersionCode: srv.VersionCode,
}
if reflect.DeepEqual(expected, received) {
if cmp.Equal(expected, received) {
found = true
break
}

View File

@ -1,7 +1,7 @@
package model
type RefreshServersCmdPayload struct {
Host string
URL string
VersionCode string
}

View File

@ -26,11 +26,11 @@ func TestServerPublisher_CmdRefresh(t *testing.T) {
payloads := []domain.RefreshServersCmdPayload{
{
Host: "host1.com",
URL: "https://host1.com",
VersionCode: "vc1",
},
{
Host: "host2.com",
URL: "https://host2.com",
VersionCode: "vc2",
},
}
@ -48,7 +48,7 @@ func TestServerPublisher_CmdRefresh(t *testing.T) {
found := false
for _, payload := range payloads {
if payload.VersionCode == received.VersionCode && payload.Host == received.Host {
if payload.VersionCode == received.VersionCode && payload.URL == received.URL {
found = true
break
}

View File

@ -69,7 +69,7 @@ func (j *Job) UpdateData(ctx context.Context) error {
payloads := make([]domain.RefreshServersCmdPayload, 0, len(versions))
for _, v := range versions {
payloads = append(payloads, domain.RefreshServersCmdPayload{
Host: v.Host,
URL: v.URL(),
VersionCode: v.Code,
})
}

View File

@ -23,7 +23,7 @@ type ServerRepository interface {
//counterfeiter:generate -o internal/mock/open_server_config_info_getter.gen.go . OpenServerConfigInfoGetter
type OpenServerConfigInfoGetter interface {
GetOpenServers(ctx context.Context, host string) ([]tw.Server, error)
GetOpenServers(ctx context.Context, baseURL string) ([]tw.Server, error)
GetServerConfig(ctx context.Context, baseURL string) (tw.ServerConfig, error)
GetBuildingInfo(ctx context.Context, baseURL string) (tw.BuildingInfo, error)
GetUnitInfo(ctx context.Context, baseURL string) (tw.UnitInfo, error)
@ -38,8 +38,8 @@ func NewServer(repo ServerRepository, client OpenServerConfigInfoGetter) *Server
return &Server{repo: repo, client: client}
}
func (s *Server) Refresh(ctx context.Context, host, versionCode string) ([]domain.Server, error) {
openServers, err := s.client.GetOpenServers(ctx, "https://"+host)
func (s *Server) Refresh(ctx context.Context, url, versionCode string) ([]domain.Server, error) {
openServers, err := s.client.GetOpenServers(ctx, url)
if err != nil {
return nil, fmt.Errorf("TWClient.GetOpenServers: %w", err)
}