Skip to content

Commit 0316a98

Browse files
committed
Test for custom-dir feature added
1 parent 8ef3a92 commit 0316a98

File tree

2 files changed

+40
-0
lines changed

2 files changed

+40
-0
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"info": "production-custom-dir",
3+
"database": {
4+
"host": "db.prod.com",
5+
"user": "ENCRYPTED|5cf569c8229d05034f173119795158fd|1d71ad3d86e402d2ebb8b2a1ef796862",
6+
"password": "ENCRYPTED|9a4e5fdbbfe10b1d2b81a9ec9d46c6d1|95bf57f6ef988b80fa75577ed2da04c3b4549ac2de03c45fbbb8b4033b58b415"
7+
},
8+
"filestorage": {
9+
"type": "local",
10+
"params": {
11+
"folder": "/tmp/storage",
12+
"storagepass": "ENCRYPTED|7a7e87414b68919f70604e9e71d38f52|872dba2abe6f3a4bc4fa89b93234a86fbb4577f4ba5aa89949e4e4d0b16111e2"
13+
}
14+
},
15+
"testarray": [
16+
{
17+
"arrayItemKey": "ENCRYPTED|ad271fa483d82796e021a9c199e8b52b|420cf1c6e90590fa360a1a6fe8fb559c"
18+
},
19+
{
20+
"arrayItemKey": "ENCRYPTED|33ef4527795eafd1019bc9d00d4a4ad2|e2aa1207886da4fcc33916610d082d4b"
21+
}
22+
]
23+
}

test/secure-config-multiconf.test.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,23 @@ describe('secure-config multiconf feature test suite (v2 features)', () => {
9797
expect(myconf.database.password).toBe('SecretPassword-Prod');
9898
});
9999

100+
it('tests a successful production configuration retrieval with custom directory', () => {
101+
process.env['CONFIG_ENCRYPTION_KEY'] = confKey;
102+
process.env['NODE_ENV'] = 'production';
103+
const conf = require('../secure-config')({ directory: path.join(process.cwd(), 'test/configurations') });
104+
expect(conf.info).toEqual('production-custom-dir');
105+
expect(conf.database.host).toBe('db.prod.com');
106+
expect(conf.database.user).toBe('SecretUser-Prod');
107+
expect(conf.database.password).toBe('SecretPassword-Prod');
108+
expect(conf.filestorage.type).toBe('local');
109+
expect(conf.filestorage.params.folder).toBe('/tmp/storage');
110+
expect(conf.filestorage.params.storagepass).toBe('StoragePassword-Prod');
111+
expect(conf.testarray.length).toEqual(2);
112+
expect(conf.testarray[0].arrayItemKey).toEqual('itemValue1');
113+
expect(conf.testarray[1].arrayItemKey).toEqual('itemValue2');
114+
115+
});
116+
100117
it('tests a successful production configuration retrieval with custom file prefix and custom directory', () => {
101118
process.env['CONFIG_ENCRYPTION_KEY'] = myconfKey;
102119
const conf = require('../secure-config')({ prefix: 'myconf', directory: path.join(process.cwd(), 'test/configurations') });

0 commit comments

Comments
 (0)