UNPKG

wechaty-puppet-service

Version:
65 lines 2.14 kB
#!/usr/bin/env -S node --no-warnings --loader ts-node/esm "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tstest_1 = require("tstest"); const grpc_js_js_1 = require("./grpc-js.js"); const auth_impl_token_js_1 = require("./auth-impl-token.js"); (0, tstest_1.test)('authImplToken()', async (t) => { const sandbox = tstest_1.sinon.createSandbox(); const spy = sandbox.spy(); const TOKEN = 'UUIDv4'; const IMPL = { spy, }; const implWithAuth = (0, auth_impl_token_js_1.authImplToken)(TOKEN)(IMPL); const validMetadata = new grpc_js_js_1.Metadata(); validMetadata.add('Authorization', 'Wechaty ' + TOKEN); const TEST_LIST = [ { call: { metadata: validMetadata, }, callback: sandbox.spy(), ok: true, }, { call: { metadata: new grpc_js_js_1.Metadata(), }, callback: sandbox.spy(), ok: false, }, { call: { emit: sandbox.spy(), metadata: new grpc_js_js_1.Metadata(), }, callback: undefined, ok: false, }, ]; const method = implWithAuth['spy']; for (const { call, callback, ok } of TEST_LIST) { spy.resetHistory(); method(call, callback); if (ok) { t.ok(spy.calledOnce, 'should call IMPL handler'); continue; } /** * not ok */ t.ok(spy.notCalled, 'should not call IMPL handler'); if (callback) { t.equal(callback.args[0][0].code, grpc_js_js_1.GrpcStatus.UNAUTHENTICATED, 'should return UNAUTHENTICATED'); } else { t.equal(call.emit.args[0][0], 'error', 'should emit error'); t.equal(call.emit.args[0][1].code, grpc_js_js_1.GrpcStatus.UNAUTHENTICATED, 'should emit UNAUTHENTICATED'); } // console.info(spy.args) // console.info(callback?.args) } sandbox.restore(); }); //# sourceMappingURL=auth-impl-token.spec.js.map