ToolJet/server/test/services/encryption.service.spec.ts
Midhun G S 0545528504
Support for multiple workspaces 🚀 (#2778)
* multi org changes

* Initial changes

* changes

* manage sso page

* Multi-organization changes

* Multi organization changes

* multi-org changes

* multi-org changes

* multi-org changes

* multi-org fixes

* env variables app.json changes

* multi-org-fix

* user invitation token fix

* multi-org group permission fix

* multi-org app privilege

* google oauth fix

* Remove enable signup for form login

* Multi organization fixes

* multi-org user invite flow changes

* multi-org sign up fix

* rebase and multi-org fixes

* revert testing logs

* test logs revert

* migration changes

* migration file fix

* error message changes

* git login for private email fix

* dropdown fix

* test cases

* e2e test cases added

* test cases fix

* documentation changes

* testcases fix

* testcases added

* replace findOne with findOneOrFail

* accept invite testcases

* login page fixes

* added encrypted tag

* review comments

* migration fixes

* improvements

* manage sso loading fix

* review comments

* migration file changes

* new organization creation bug fix

* added e2e testcases

* added testcases

* Update data_sources.controller.ts
2022-05-05 12:38:42 +05:30

35 lines
1.5 KiB
TypeScript

import { Test, TestingModule } from '@nestjs/testing';
import { EncryptionService } from '../../src/services/encryption.service';
describe('EncryptionService', () => {
let service: EncryptionService;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
providers: [EncryptionService],
}).compile();
service = module.get<EncryptionService>(EncryptionService);
});
it('should generate derived keys', () => {
process.env['LOCKBOX_MASTER_KEY'] = '3dbbbac7043d25ac4ab1f5724f1d51f4dd399779dee5b7015d17e8615ab2fc37';
const derivedKey = service.computeAttributeKey('credentials', 'value');
expect(derivedKey).toBe('30129aa38f9bf34b060045bd58bfd4a3883ba135d87e70cc9cc602f179fe3780');
});
it('should encrypt & decrypt text', () => {
const derivedKey = '30129aa38f9bf34b060045bd58bfd4a3883ba135d87e70cc9cc602f179fe3780';
const encryptedText = service.encrypt('Hello', derivedKey);
const decryptedText = service.decrypt(encryptedText, derivedKey);
expect(decryptedText).toBe('Hello');
});
it('should encrypt and decrypt table column values using derived keys', async () => {
process.env['LOCKBOX_MASTER_KEY'] = '3dbbbac7043d25ac4ab1f5724f1d51f4dd399779dee5b7015d17e8615ab2fc37';
const encryptedText = await service.encryptColumnValue('credentials', 'value', 'Hello');
const decryptedText = await service.decryptColumnValue('credentials', 'value', encryptedText);
expect(decryptedText).toBe('Hello');
});
});