Skip to content

Commit 66c7baa

Browse files
authored
Merge pull request #51 from nootey/development
Minor adjustments
2 parents 3be5d6f + 879a5ef commit 66c7baa

File tree

15 files changed

+55
-49
lines changed

15 files changed

+55
-49
lines changed

.github/workflows/test-server.yaml

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -28,21 +28,6 @@ jobs:
2828
name: Run tests
2929
runs-on: ubuntu-latest
3030

31-
services:
32-
postgres:
33-
image: postgres:15
34-
env:
35-
POSTGRES_USER: postgres
36-
POSTGRES_PASSWORD: postgres
37-
POSTGRES_DB: postgres
38-
ports:
39-
- 5432:5432
40-
options: >-
41-
--health-cmd pg_isready
42-
--health-interval 10s
43-
--health-timeout 5s
44-
--health-retries 5
45-
4631
steps:
4732
- name: Checkout
4833
uses: actions/checkout@v6
@@ -63,6 +48,13 @@ jobs:
6348
restore-keys: |
6449
${{ runner.os }}-go-
6550
51+
- name: Start test services
52+
run: docker compose -f deployments/docker/docker-compose.test.yaml up -d
53+
54+
- name: Wait for PostgreSQL
55+
run: |
56+
timeout 30 bash -c 'until docker compose -f deployments/docker/docker-compose.test.yaml exec -T postgres-test pg_isready; do sleep 1; done'
57+
6658
- name: Install dependencies
6759
run: go mod download
6860

cmd/http_server.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ var httpServerCmd = &cobra.Command{
1818
zap.Bool("release", cfg.Release),
1919
)
2020

21-
app := runtime.NewServerRuntime(cfg, logger)
21+
app := runtime.NewHttpServerRuntime(cfg, logger)
2222
return app.Run(cmd.Context())
2323
},
2424
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
services:
2+
postgres-test:
3+
image: postgres:18
4+
environment:
5+
POSTGRES_USER: postgres
6+
POSTGRES_PASSWORD: postgres
7+
POSTGRES_DB: postgres
8+
ports:
9+
- "5432:5432"
10+
healthcheck:
11+
test: ["CMD-SHELL", "pg_isready"]
12+
interval: 10s
13+
timeout: 5s
14+
retries: 5
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import (
1414
"gorm.io/gorm"
1515
)
1616

17-
type Container struct {
17+
type ServiceContainer struct {
1818
Config *config.Config
1919
DB *gorm.DB
2020
AuthzService *authz.Service
@@ -33,7 +33,7 @@ type Container struct {
3333
NotesService *services.NotesService
3434
}
3535

36-
func NewContainer(cfg *config.Config, db *gorm.DB, logger *zap.Logger) (*Container, error) {
36+
func NewServiceContainer(cfg *config.Config, db *gorm.DB, logger *zap.Logger) (*ServiceContainer, error) {
3737

3838
// Initialize mailer
3939
mail := mailer.NewMailer(cfg, &mailer.MailConfig{From: cfg.Mailer.Username, FromName: "Wealth Warden Support"})
@@ -82,7 +82,7 @@ func NewContainer(cfg *config.Config, db *gorm.DB, logger *zap.Logger) (*Contain
8282
investmentService := services.NewInvestmentService(investmentRepo, accountRepo, settingsRepo, loggingRepo, jobDispatcher, priceFetchClient, currencyConverter)
8383
notesService := services.NewNotesService(notesRepo, loggingRepo, jobDispatcher)
8484

85-
return &Container{
85+
return &ServiceContainer{
8686
Config: cfg,
8787
DB: db,
8888
AuthzService: authzSvc,

internal/http/routes.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ import (
1313

1414
type RouteInitializerHTTP struct {
1515
Router *gin.Engine
16-
Container *bootstrap.Container
16+
Container *bootstrap.ServiceContainer
1717
}
1818

19-
func NewRouteInitializerHTTP(r *gin.Engine, container *bootstrap.Container) *RouteInitializerHTTP {
19+
func NewRouteInitializerHTTP(r *gin.Engine, container *bootstrap.ServiceContainer) *RouteInitializerHTTP {
2020

2121
return &RouteInitializerHTTP{
2222
Router: r,

internal/http/server.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ type Server struct {
2929
logger *zap.Logger
3030
}
3131

32-
func NewServer(container *bootstrap.Container, logger *zap.Logger) *Server {
32+
func NewServer(container *bootstrap.ServiceContainer, logger *zap.Logger) *Server {
3333

3434
router := NewRouter(container, logger)
3535

@@ -72,7 +72,7 @@ func (s *Server) Shutdown() error {
7272
return nil
7373
}
7474

75-
func NewRouter(container *bootstrap.Container, logger *zap.Logger) *gin.Engine {
75+
func NewRouter(container *bootstrap.ServiceContainer, logger *zap.Logger) *gin.Engine {
7676

7777
var r *gin.Engine
7878
if container.Config.Release {

internal/jobscheduler/automate_templates_job.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ import (
1010

1111
type AutomateTemplateJob struct {
1212
logger *zap.Logger
13-
container *bootstrap.Container
13+
container *bootstrap.ServiceContainer
1414
}
1515

16-
func NewAutomateTemplateJob(logger *zap.Logger, container *bootstrap.Container) *AutomateTemplateJob {
16+
func NewAutomateTemplateJob(logger *zap.Logger, container *bootstrap.ServiceContainer) *AutomateTemplateJob {
1717
return &AutomateTemplateJob{
1818
logger: logger,
1919
container: container,

internal/jobscheduler/backfill_job.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ import (
1111

1212
type BackfillJob struct {
1313
logger *zap.Logger
14-
container *bootstrap.Container
14+
container *bootstrap.ServiceContainer
1515
}
1616

17-
func NewBackfillJob(logger *zap.Logger, container *bootstrap.Container) *BackfillJob {
17+
func NewBackfillJob(logger *zap.Logger, container *bootstrap.ServiceContainer) *BackfillJob {
1818
return &BackfillJob{
1919
logger: logger,
2020
container: container,

internal/jobscheduler/investment_price_sync.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ import (
1515

1616
type InvestmentPriceSyncJob struct {
1717
logger *zap.Logger
18-
container *bootstrap.Container
18+
container *bootstrap.ServiceContainer
1919
priceFetchClient finance.PriceFetcher
2020
}
2121

22-
func NewInvestmentPriceSyncJob(logger *zap.Logger, container *bootstrap.Container, priceFetchClient finance.PriceFetcher) *InvestmentPriceSyncJob {
22+
func NewInvestmentPriceSyncJob(logger *zap.Logger, container *bootstrap.ServiceContainer, priceFetchClient finance.PriceFetcher) *InvestmentPriceSyncJob {
2323
return &InvestmentPriceSyncJob{
2424
logger: logger,
2525
container: container,
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,19 @@ import (
1313
"go.uber.org/zap"
1414
)
1515

16-
type ServerRuntime struct {
16+
type HttpServerRuntime struct {
1717
Logger *zap.Logger
1818
Config *config.Config
1919
}
2020

21-
func NewServerRuntime(cfg *config.Config, logger *zap.Logger) *ServerRuntime {
22-
return &ServerRuntime{
21+
func NewHttpServerRuntime(cfg *config.Config, logger *zap.Logger) *HttpServerRuntime {
22+
return &HttpServerRuntime{
2323
Config: cfg,
2424
Logger: logger,
2525
}
2626
}
2727

28-
func (rt *ServerRuntime) Run(context context.Context) error {
28+
func (rt *HttpServerRuntime) Run(context context.Context) error {
2929
ctx, stop := signal.NotifyContext(context, syscall.SIGTERM, syscall.SIGINT)
3030
defer stop()
3131

@@ -47,7 +47,7 @@ func (rt *ServerRuntime) Run(context context.Context) error {
4747
// Initialize container
4848
containerLogger := rt.Logger.Named("container")
4949
httpLogger := rt.Logger.Named("http")
50-
container, err := bootstrap.NewContainer(rt.Config, dbClient, containerLogger)
50+
container, err := bootstrap.NewServiceContainer(rt.Config, dbClient, containerLogger)
5151
if err != nil {
5252
containerLogger.Error("Container initialization failed", zap.Error(err))
5353
return fmt.Errorf("cntainer initialization failed: %w", err)

0 commit comments

Comments
 (0)