query(query, values) { const queryWithParams = applyParams(query, values); const cancelObj = {}; const promise = this.queryPromised(queryWithParams, cancelObj, this.prepareConnectionQueries()); promise.cancel = () => cancelObj.cancel && cancelObj.cancel() || Promise.reject(new Error('Statement is not ready')); return promise; }
function explicitVersion (version) { return version ? Promise.resolve(version) : Promise.reject(new Error('Invalid "version" argument')) }
function fetchVersionPolicy (version) { return fetchChangelog(version).then((section) => { // matches the policy for a given version (Stable, LTS etc) in the changelog // ## 2015-10-07, Version 4.2.0 'Argon' (LTS), @jasnell // ## 2015-12-04, Version 0.12.9 (LTS), @rvagg const rxPolicy = /^## ?\d{4}-\d{2}-\d{2}, Version [^(].*\(([^)]+)\)/ const matches = rxPolicy.exec(section) return matches ? matches[1] : Promise.reject(new Error(`Could not find version policy of ${version} in its changelog`)) }) }
updatePassword(username, token, password) { return this.checkResetTokenValidity(username, token).then(user => updateUserPassword(user.objectId, password, this.config)).catch(error => { if (error && error.message) { // in case of Parse.Error, fail with the error message only return Promise.reject(error.message); } else { return Promise.reject(error); } }); }
it("should handle error", async () => { const err = new Error("Something happened"); discoverer.client.setex = jest.fn(() => Promise.reject(err)); // ---- ^ SETUP ^ --- await discoverer.sendLocalNodeInfo(); // ---- ˇ ASSERTS ˇ --- expect(discoverer.client.setex).toBeCalledTimes(1); expect(discoverer.recreateInfoUpdateTimer).toBeCalledTimes(0); expect(discoverer.beat).toBeCalledTimes(0); expect(discoverer.logger.error).toBeCalledTimes(1); expect(discoverer.logger.error).toBeCalledWith("Unable to send INFO to Redis server", err); });
// 所有接口30s超时 // 请求统一处理 instance.interceptors.request.use(async config => { if (config.url && config.url.charAt(0) === '/') { config.url = `${baseURL}${config.url}`; } config.headers.authorization = `Bearer ${getItem('token')}`; return config; }, error => Promise.reject(error));
it("should don't touch other errors", () => { broker.metrics.increment.mockClear(); let err = new Error("Some error"); let handler = jest.fn(() => Promise.reject(err)); const newHandler = mw.localAction.call(broker, handler, action); const ctx = Context.create(broker, endpoint); return newHandler(ctx).then(protectReject).catch(res => { expect(ctx.options.timeout).toBe(4000); expect(res).toBe(err); expect(broker.metrics.increment).toHaveBeenCalledTimes(0); }); });
this.config.database.find('_User', { objectId: this.objectId() }).then(results => { if (results.length != 1) { throw undefined; } if (this.data.password.indexOf(results[0].username) >= 0) return Promise.reject(new Parse.Error(Parse.Error.VALIDATION_ERROR, containsUsernameError)); return Promise.resolve(); })
it("should handle error", async () => { const err = new Error("Something happened"); fakeLease2.value = jest.fn(() => Promise.reject(err)); // ---- ^ SETUP ^ --- await discoverer.sendLocalNodeInfo(); // ---- ˇ ASSERTS ˇ --- expect(fakeLease2.put).toBeCalledTimes(1); expect(discoverer.beat).toBeCalledTimes(0); expect(discoverer.logger.error).toBeCalledTimes(1); expect(discoverer.logger.error).toBeCalledWith("Unable to send INFO to etcd server", err); });
/** * Call a local event handler. Useful for unit tests. * * @param {String} eventName * @param {any?} params * @param {Object?} opts */ emitLocalEventHandler(eventName, params, opts) { if (!this.events[eventName]) return Promise.reject(new MoleculerError(`No '${eventName}' registered local event handler`, 500, "NOT_FOUND_EVENT", { eventName })); return this.events[eventName](params, opts); }
it('crashes on KafkaJSNotImplemented errors', async () => { const notImplementedError = new KafkaJSNotImplemented('not implemented') consumerGroup.fetch.mockImplementationOnce(() => BufferedAsyncIterator([Promise.reject(notImplementedError)]) ) await runner.start() // scheduleFetch in runner#start is async, and we never wait for it, // so we have to wait a bit to give the callback a chance of being executed await sleep(100) expect(onCrash).toHaveBeenCalledWith(notImplementedError) })
validateClassName(className) { if (!SchemaController.classNameIsValid(className)) { return Promise.reject(new _node.Parse.Error(_node.Parse.Error.INVALID_CLASS_NAME, 'invalid className: ' + className)); } return Promise.resolve(); }
it("should reject if sendHello rejected", () => { transporter.getNode = jest.fn(() => node); transporter.sendHello = jest.fn(() => Promise.reject(new Error("Hello error"))); let p = writer.connect("node-2").then(protectReject).catch(err => { expect(err).toBeInstanceOf(Error); expect(err.message).toBe("Hello error"); }); netConnectCB(); return p; });
// Creates or and/or writes (to) a config file const writeConfig = async (configLocation = FULL_CONFIG_PATH, settings = {}, options = {}) => { try { await jsonFile.writeFileSync( configLocation, settings, options ); } catch (error) { return Promise.reject(error); } }
function findAuthorLogin (version, section) { // looking for the @author part of the release header, eg: // ## 2016-03-08, Version 5.8.0 (Stable). @Fishrock123 // ## 2015-10-13, Version 4.2.1 'Argon' (LTS), @jasnell // ## 2015-09-08, Version 4.0.0 (Stable), @rvagg const rxReleaseAuthor = /^## .*? \([^)]+\)[,.] @(\S+)/ const matches = rxReleaseAuthor.exec(section) return matches ? matches[1] : Promise.reject(new Error(`Couldn't find @author of ${version} release :(`)) }