1
0
mirror of https://github.com/bitwarden/browser synced 2026-02-11 22:13:32 +00:00

Fix tests

This commit is contained in:
Bernd Schoolmann
2025-01-01 15:37:51 +01:00
parent f7ff4da41a
commit 5346e7199e

View File

@@ -40,9 +40,10 @@ describe("EncryptService", () => {
beforeEach(() => {
cryptoFunctionService.randomBytes.calledWith(16).mockResolvedValueOnce(iv as CsprngArray);
cryptoFunctionService.aesEncrypt.mockResolvedValue(encryptedData);
encryptService.setLegacyCiphersEnabled(false);
});
it("using a key which supports mac", async () => {
it("accept using a legacy key which supports mac when legacy ciphers are enabled", async () => {
const key = mock<SymmetricCryptoKey>();
const encType = EncryptionType.AesCbc128_HmacSha256_B64;
key.encType = encType;
@@ -50,7 +51,7 @@ describe("EncryptService", () => {
key.macKey = makeStaticByteArray(16, 20);
cryptoFunctionService.hmac.mockResolvedValue(mac);
encryptService.setLegacyCiphersEnabled(true);
const actual = await encryptService.encryptToBytes(plainValue, key);
expect(actual.encryptionType).toEqual(encType);
@@ -62,13 +63,27 @@ describe("EncryptService", () => {
);
});
it("using a key which doesn't support mac", async () => {
it("reject using a legacy key which supports mac when legacy ciphers are not enabled", async () => {
const key = mock<SymmetricCryptoKey>();
const encType = EncryptionType.AesCbc128_HmacSha256_B64;
key.encType = encType;
key.macKey = makeStaticByteArray(16, 20);
cryptoFunctionService.hmac.mockResolvedValue(mac);
await expect(encryptService.encryptToBytes(plainValue, key)).rejects.toThrow(
"Legacy ciphers are disabled",
);
});
it("accept using a key which doesn't support mac when legacy ciphers are enabled", async () => {
const key = mock<SymmetricCryptoKey>();
const encType = EncryptionType.AesCbc256_B64;
key.encType = encType;
key.macKey = null;
encryptService.setLegacyCiphersEnabled(true);
const actual = await encryptService.encryptToBytes(plainValue, key);
expect(cryptoFunctionService.hmac).not.toBeCalled();
@@ -79,6 +94,17 @@ describe("EncryptService", () => {
expect(actual.dataBytes).toEqualBuffer(encryptedData);
expect(actual.buffer.byteLength).toEqual(1 + iv.byteLength + encryptedData.byteLength);
});
it("reject using a key which doesn't support mac when legacy ciphers are not enabled", async () => {
const key = mock<SymmetricCryptoKey>();
const encType = EncryptionType.AesCbc256_B64;
key.encType = encType;
key.macKey = null;
await expect(encryptService.encryptToBytes(plainValue, key)).rejects.toThrow(
"Legacy ciphers are disabled",
);
});
});
});
@@ -157,6 +183,7 @@ describe("EncryptService", () => {
key.encType = EncryptionType.AesCbc256_B64;
cryptoFunctionService.compare.mockResolvedValue(true);
encryptService.setLegacyCiphersEnabled(true);
const actual = await encryptService.decryptToBytes(encBuffer, key);
expect(actual).toBeNull();