customer/internal/initialize/api_test.go

59 lines
1.8 KiB
Go
Raw Normal View History

2023-06-22 09:36:43 +00:00
package initialize_test
import (
"testing"
"github.com/stretchr/testify/assert"
2023-07-07 01:57:06 +00:00
"github.com/twmb/franz-go/pkg/kgo"
2023-06-22 09:36:43 +00:00
"go.mongodb.org/mongo-driver/mongo/integration/mtest"
"go.uber.org/zap"
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/initialize"
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/models"
)
func TestNewAPI(t *testing.T) {
mt := mtest.New(t, mtest.NewOptions().ClientType(mtest.Mock))
mt.Run("API сваггера должен успешно инициализироваться", func(t *mtest.T) {
assert.NotPanics(t, func() {
logger := zap.New(zap.L().Core())
repositories := initialize.NewRepositories(initialize.RepositoriesDeps{
Logger: logger,
MongoDB: t.Client.Database("test"),
})
clients := initialize.NewClients(initialize.ClientsDeps{
Logger: logger,
AuthURL: &models.AuthMicroserviceURL{User: ""},
HubadminURL: &models.HubadminMicroserviceURL{Tariff: ""},
CurrencyURL: &models.CurrencyMicroserviceURL{},
DiscountServiceConfiguration: &models.DiscountMicroserviceConfiguration{HostGRPC: "host"},
PaymentServiceConfiguration: &models.PaymentMicroserviceConfiguration{HostGRPC: "host"},
})
2023-07-07 01:57:06 +00:00
brokers := initialize.NewBrokers(initialize.BrokersDeps{
Logger: logger,
TariffClient: &kgo.Client{},
})
2023-06-22 09:36:43 +00:00
services := initialize.NewServices(initialize.ServicesDeps{
Logger: logger,
Repositories: repositories,
Clients: clients,
ConfigurationGRPC: &models.ConfigurationGRPC{Domen: "domen"},
2023-07-07 01:57:06 +00:00
Brokers: brokers,
2023-06-22 09:36:43 +00:00
})
controllers := initialize.NewControllers(initialize.ControllersDeps{
Logger: logger,
Services: services,
})
api := initialize.NewAPI(*controllers)
assert.NotNil(t, api)
})
})
}