Fix ARD authentication test to send real data
Stop bypassing the data handling steps in the test as that means those parts don't get tested.
This commit is contained in:
parent
71bb6f02cd
commit
0ee0e96f34
|
@ -1306,9 +1306,27 @@ describe('Remote Frame Buffer Protocol Client', function () {
|
||||||
const serverPublicKey = legacyCrypto.exportKey("raw", serverKey.publicKey);
|
const serverPublicKey = legacyCrypto.exportKey("raw", serverKey.publicKey);
|
||||||
const clientPublicKey = legacyCrypto.exportKey("raw", clientKey.publicKey);
|
const clientPublicKey = legacyCrypto.exportKey("raw", clientKey.publicKey);
|
||||||
|
|
||||||
await client._negotiateARDAuthAsync(128, serverPublicKey, clientKey);
|
let data = [];
|
||||||
|
|
||||||
client._negotiateARDAuth();
|
data = data.concat(Array.from(generator));
|
||||||
|
push16(data, prime.length);
|
||||||
|
data = data.concat(Array.from(prime));
|
||||||
|
data = data.concat(Array.from(serverPublicKey));
|
||||||
|
|
||||||
|
client._sock._websocket._receiveData(new Uint8Array(data));
|
||||||
|
|
||||||
|
// FIXME: We don't have a good way to know when the
|
||||||
|
// async stuff is done, so we hook in to this
|
||||||
|
// internal function that is called at the
|
||||||
|
// end
|
||||||
|
await new Promise((resolve, reject) => {
|
||||||
|
sinon.stub(client, "_resumeAuthentication")
|
||||||
|
.callsFake(() => {
|
||||||
|
RFB.prototype._resumeAuthentication.call(client);
|
||||||
|
resolve();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
clock.tick();
|
||||||
|
|
||||||
expect(client._rfbInitState).to.equal('SecurityResult');
|
expect(client._rfbInitState).to.equal('SecurityResult');
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue