summaryrefslogtreecommitdiffhomepage
path: root/packages/server/src/helpers/convertCertBufferToPEM.test.ts
blob: 163dc4e76363905071f51a8ffbea8d8430baf6dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import { assert, assertEquals } from 'https://deno.land/std@0.198.0/assert/mod.ts';

import { convertCertBufferToPEM } from './convertCertBufferToPEM.ts';

Deno.test('should return pem when input is base64URLString', () => {
  const input =
    'Y2VydEJ1ZmZlclN0cmluZyBjZXJ0QnVmZmVyU3RyaW5nIGNlcnRCdWZmZXJTdHJpbmcgY2VydEJ1ZmZlclN0cmluZyBjZXJ0QnVmZmVyU3RyaW5nIGNlcnRCdWZmZXJTdHJpbmcgY2VydEJ1ZmZlclN0cmluZw';
  const actual = convertCertBufferToPEM(input);
  const actualPemArr = actual.split('\n');

  assertEquals(
    actual,
    `-----BEGIN CERTIFICATE-----
Y2VydEJ1ZmZlclN0cmluZyBjZXJ0QnVmZmVyU3RyaW5nIGNlcnRCdWZmZXJTdHJp
bmcgY2VydEJ1ZmZlclN0cmluZyBjZXJ0QnVmZmVyU3RyaW5nIGNlcnRCdWZmZXJT
dHJpbmcgY2VydEJ1ZmZlclN0cmluZw==
-----END CERTIFICATE-----
`,
  );

  assertEquals(actualPemArr[0], '-----BEGIN CERTIFICATE-----');
  assert(actualPemArr[1].length <= 64);
  assert(actualPemArr[2].length <= 64);
  assert(actualPemArr[3].length <= 64);
  assertEquals(actualPemArr[4], '-----END CERTIFICATE-----');
});

Deno.test('should return pem when input is buffer', () => {
  const input = new Uint8Array(128).fill(0);
  const actual = convertCertBufferToPEM(input);
  const actualPemArr = actual.split('\n');
  assertEquals(
    actual,
    `-----BEGIN CERTIFICATE-----
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
-----END CERTIFICATE-----
`,
  );

  assertEquals(actualPemArr[0], '-----BEGIN CERTIFICATE-----');
  assert(actualPemArr[1].length <= 64);
  assert(actualPemArr[2].length <= 64);
  assert(actualPemArr[3].length <= 64);
  assertEquals(actualPemArr[4], '-----END CERTIFICATE-----');
});