feat: game lobby service

This commit is contained in:
Ilia Denisov
2026-04-25 23:20:55 +02:00
committed by GitHub
parent 32dc29359a
commit 48b0056b49
336 changed files with 57074 additions and 1418 deletions
+72
View File
@@ -0,0 +1,72 @@
package app
import (
"context"
"testing"
"time"
"galaxy/lobby/internal/config"
"github.com/alicebob/miniredis/v2"
"github.com/stretchr/testify/require"
)
func TestPingRedisSucceedsAgainstMiniredis(t *testing.T) {
t.Parallel()
server := miniredis.RunT(t)
redisCfg := config.RedisConfig{
Addr: server.Addr(),
OperationTimeout: time.Second,
}
client := newRedisClient(redisCfg)
t.Cleanup(func() { _ = client.Close() })
require.NoError(t, pingRedis(context.Background(), redisCfg, client))
}
func TestPingRedisReturnsErrorWhenClosed(t *testing.T) {
t.Parallel()
server := miniredis.RunT(t)
redisCfg := config.RedisConfig{
Addr: server.Addr(),
OperationTimeout: time.Second,
}
client := newRedisClient(redisCfg)
require.NoError(t, client.Close())
err := pingRedis(context.Background(), redisCfg, client)
require.Error(t, err)
}
func TestPingRedisNilClient(t *testing.T) {
t.Parallel()
err := pingRedis(context.Background(), config.RedisConfig{OperationTimeout: time.Second}, nil)
require.Error(t, err)
require.Contains(t, err.Error(), "nil client")
}
func TestInstrumentRedisClientNilClient(t *testing.T) {
t.Parallel()
err := instrumentRedisClient(nil, nil)
require.Error(t, err)
require.Contains(t, err.Error(), "nil client")
}
func TestInstrumentRedisClientNilTelemetryIsNoop(t *testing.T) {
t.Parallel()
server := miniredis.RunT(t)
client := newRedisClient(config.RedisConfig{
Addr: server.Addr(),
OperationTimeout: time.Second,
})
t.Cleanup(func() { _ = client.Close() })
require.NoError(t, instrumentRedisClient(client, nil))
}