Example #1
0
    test("fiberConnWrapper", ()=>{
      stub(util, 'Fiber').returns({run: v.run = stub()});

      koru.fiberConnWrapper((conn, data)=>{
        v.thread = util.merge({This: conn, data: data}, util.thread);
      }, v.conn = {userId: 'u123', db: v.mydb = {id: "mydb"}}, v.data = [1, 2]);
      assert.called(v.run);
      util.Fiber.args(0, 0)();
      assert(v.thread);

      assert.equals(v.thread.userId, "u123");
      assert.same(v.thread.db, v.mydb);
      assert.same(v.thread.connection, v.conn);
      assert.same(v.thread.This, v.conn);
      assert.same(v.thread.data, v.data);

      util.Fiber.reset();
      stub(koru, 'error');
      koru.fiberConnWrapper(()=>{throw new Error("Foo")}, v.conn, v.data);
      util.Fiber.args(0, 0)();
      assert.calledWith(koru.error, TH.match(/Foo/));

      /** can't restart fiber **/
      koru.error.reset();
      util.Fiber.args(0, 0)();
      refute.called(koru.error);
    });
Example #2
0
    test("runFiber", ()=>{
      stub(util, 'Fiber').returns({run: v.run = stub()});

      koru.runFiber(() => {v.success = true});
      assert.called(v.run);
      util.Fiber.args(0, 0)();
      assert(v.success);

      util.Fiber.reset();
      stub(koru, 'error');
      koru.runFiber(()=>{throw new Error("Foo")});
      util.Fiber.args(0, 0)();
      assert.calledWith(koru.error, TH.match(/Foo/));

      /** can't restart fiber **/
      koru.error.reset();
      util.Fiber.args(0, 0)();
      refute.called(koru.error);
    });