diff --git a/internal/app/app.go b/internal/app/app.go index 2632cb8..eac256e 100644 --- a/internal/app/app.go +++ b/internal/app/app.go @@ -67,7 +67,7 @@ func Run(config *models.Config, logger *zap.Logger, build Build) (appErr error) } mongoDB, err := mongo.Connect(ctx, &mongo.ConnectDeps{ - Configuration: &config.Database, + Configuration: &config.ExternalCfg.Database, Timeout: 10 * time.Second, }) if err != nil { @@ -116,7 +116,7 @@ func Run(config *models.Config, logger *zap.Logger, build Build) (appErr error) PaymentServiceURL: config.PaymentMicroservice, VerificationURL: config.VerificationMicroservice, TemplategenURL: config.TemplategenMicroserviceURL, - MailClient: config.MailClientCfg, + MailClient: config.ExternalCfg.MailClientCfg, CodewordServiceHost: config.CodewordMicroservice, Notifier: notificationBot, NotificationRsPayChannel: config.NotificationRsPayChannel, @@ -144,7 +144,7 @@ func Run(config *models.Config, logger *zap.Logger, build Build) (appErr error) HLogger: loggerHlog, }) - encrypt := &config.EncryptCommon + encrypt := &config.ExternalCfg.EncryptCommon middleWare := http.NewMiddleWare(logger) @@ -162,14 +162,14 @@ func Run(config *models.Config, logger *zap.Logger, build Build) (appErr error) Logger: logger, Hlog: loggerHlog, Controllers: []server.Controller{httpControllers.CurrencyClientController, httpControllers.HistoryClientController, httpControllers.CartClientController, httpControllers.WalletClientController, httpControllers.AccountClientController}, - JWTConfig: &config.JwtCfg, + JWTConfig: &config.ExternalCfg.JwtCfg, }) serverAdminHTTP := server.NewServer(server.ServerConfig{ Logger: logger, Hlog: loggerHlog, Controllers: []server.Controller{httpControllers.AccountAdminController, httpControllers.CurrencyAdminController, httpControllers.HistoryAdminController}, - JWTConfig: &config.JwtCfg, + JWTConfig: &config.ExternalCfg.JwtCfg, }) serverClientHTTP.ListRoutes() diff --git a/internal/initialize/config.go b/internal/initialize/config.go index fb161a6..f818d85 100644 --- a/internal/initialize/config.go +++ b/internal/initialize/config.go @@ -20,7 +20,7 @@ func Configuration(path string) (*models.Config, error) { // return nil, err //} - iniJWTConfiguration(&config.JwtCfg) + iniJWTConfiguration(&config.ExternalCfg.JwtCfg) return config, nil } diff --git a/internal/initialize/config_test.go b/internal/initialize/config_test.go index d0283aa..81ffdd7 100644 --- a/internal/initialize/config_test.go +++ b/internal/initialize/config_test.go @@ -71,21 +71,23 @@ func setDefaultTestingENV(t *testing.T) *models.Config { PaymentMicroservice: "domen", VerificationMicroservice: "domen", TemplategenMicroserviceURL: "domen", - JwtCfg: models.JWTConfiguration{ - PrivateKey: "jwt private key", - PublicKey: "jwt public key", - Issuer: "issuer", - Audience: "audience", - Algorithm: *jwt.SigningMethodRS256, - ExpiresIn: 15 * time.Minute, - }, - Database: mongo.Configuration{ - Host: "localhost", - Port: "27017", - User: "user", - Password: "pass", - Auth: "db", - DatabaseName: "db", + ExternalCfg: models.ExternalCfg{ + JwtCfg: models.JWTConfiguration{ + PrivateKey: "jwt private key", + PublicKey: "jwt public key", + Issuer: "issuer", + Audience: "audience", + Algorithm: *jwt.SigningMethodRS256, + ExpiresIn: 15 * time.Minute, + }, + Database: mongo.Configuration{ + Host: "localhost", + Port: "27017", + User: "user", + Password: "pass", + Auth: "db", + DatabaseName: "db", + }, }, } @@ -93,10 +95,10 @@ func setDefaultTestingENV(t *testing.T) *models.Config { t.Setenv("GRPC_PORT", defaultConfiguration.GrpcPort) t.Setenv("GRPC_DOMEN", defaultConfiguration.GrpcDomen) - t.Setenv("JWT_PUBLIC_KEY", defaultConfiguration.JwtCfg.PublicKey) - t.Setenv("JWT_PRIVATE_KEY", defaultConfiguration.JwtCfg.PrivateKey) - t.Setenv("JWT_ISSUER", defaultConfiguration.JwtCfg.Issuer) - t.Setenv("JWT_AUDIENCE", defaultConfiguration.JwtCfg.Audience) + t.Setenv("JWT_PUBLIC_KEY", defaultConfiguration.ExternalCfg.JwtCfg.PublicKey) + t.Setenv("JWT_PRIVATE_KEY", defaultConfiguration.ExternalCfg.JwtCfg.PrivateKey) + t.Setenv("JWT_ISSUER", defaultConfiguration.ExternalCfg.JwtCfg.Issuer) + t.Setenv("JWT_AUDIENCE", defaultConfiguration.ExternalCfg.JwtCfg.Audience) t.Setenv("KAFKA_BROKERS", "localhost:8080,localhost:8081") t.Setenv("KAFKA_TOPIC_TARIFF", defaultConfiguration.KafkaTopic) @@ -109,12 +111,12 @@ func setDefaultTestingENV(t *testing.T) *models.Config { t.Setenv("VERIFICATION_MICROSERVICE_URL", defaultConfiguration.VerificationMicroservice) t.Setenv("TEMPLATEGEN_MICROSERVICE_URL", defaultConfiguration.TemplategenMicroserviceURL) - t.Setenv("MONGO_HOST", defaultConfiguration.Database.Host) - t.Setenv("MONGO_PORT", defaultConfiguration.Database.Port) - t.Setenv("MONGO_USER", defaultConfiguration.Database.User) - t.Setenv("MONGO_PASSWORD", defaultConfiguration.Database.Password) - t.Setenv("MONGO_AUTH", defaultConfiguration.Database.Auth) - t.Setenv("MONGO_DB_NAME", defaultConfiguration.Database.DatabaseName) + t.Setenv("MONGO_HOST", defaultConfiguration.ExternalCfg.Database.Host) + t.Setenv("MONGO_PORT", defaultConfiguration.ExternalCfg.Database.Port) + t.Setenv("MONGO_USER", defaultConfiguration.ExternalCfg.Database.User) + t.Setenv("MONGO_PASSWORD", defaultConfiguration.ExternalCfg.Database.Password) + t.Setenv("MONGO_AUTH", defaultConfiguration.ExternalCfg.Database.Auth) + t.Setenv("MONGO_DB_NAME", defaultConfiguration.ExternalCfg.Database.DatabaseName) return &defaultConfiguration } diff --git a/internal/models/config.go b/internal/models/config.go index fd5d350..a736ebf 100644 --- a/internal/models/config.go +++ b/internal/models/config.go @@ -32,10 +32,14 @@ type Config struct { NotificationChannel int64 `env:"NOTIFICATION_CHANNEL"` AdminURL string `env:"ADMIN_FRONT_URL"` NotificationRsPayChannel int64 `env:"NOTIFICATION_RS_PAY_CHANNEL"` - EncryptCommon encrypt.Encrypt - JwtCfg JWTConfiguration - MailClientCfg MailClientCfg - Database mongo.Configuration + ExternalCfg ExternalCfg +} + +type ExternalCfg struct { + EncryptCommon encrypt.Encrypt + JwtCfg JWTConfiguration + MailClientCfg MailClientCfg + Database mongo.Configuration } type MailClientCfg struct { diff --git a/tests/integration/mail_test.go b/tests/integration/mail_test.go index 6ea717a..65843a3 100644 --- a/tests/integration/mail_test.go +++ b/tests/integration/mail_test.go @@ -17,7 +17,6 @@ func TestSendMessage(t *testing.T) { ApiUrl: "https://api.smtp.bz/v1/smtp/send", Sender: sender, ApiKey: apiKey, - Auth: &models.PlainAuth{Username: "kotilion.95@gmail.com", Password: "vWwbCSg4bf0p"}, FiberClient: fiber.AcquireClient(), MailAddress: "pashamullin2001@gmail.com", }, zap.NewExample())