wechaty-puppet-service
Version:
Puppet Service for Wechaty
65 lines • 2.14 kB
JavaScript
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
;