Example #1
0
 it(`requires conversationId`, () => {
   return assert.isRejected(spark.internal.board.getChannels(), `\`conversation\` is required`);
 });
Example #2
0
 it('requires an `emailAddress`', () => assert.isRejected(userService.recordUUID({
   id: uuid.v4()
 }), /`user.emailAddress` is required/));
Example #3
0
 it('requires a `password`', () => assert.isRejected(userService.setPassword(), /`options.password` is required/));
Example #4
0
 it('requires a valid email', () => assert.isRejected(userService.asUUID('not valid email'), /Provided user object does not appear to identify a user/));
Example #5
0
 it('requires an `id`', () => assert.isRejected(userService.recordUUID({}), /`user.id` is required/));
Example #6
0
 it('requires an `email` with `verificationToken` for Federation user', () => assert.isRejected(userService.activate({verificationToken: 'X'}), /email is required with federation option/, 'email is required with federation option'));
Example #7
0
 it('requires a `verificationToken` or a confirmationCode + user id', () => {
   assert.isRejected(userService.activate(), /either options.verificationToken is required or both options.confirmationCode and options.id are required/);
 });
Example #8
0
 it(`cannot be called more than once`, () => {
   return assert.isRejected(socket.open(`ws://example.com`), /Socket#open\(\) can only be called once/);
 });
Example #9
0
 it(`only accepts valid close codes`, () => Promise.all([
   assert.isRejected(socket.close({code: 1001}), /`options.code` must be 1000 or between 3000 and 4999 \(inclusive\)/),
   assert.isFulfilled(socket.close({code: 1000}))
 ]));
Example #10
0
        .then((body) => {
          assert.notOk(body);

          return assert.isRejected(spark.messages.get(message));
        })
Example #11
0
 it(`requires a url parameter`, () => {
   const s = new Socket();
   return assert.isRejected(s.open(), /`url` is required/);
 });
Example #12
0
 .then((body) => {
   assert.notOk(body);
   return assert.isRejected(spark.rooms.get(room));
 })
Example #13
0
 it(`rejects when web-shared-mercury is not enabled`, () => {
   spark.internal.feature.getFeature.returns(Promise.resolve(false));
   return assert.isRejected(spark.internal.board.registerToShareMercury(channel));
 });
Example #14
0
 it(`rejects when localClusterServiceUrls is null`, () => {
   spark.internal.mercury.localClusterServiceUrls = null;
   return assert.isRejected(spark.internal.board.registerToShareMercury(channel));
 });
 it(`decrypts the error message`, () => assert.isRejected(spark.request({
   method: `POST`,
   service: `conversation`,
   resource: `conversations`,
   body: {
     activities: {
       items: [
         {
           actor: {
             objectType: `person`,
             id: spark.internal.device.userId
           },
           objectType: `activity`,
           verb: `create`
         },
         {
           actor: {
             objectType: `person`,
             id: spark.internal.device.userId
           },
           object: {
             objectType: `person`,
             id: spark.internal.device.userId
           },
           objectType: `activity`,
           verb: `add`
         },
         {
           actor: {
             objectType: `person`,
             id: spark.internal.device.userId
           },
           object: {
             objectType: `person`,
             id: other.id
           },
           objectType: `activity`,
           verb: `add`
         }
       ]
     },
     defaultActivityEncryptionKeyUrl: `kms://fakeuri`,
     objectType: `conversation`,
     kmsMessage: {
       method: `create`,
       uri: `/resource`,
       userIds: [
         spark.internal.device.userId,
         other.id
       ],
       keyUris: [
         `kms://fakeuri`
       ]
     }
   }
 }))
   .then((err) => {
     assert.statusCode(err, 400);
     assert.throws(() => {
       base64.decode(err.body.message.split(`.`)[0]);
     });
     assert.match(err.toString(), /POST .+\s/);
     assert.match(err.toString(), /WEBEX_TRACKING_ID: .+\s/);
     assert.match(err.toString(), /KMS_RESPONSE_STATUS: .+\s/);
     assert.match(err.toString(), /KMS_REQUEST_ID: .+/);
     assert.instanceOf(err, DryError);
   }));
Example #16
0
 .then(() => {
   mockWebSocket.readyState = 3;
   return assert.isRejected(socket.send(`test3`), /INVALID_STATE_ERROR/);
 })
Example #17
0
      it('rejects if channel not found', () => {
        spark.internal.board.realtime.realtimeChannels.get.returns(null);

        return assert.isRejected(spark.internal.board.realtime.disconnectMercuryConnection({}));
      });
Example #18
0
 it(`requires an event`, () => assert.isRejected(socket._acknowledge(), /`event` is required/));
Example #19
0
 it('requires a `password` and `email` for Federation user', () => assert.isRejected(userService.setPassword({password: '******'}), /email is required with federation option/));
Example #20
0
 it(`requires a message id`, () => assert.isRejected(socket._acknowledge({}), /`event.data.id` is required/));
Example #21
0
 it('requires a `user` in the array', () => assert.isRejected(userService.asUUID(['']), /`user` is required/));
Example #22
0
 it(`requires a url`, () => assert.isRejected(socket.open(), /`url` is required/));
Example #23
0
 it('requires a `user`', () => assert.isRejected(userService.recordUUID(), /`user` is required/));
Example #24
0
 it(`requires a forceCloseDelay option`, () => assert.isRejected(socket.open(`ws://example.com`), /missing required property forceCloseDelay/));
Example #25
0
 it('requires the `id` to be a uuid', () => assert.isRejected(userService.recordUUID({
   id: 'not a uuid'
 }), /`user.id` must be a uuid/));
Example #26
0
 it(`requires a pingInterval option`, () => assert.isRejected(socket.open(`ws://example.com`, {
   forceCloseDelay: mockoptions.forceCloseDelay
 }), /missing required property pingInterval/));
Example #27
0
 it('requires the `emailAddress` to be a uuid', () => assert.isRejected(userService.recordUUID({
   id: uuid.v4(),
   emailAddress: 'not an email address'
 }), /`user.emailAddress` must be an email address/));
Example #28
0
 it(`requires a token option`, () => assert.isRejected(socket.open(`ws://example.com`, {
   forceCloseDelay: mockoptions.forceCloseDelay,
   pingInterval: mockoptions.pingInterval,
   pongTimeout: mockoptions.pongTimeout
 }), /missing required property token/));
Example #29
0
 it('requires a `displayName`', () => assert.isRejected(userService.update(), /`options.displayName` is required/));
 it('decrypts the error message', () => assert.isRejected(spark.request({
   method: 'POST',
   service: 'conversation',
   resource: 'conversations',
   body: {
     activities: {
       items: [
         {
           actor: {
             objectType: 'person',
             id: spark.internal.device.userId
           },
           objectType: 'activity',
           verb: 'create'
         },
         {
           actor: {
             objectType: 'person',
             id: spark.internal.device.userId
           },
           object: {
             objectType: 'person',
             id: spark.internal.device.userId
           },
           objectType: 'activity',
           verb: 'add'
         },
         {
           actor: {
             objectType: 'person',
             id: spark.internal.device.userId
           },
           object: {
             objectType: 'person',
             id: other.id
           },
           objectType: 'activity',
           verb: 'add'
         }
       ]
     },
     defaultActivityEncryptionKeyUrl: 'kms://fakeuri',
     objectType: 'conversation',
     kmsMessage: {
       method: 'create',
       uri: '/resource',
       userIds: [
         spark.internal.device.userId,
         other.id
       ],
       keyUris: [
         'kms://fakeuri'
       ]
     }
   }
 }))
   .then((err) => {
     assert.statusCode(err, 400);
     assert.throws(() => {
       base64.decode(err.body.message.split('.')[0]);
     });
     assert.match(err.toString(), /POST .+\s/);
     assert.match(err.toString(), /WEBEX_TRACKING_ID: .+\s/);
     assert.match(err.toString(), /KMS_RESPONSE_STATUS: .+\s/);
     assert.match(err.toString(), /KMS_REQUEST_ID: .+/);
     assert.instanceOf(err, DryError);
   }));