Update to new provisioning URL scheme
This commit is contained in:
parent
a67335272c
commit
8064560a5f
2 changed files with 10 additions and 7 deletions
29
ts/test-node/util/getProvisioningUrl_test.ts
Normal file
29
ts/test-node/util/getProvisioningUrl_test.ts
Normal file
|
@ -0,0 +1,29 @@
|
|||
// Copyright 2021 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
import { assert } from 'chai';
|
||||
import { size } from '../../util/iterables';
|
||||
|
||||
import { typedArrayToArrayBuffer } from '../../Crypto';
|
||||
|
||||
import { getProvisioningUrl } from '../../util/getProvisioningUrl';
|
||||
|
||||
// It'd be nice to run these tests in the renderer, too, but [Chromium's `URL` doesn't
|
||||
// handle `sgnl:` links correctly][0].
|
||||
//
|
||||
// [0]: https://bugs.chromium.org/p/chromium/issues/detail?id=869291
|
||||
describe('getProvisioningUrl', () => {
|
||||
it('returns a URL with a UUID and public key', () => {
|
||||
const uuid = 'a08bf1fd-1799-427f-a551-70af747e3956';
|
||||
const publicKey = new Uint8Array([9, 8, 7, 6, 5, 4, 3]);
|
||||
|
||||
const result = getProvisioningUrl(uuid, typedArrayToArrayBuffer(publicKey));
|
||||
const resultUrl = new URL(result);
|
||||
|
||||
assert.strictEqual(resultUrl.protocol, 'sgnl:');
|
||||
assert.strictEqual(resultUrl.host, 'linkdevice');
|
||||
assert.strictEqual(size(resultUrl.searchParams.entries()), 2);
|
||||
assert.strictEqual(resultUrl.searchParams.get('uuid'), uuid);
|
||||
assert.strictEqual(resultUrl.searchParams.get('pub_key'), 'CQgHBgUEAw==');
|
||||
});
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue