.then(() => {
   assert.isFalse(spark.internal.test.ready);
   assert.isFalse(spark.internal.ready);
   assert.isFalse(spark.ready);
   spark.internal.test.ready = true;
   assert.isTrue(spark.internal.ready);
   assert.isTrue(spark.ready);
   assert.called(changeSpy);
   assert.called(readySpy);
 });
Example #2
0
        it(`sets the token and sets ready`, () => {
          const spark = makeSpark(`http://example.com/#access_token=AT&expires_in=3600&token_type=Bearer`);

          assert.isFalse(spark.authorization.ready);
          assert.isFalse(spark.credentials.canAuthorize);

          return spark.authorization.when(`change:ready`)
            .then(() => {
              assert.isTrue(spark.authorization.ready);
              assert.isTrue(spark.credentials.canAuthorize);
            });
        });
      it('behaves like a map', () => {
        const MadeMap = make(Map);

        const key = {};
        const value = 42;

        const m = new MadeMap();

        assert.isFalse(m.has(key));
        m.set(key, value);
        assert.equal(m.get(key), value);
        assert.isTrue(m.has(key));
        assert.isTrue(m.delete(key));
        assert.isFalse(m.has(key));
      });
Example #4
0
 it(`does not add a trackingid if one has already been added`, () => {
   assert.isFalse(interceptor.requiresTrackingId({
     headers: {
       trackingid: `some id`
     }
   }));
 });
Example #5
0
          .then(() => {
            assert.isTrue(mercury.connected, `Mercury is connected`);
            assert.isFalse(mercury.connecting, `Mercury is not connecting`);

            assert.notCalled(spy);
            mockWebSocket.emit(`message`, {data: statusStartTypingMessage});
          })
Example #6
0
 .then(() => {
   assert.property(call.to, `isInitiator`);
   assert.property(call.to, `personId`);
   assert.property(call.to, `state`);
   assert.isHydraID(call.to.personId);
   assert.isFalse(call.to.isInitiator);
   assert.equal(base64.decode(call.to.personId).split(`/`).pop(), mccoy.id);
 })
Example #7
0
          .then((res) => {
            assert.lengthOf(res, numberOfContents);
            assert.isFalse(res.hasNext());

            for (let i = 0; i < res.length; i += 1) {
              assert.equal(res.items[i].payload, tonsOfContents[i].payload, 'payload data matches');
            }
          }));
      it('works', () => {
        const WeakKeyedMap = make(WeakMap, Map);

        class Base {}
        const key = {};
        const value = 42;

        const b = new Base();
        const w = new WeakKeyedMap();

        assert.isFalse(w.has(b, key));
        w.set(b, key, value);
        assert.equal(w.get(b, key), value);
        assert.isTrue(w.has(b, key));
        assert.isTrue(w.delete(b, key));
        assert.isFalse(w.has(b, key));
      });
      it('works', () => {
        const key1 = {};
        const key2 = 'blarg';
        const value = 42;

        const M = Map;
        const S = Set;

        const Container = make(M, M, S);
        const c = new Container();

        assert.isFalse(c.has(key1, key2, value));
        c.set(key1, key2, value);
        assert.instanceOf(c.get(key1, key2), Set);
        assert.isTrue(c.has(key1, key2, value));
        assert.isTrue(c.delete(key1, key2, value));
        assert.isFalse(c.has(key1, key2, value));
      });
Example #10
0
 it(`updates the membership's moderator status`, () => {
   assert.isFalse(membership.isModerator);
   membership.isModerator = true;
   return spark.memberships.update(membership)
     .then((m) => {
       assert.deepEqual(m, membership);
       assert.isTrue(m.isModerator);
     });
 });
    it(`controls ready status`, () => {
      registerInternalPlugin(`test`, SparkPlugin.extend({
        namespace: `test`,
        session: {
          ready: {
            default: false,
            type: `boolean`
          }
        }
      }), {replace: true});

      const spark = new Spark({
        config: {
          test: {
            reachable: true
          }
        }
      });

      spark.internal.on(`all`, (ev) => console.info(`YYY`, ev, spark.credentials.ready, spark.internal.test.ready, spark.internal.ready, spark.ready));
      spark.on(`all`, (ev) => console.info(`XXX`, ev, spark.credentials.ready, spark.internal.test.ready, spark.internal.ready, spark.ready));

      const changeSpy = sinon.spy();
      spark.on(`change:ready`, changeSpy);

      const readySpy = sinon.spy();
      spark.on(`ready`, readySpy);

      assert.isFalse(spark.internal.test.ready);
      assert.isFalse(spark.internal.ready);
      assert.isFalse(spark.ready);

      return new Promise((resolve) => spark.once(`loaded`, resolve))
        .then(() => {
          assert.isFalse(spark.internal.test.ready);
          assert.isFalse(spark.internal.ready);
          assert.isFalse(spark.ready);
          spark.internal.test.ready = true;
          assert.isTrue(spark.internal.ready);
          assert.isTrue(spark.ready);
          assert.called(changeSpy);
          assert.called(readySpy);
        });
    });
Example #12
0
 .then(() => {
   assert.isTrue(mercury.connected, `Mercury is connected`);
   assert.isFalse(mercury.connecting, `Mercury is not connecting`);
   const promise = mercury.disconnect();
   mockWebSocket.emit(`close`, {
     code: 1000,
     reason: `Done`
   });
   return promise;
 })
Example #13
0
 it(`connects to Mercury`, () => {
   const promise = mercury.connect();
   assert.isFalse(mercury.connected, `Mercury is not connected`);
   assert.isTrue(mercury.connecting, `Mercury is connecting`);
   mockWebSocket.open();
   return promise
     .then(() => {
       assert.isTrue(mercury.connected, `Mercury is connected`);
       assert.isFalse(mercury.connecting, `Mercury is not connecting`);
     });
 });
Example #14
0
      it(`sets #isAuthenticating`, () => {
        const spark = makeSpark(undefined, undefined, {
          credentials: {
            clientType: `confidential`
          }
        });

        assert.isFalse(spark.authorization.isAuthenticating);
        const p = spark.authorization.initiateLogin();
        assert.isTrue(spark.authorization.isAuthenticating);
        return p.then(() => assert.isFalse(spark.authorization.isAuthenticating));
      });
Example #15
0
    beforeEach(() => {
      spark = new MockSpark({
        children: {
          device: Device
        },
        config: cloneDeep(config)
      });

      device = spark.internal.device;

      assert.isFalse(spark.internal.device.config.ephemeral);
      assert.equal(spark.internal.device.config.ephemeralDeviceTTL, config.device.ephemeralDeviceTTL);
    });
Example #16
0
 .then((users) => {
   user1 = users[0];
   user2 = users[1];
   user3 = users[2];
   spark = new CiscoSpark({
     credentials: {
       supertoken: user1.token
     }
   });
   assert.isDefined(spark.credentials.supertoken);
   assert.isTrue(spark.canAuthorize);
   assert.isFalse(spark.internal.user.hasPassword);
   return spark.internal.device.register();
 }));
    it(`grants plugins access to their namepace config`, () => {
      registerInternalPlugin(`test`, SparkPlugin.extend({
        namespace: `test`
      }), {replace: true});

      const spark = new Spark({
        config: {
          test: {
            reachable: true
          }
        }
      });

      assert.isTrue(spark.internal.test.config.reachable);
      spark.config.test.reachable = false;
      assert.isFalse(spark.internal.test.config.reachable);
    });
Example #18
0
            process.nextTick(() => {
              assert.isTrue(mercury.connecting, `Mercury is still connecting`);
              assert.isFalse(mercury.connected, `Mercury has not yet connected`);
              assert.notCalled(onlineSpy, `Mercury has not yet fired the online event`);
              mockWebSocket.emit(`message`, {
                data: JSON.stringify({
                  data: {
                    eventType: `mercury.buffer_state`
                  }
                })
              });

              promiseTick(1)
                .then(() => {
                  assert.calledOnce(bufferStateSpy);
                  done();
                })
                .catch(done);

            });
Example #19
0
          it(`sets ready`, () => {

            const spark = new MockSpark({
              children: {
                credentials: Credentials
              },
              getWindow() {
                return {
                  location: {
                    href: `http://example.com/#access_token=AT&expires_in=3600&token_type=Bearer`
                  }
                };
              }
            });

            spark.authorization = new Authorization({parse: false}, {parent: spark});

            assert.isTrue(spark.authorization.ready);
            assert.isFalse(spark.credentials.canAuthorize);
          });
Example #20
0
 .then(() => assert.isFalse(call.sendingVideo))
Example #21
0
 .then(() => {
   assert.isFalse(kirk.spark.phone.registered);
   kirk.spark.phone.register();
   return kirk.spark.phone.when(`call:incoming`)
     .then(() => assert.isTrue(kirk.spark.phone.registered, `By the time spark.phone can emit call:incoming, spark.phone.registered must be true`));
 });
Example #22
0
 .then(() => assert.isFalse(call.receivingAudio))
 .then((res) => assert.isFalse(res && !loggerWarned)));
Example #24
0
    it(`indicates whether or not the desired log should be printed at the current log level`, () => {
      /* eslint max-statements: [0] */
      spark.logger.config.level = `trace`;
      assert.isTrue(spark.logger.shouldPrint(`error`), `it prints \`error\` logs when the level is \`trace\``);
      assert.isTrue(spark.logger.shouldPrint(`warn`), `it prints \`warn\` logs when the level is \`trace\``);
      assert.isTrue(spark.logger.shouldPrint(`log`), `it prints \`log\` logs when the level is \`trace\``);
      assert.isTrue(spark.logger.shouldPrint(`info`), `it prints \`info\` logs when the level is \`trace\``);
      assert.isTrue(spark.logger.shouldPrint(`debug`), `it prints \`debug\` logs when the level is \`trace\``);
      assert.isTrue(spark.logger.shouldPrint(`trace`), `it prints \`trace\` logs when the level is \`trace\``);

      spark.logger.config.level = `debug`;
      assert.isTrue(spark.logger.shouldPrint(`error`), `it prints \`error\` logs when the level is \`debug\``);
      assert.isTrue(spark.logger.shouldPrint(`warn`), `it prints \`warn\` logs when the level is \`debug\``);
      assert.isTrue(spark.logger.shouldPrint(`log`), `it prints \`log\` logs when the level is \`debug\``);
      assert.isTrue(spark.logger.shouldPrint(`info`), `it prints \`info\` logs when the level is \`debug\``);
      assert.isTrue(spark.logger.shouldPrint(`debug`), `it prints \`debug\` logs when the level is \`debug\``);
      assert.isFalse(spark.logger.shouldPrint(`trace`), `it does not print \`trace\` logs when the level is \`debug\``);

      spark.logger.config.level = `info`;
      assert.isTrue(spark.logger.shouldPrint(`error`), `it prints \`error\` logs when the level is \`info\``);
      assert.isTrue(spark.logger.shouldPrint(`warn`), `it prints \`warn\` logs when the level is \`info\``);
      assert.isTrue(spark.logger.shouldPrint(`log`), `it prints \`log\` logs when the level is \`info\``);
      assert.isTrue(spark.logger.shouldPrint(`info`), `it prints \`info\` logs when the level is \`info\``);
      assert.isFalse(spark.logger.shouldPrint(`debug`), `it does not print \`debug\` logs when the level is \`info\``);
      assert.isFalse(spark.logger.shouldPrint(`trace`), `it does not print \`trace\` logs when the level is \`info\``);

      spark.logger.config.level = `log`;
      assert.isTrue(spark.logger.shouldPrint(`error`), `it prints \`error\` logs when the level is \`log\``);
      assert.isTrue(spark.logger.shouldPrint(`warn`), `it prints \`warn\` logs when the level is \`log\``);
      assert.isTrue(spark.logger.shouldPrint(`log`), `it prints \`log\` logs when the level is \`log\``);
      assert.isFalse(spark.logger.shouldPrint(`info`), `it does not print \`info\` logs when the level is \`log\``);
      assert.isFalse(spark.logger.shouldPrint(`debug`), `it does not print \`debug\` logs when the level is \`log\``);
      assert.isFalse(spark.logger.shouldPrint(`trace`), `it does not print \`trace\` logs when the level is \`log\``);

      spark.logger.config.level = `warn`;
      assert.isTrue(spark.logger.shouldPrint(`error`), `it prints \`error\` logs when the level is \`warn\``);
      assert.isTrue(spark.logger.shouldPrint(`warn`), `it prints \`warn\` logs when the level is \`warn\``);
      assert.isFalse(spark.logger.shouldPrint(`log`), `it does not print \`log\` logs when the level is \`warn\``);
      assert.isFalse(spark.logger.shouldPrint(`info`), `it does not print \`info\` logs when the level is \`warn\``);
      assert.isFalse(spark.logger.shouldPrint(`debug`), `it does not print \`debug\` logs when the level is \`warn\``);
      assert.isFalse(spark.logger.shouldPrint(`trace`), `it does not print \`trace\` logs when the level is \`warn\``);

      spark.logger.config.level = `error`;
      assert.isTrue(spark.logger.shouldPrint(`error`), `it prints \`error\` logs when the level is \`error\``);
      assert.isFalse(spark.logger.shouldPrint(`warn`), `it does not print \`warn\` logs when the level \`error\` is `);
      assert.isFalse(spark.logger.shouldPrint(`log`), `it does not print \`log\` logs when the level is \`error\``);
      assert.isFalse(spark.logger.shouldPrint(`info`), `it does not print \`info\` logs when the level is \`error\``);
      assert.isFalse(spark.logger.shouldPrint(`debug`), `it does not print \`debug\` logs when the level is \`error\``);
      assert.isFalse(spark.logger.shouldPrint(`trace`), `it does not print \`trace\` logs when the level is \`error\``);

      spark.logger.config.level = `silent`;
      assert.isFalse(spark.logger.shouldPrint(`error`), `it does not print \`error\` logs when the level is \`silent\``);
      assert.isFalse(spark.logger.shouldPrint(`warn`), `it does not print \`warn\` logs when the level is \`silent\``);
      assert.isFalse(spark.logger.shouldPrint(`log`), `it does not print \`log\` logs when the level is \`silent\``);
      assert.isFalse(spark.logger.shouldPrint(`info`), `it does not print \`info\` logs when the level is \`silent\``);
      assert.isFalse(spark.logger.shouldPrint(`debug`), `it does not print \`debug\` logs when the level is \`silent\``);
      assert.isFalse(spark.logger.shouldPrint(`trace`), `it does not print \`trace\` logs when the level is \`silent\``);
    });
Example #25
0
 .then(() => assert.isFalse(call.receivingVideo))
 .then(() => assert.isFalse(call.sendingVideo, `The call is not sending video`))
 .then(() => assert.isFalse(call.sendingAudio, `The call is not sending audio`))
 .then((membership) => assert.isFalse(membership.isModerator)));
Example #29
0
 it(`sets ready`, () => {
   const spark = makeSpark(`http://example.com`);
   assert.isTrue(spark.authorization.ready);
   assert.isFalse(spark.credentials.canAuthorize);
 });
Example #30
0
 return p.then(() => assert.isFalse(spark.authorization.isAuthenticating));