diff --git a/redisinsight/api/config/default.ts b/redisinsight/api/config/default.ts index f9c80683f1..d12a8675b7 100644 --- a/redisinsight/api/config/default.ts +++ b/redisinsight/api/config/default.ts @@ -40,9 +40,9 @@ export default { }, server: { version, - env: 'development', + env: process.env.NODE_ENV || 'development', host: process.env.RI_APP_HOST ?? '0.0.0.0', - port: parseInt(process.env.RI_APP_PORT, 10) ?? 5000, + port: parseInt(process.env.RI_APP_PORT, 10) || 5000, docPrefix: 'api/docs', globalPrefix: 'api', customPluginsUri: '/plugins', diff --git a/redisinsight/api/config/development.ts b/redisinsight/api/config/development.ts index ed266e3e0b..de5d4a77af 100644 --- a/redisinsight/api/config/development.ts +++ b/redisinsight/api/config/development.ts @@ -1,4 +1,7 @@ export default { + server: { + env: 'development', + }, sockets: { cors: true, }, diff --git a/redisinsight/api/src/app.module.ts b/redisinsight/api/src/app.module.ts index 46c9007fcc..534252c4c5 100644 --- a/redisinsight/api/src/app.module.ts +++ b/redisinsight/api/src/app.module.ts @@ -1,6 +1,6 @@ import * as fs from 'fs'; import { - MiddlewareConsumer, Module, NestModule, OnModuleInit + MiddlewareConsumer, Module, NestModule, OnModuleInit, } from '@nestjs/common'; import { ServeStaticModule } from '@nestjs/serve-static'; import { RouterModule } from 'nest-router'; diff --git a/redisinsight/api/src/modules/server/server.service.spec.ts b/redisinsight/api/src/modules/server/server.service.spec.ts index 285135129a..db363c436a 100644 --- a/redisinsight/api/src/modules/server/server.service.spec.ts +++ b/redisinsight/api/src/modules/server/server.service.spec.ts @@ -11,7 +11,7 @@ import { mockServerRepository, MockType, } from 'src/__mocks__'; -import config from 'src/utils/config'; +import config, { Config } from 'src/utils/config'; import { ServerInfoNotFoundException, AppAnalyticsEvents, diff --git a/redisinsight/api/src/utils/config.spec.ts b/redisinsight/api/src/utils/config.spec.ts index bda22ccf14..b97feb854c 100644 --- a/redisinsight/api/src/utils/config.spec.ts +++ b/redisinsight/api/src/utils/config.spec.ts @@ -1,7 +1,11 @@ +import { Config } from 'src/utils/config'; +import { merge } from 'lodash'; import defaultConfig from '../../config/default'; import devConfig from '../../config/development'; +import testConfig from '../../config/test'; import stageConfig from '../../config/staging'; import prodConfig from '../../config/production'; +import stackConfig from '../../config/stack'; describe('Config util', () => { const OLD_ENV = process.env; @@ -32,6 +36,35 @@ describe('Config util', () => { }); }); + it('should return test server config', () => { + process.env.NODE_ENV = 'test'; + // eslint-disable-next-line global-require + const { get } = require('./config'); + + const result = get('server') as Config['server']; + + expect(result).toEqual({ + ...defaultConfig.server, + ...testConfig.server, + }); + }); + + it('should return stack server config', () => { + process.env.BUILD_TYPE = 'REDIS_STACK'; + process.env.NODE_ENV = 'staging'; + // eslint-disable-next-line global-require + const { get } = require('./config'); + + const result = get('server') as Config['server']; + + expect(result).toEqual({ + ...defaultConfig.server, + ...stageConfig.server, + ...stackConfig.server, + buildType: 'REDIS_STACK', + }); + }); + it('should return stage server config', () => { process.env.NODE_ENV = 'staging'; // eslint-disable-next-line global-require @@ -57,5 +90,15 @@ describe('Config util', () => { ...prodConfig.server, }); }); + + it('should return entire prod server config', () => { + process.env.NODE_ENV = 'production'; + // eslint-disable-next-line global-require + const { get } = require('./config'); + + const result = get() as Config['server']; + + expect(result).toEqual(merge({ ...defaultConfig }, { ...prodConfig })); + }); }); });