Ejemplo n.º 1
0
class TestContextVars(unittest.TestCase):
    def setUp(self):
        self.bus = VoomBus(raise_errors=True)
        self.context2 = 0

    def do1(self, msg):
        self.msg = msg
        self.context = self.bus.message_context['c']
        with self.bus.using(dict(c=self.context + 1), local=True):
            with self.bus.using(dict(c=self.context + 2), local=True):
                self.bus.publish("hello")
            self.bus.publish("hello")

    def do2(self, msg):
        self.msg2 = msg
        self.context2 += self.bus.message_context['c']

    def test_vars(self):
        msg = 1
        self.bus.subscribe(int, self.do1)
        self.bus.subscribe(str, self.do2)
        with self.bus.using(dict(c=100), local=True):
            self.bus.publish(msg)
        assert self.context == 100
        assert self.context2 == 101 + 102
Ejemplo n.º 2
0
class TestContextVars(unittest.TestCase):
    def setUp(self):
        self.bus = VoomBus(raise_errors=True)
        self.context = 0
        self.context2 = 0

    def do1(self, msg):
        self.msg = msg
        self.context += self.bus.session['c']
        with self.bus.using(dict(c=self.context + 1)):
            with self.bus.using(dict(c=self.context + 2)):
                self.bus.publish("hello")
            self.bus.publish("hello")

    def do2(self, msg):
        self.msg2 = msg
        self.context2 += self.bus.session['c']

    def test_vars_should_add_up(self):
        msg = 1
        self.bus.subscribe(int, self.do1)
        self.bus.subscribe(str, self.do2)
        with self.bus.using(dict(c=100)):
            self.bus.publish(msg)
        assert self.context == 100
        assert self.context2 == 101 + 102

    def test_vars_should_add_up_twice(self):
        msg = 1
        self.bus.subscribe(int, self.do1)
        self.bus.subscribe(str, self.do2)
        with self.bus.using(dict(c=100)):
            self.bus.publish(msg)
            self.bus.publish(msg)
        self.assertEquals(200, self.context)
        self.assertEquals(606, self.context2)
Ejemplo n.º 3
0
import sys, os
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..")) # make this file executable

### BEGIN
from voom.bus import VoomBus
from voom.priorities import BusPriority

bus = VoomBus()
bus.subscribe(int, lambda msg: sys.stdout.write("I see %d\n" % msg))
bus.subscribe(int, lambda msg: sys.stdout.write("squared %d\n" % msg**2), priority=BusPriority.LOW_PRIORITY)
bus.subscribe(str, lambda msg: bus.publish(int(msg[::-1])))
bus.publish(101)
bus.publish("102")