Пример #1
0
Twitter.prototype.request = function(method, path, params, callback) {
  const self = this;
  assert(method == 'GET' || method == 'POST');
  if (_.isFunction(params)) {
    callback = params;
    params = {};
  }
  return new Promise( (resolve, reject) => {
    let _returnErrorToUser = function( err ) {
      if (callback && _.isFunction(callback)) {
        callback(err, null, null);
      }
      reject(err);
    }
    self._buildReqOpts(method, path, params, false, (err, reqOpts) => {
      if ( err ) {
        _returnErrorToUser( err );
        return ;
      }
      let twitOptions = (params && params.twit_options) || {};
      process.nextTick( () => {
        // ensure all HTTP i/o occurs after the user has a chance to bind their event handlers

        self._doRestApiRequest(reqOpts, twitOptions, method, (err, parsedBody, resp) => {
          self._updateClockOffsetFromResponse(resp);
          if (self.config.trusted_cert_fingerprints) {
            if (!resp.socket.authorized) {
              // the peer certificate was not signed by one of the authorized CA's
              let authErrMsg = resp.socket.authorizationError.toString();
              let err = helpers.makeTwitterError('The peer certificate was not signed: ' + authErrMsg);
              _returnErrorToUser(err);
              return ;
            }
            const fingerprint = resp.socket.getPeerCertificate().fingerprint;
            const trustedFingerprints = self.config.trusted_cert_fingerprints;
            if (trustedFingerprints.indexOf(fingerprint) === -1) {
              const errMsg = util.format("Certificate untrusted. Trusted fingerprints are: %s. Got fingerprint: %s.",
                trustedFingerprints.join(","), fingerprint);
              const err = new Error(errMsg);
              _returnErrorToUser(err);
              return ;
            }
          }
          if (callback && _.isFunction(callback)) {
            callback(err, parsedBody, resp);

            resolve({
              data: parsedBody,
              resp: resp
            });

          }
        });
      });
    });
  });
  return ;
};
Пример #2
0
 it('Accounts.sendEnrollmentEmail is called', ()=> {
   const invocation = {userId: testUserId};
   Roles.addUsersToRoles(testUserId, ['administrator'], agencyId);
   sendEnrollmentEmailHandler.apply(invocation, [testUserId, agencyId]);
   assert(accountsSendEnrollmentEmailStub.calledOnce);
 });