describe('xbox', function(){ it('should create an Xbox object using a public key', function(){ var xbox = Xbox('127.0.0.1', certificate) assert.deepStrictEqual(xbox.getIp(), '127.0.0.1'); assert.deepStrictEqual(xbox.getCertificate(), certificate); assert.deepStrictEqual(xbox.getLiveid(), false); }); it('should create a new sgCrypto object using connect()', function(){ certificate_b64 = certificate.toString().replace(/(\n|\r)+$/, '') var xbox = Xbox('127.0.0.1', Buffer.from(certificate_b64, 'base64')) var connect_request = xbox.connect() assert.deepStrictEqual(Buffer.from(connect_request).slice(0, 2), Buffer.from('cc00', 'hex')) assert.deepStrictEqual(xbox.getLiveid(), 'FFFFFFFFFFF'); assert.deepStrictEqual(xbox._request_num, 1); assert.notDeepStrictEqual(xbox._crypto, false); }); })
assert.strictEqual(typeof sessionObj.newAccessToken, "object"); assert.strictEqual(typeof sessionObj.newAccessToken.value, "string"); assert.notDeepStrictEqual(newRefreshedSession.newAccessToken.value, sessionObj.newAccessToken.value); try { await session.refreshSession(newSession.refreshToken.value);
assert.strictEqual(typeof newRefreshedSession.newAccessToken, "object"); assert.strictEqual(typeof newRefreshedSession.newAccessToken.value, "string"); assert.notDeepStrictEqual(newRefreshedSession.newAccessToken.value, newSession.accessToken.value); assert.strictEqual(typeof newRefreshedSession.newAntiCsrfToken, "string"); assert.notStrictEqual(newRefreshedSession.newAntiCsrfToken, newSession.antiCsrfToken);
assert.notDeepStrictEqual(oldLocation, newLocation); } catch (err) { log.info('duplicate location update, skipping',
await delay(2000); const signingKey2 = await accessToken.getKeyForTesting(); assert.notDeepStrictEqual(signingKey1, signingKey2); });
assert.strictEqual(typeof newRefreshedSession2.newRefreshToken, "object"); assert.strictEqual(typeof newRefreshedSession2.newRefreshToken.value, "string"); assert.notDeepStrictEqual( newRefreshedSession2.newRefreshToken.value, newRefreshedSession1.newRefreshToken.value
assert.strictEqual(typeof sessionObj.newAccessToken, "object"); assert.strictEqual(typeof sessionObj.newAccessToken.value, "string"); assert.notDeepStrictEqual(newRefreshedSession.newAccessToken.value, sessionObj.newAccessToken.value); await delay(3000); try {
assert.strictEqual(typeof newRefreshedSession.newAccessToken, "object"); assert.strictEqual(typeof newRefreshedSession.newAccessToken.value, "string"); assert.notDeepStrictEqual(newRefreshedSession.newAccessToken.value, newSession.accessToken.value); assert.strictEqual(typeof newRefreshedSession.newAntiCsrfToken, "string"); assert.notStrictEqual(newRefreshedSession.newAntiCsrfToken, newSession.antiCsrfToken);
assert.strictEqual(typeof newRefreshedSession2.newRefreshToken, "object"); assert.strictEqual(typeof newRefreshedSession2.newRefreshToken.value, "string"); assert.notDeepStrictEqual( newRefreshedSession2.newRefreshToken.value, newRefreshedSession1.newRefreshToken.value
assert.strictEqual(typeof sessionObject.newAccessToken, "object"); assert.strictEqual(typeof sessionObject.newAccessToken.value, "string"); assert.notDeepStrictEqual(newRefreshedSession.newAccessToken.value, sessionObject.newAccessToken.value); try { await session.refreshSession(newSession.refreshToken.value);
assert.strictEqual(typeof sessionObject.newAccessToken, "object"); assert.strictEqual(typeof sessionObject.newAccessToken.value, "string"); assert.notDeepStrictEqual(newRefreshedSession.newAccessToken.value, sessionObject.newAccessToken.value); await delay(3000); try {
await delay(2000); const signingKey2 = await accessToken.getKeyForTesting(); assert.notDeepStrictEqual(signingKey1, signingKey2); });