Esempio n. 1
0
 def runTest(self):
     
     sys.stdout.write('\n')
     
     # Load an event system
     events = EventManager() #stddebug=lambda n: sys.stdout.write('{0}\n'.format(n)))
     
     # Load rulesets
     rulesets = RulesetBattery() #stddebug=lambda n: sys.stdout.write('{0}\n'.format(n)))
     rulesets.load_objects(events, rules)
     
     self.assertIsNotNone(events.rules.get('example', None),
         'Failed to load test ruleset')
     
     # Load plugins!
     plugins = ReactorBattery() #stddebug=lambda n: sys.stdout.write('{0}\n'.format(n)))
     plugins.load_objects(events, reactors, 'Plugin')
     
     self.assertIsNotNone(events.map.get('example', None),
         'Event bindings failed')
     
     events.rules['example'].reset_called()
     
     # Fire an event!
     events.trigger(Event('example'))
     
     # Test Results!
     self.assertTrue(events.rules['example'].called,
         'Example ruleset not called properly')
     
     self.assertTrue(plugins.loaded['Example'].full_test,
         'Example reactor not called properly')
Esempio n. 2
0
    def runTest(self):

        sys.stdout.write('\n')

        # Load an event system
        events = EventManager(
        )  #stddebug=lambda n: sys.stdout.write('{0}\n'.format(n)))

        # Load rulesets
        rulesets = RulesetBattery(
        )  #stddebug=lambda n: sys.stdout.write('{0}\n'.format(n)))
        rulesets.load_objects(events, rules)

        self.assertIsNotNone(events.rules.get('example', None),
                             'Failed to load test ruleset')

        # Load plugins!
        plugins = ReactorBattery(
        )  #stddebug=lambda n: sys.stdout.write('{0}\n'.format(n)))
        plugins.load_objects(events, reactors, 'Plugin')

        self.assertIsNotNone(events.map.get('example', None),
                             'Event bindings failed')

        events.rules['example'].reset_called()

        # Fire an event!
        events.trigger(Event('example'))

        # Test Results!
        self.assertTrue(events.rules['example'].called,
                        'Example ruleset not called properly')

        self.assertTrue(plugins.loaded['Example'].full_test,
                        'Example reactor not called properly')
Esempio n. 3
0
    def test_conditional_event(self):
        mgr = EventManager()

        self.handled = False

        def handler(event):
            self.handled = True

        binding = mgr.bind(handler, 'basic', condition=1)
        self.assertEqual(
            binding.__class__, Binding,
            'EventManager().bind() returned something other than an instance of Binding'
        )

        mgr.trigger(Event('basic'))
        self.assertFalse(
            self.handled,
            'Conditional event handler called for the wrong event')

        mgr.trigger(Event('basic', [('condition', 0)]))
        self.assertFalse(
            self.handled,
            'Conditional event handler called for the wrong event')

        mgr.trigger(Event('basic', [('condition', 1)]))
        self.assertTrue(self.handled, 'Conditional event handler not called')
Esempio n. 4
0
class TestRulesetLoading(unittest.TestCase):
    
    def setUp(self):
        self.events = EventManager()
        self.events.define_rules('example', example.Ruleset)
    
    def test_actually_loaded(self):
        # Test that the ruleset was properly loaded in the setup bit.
        
        self.assertTrue(len(self.events.rules) > 1,
            'No additional rulesets loaded. Further tests will fail')
        
        rules = self.events.rules.get('example', None)
        
        self.assertIsNotNone(rules,
            'Example ruleset not loaded properly. Further tests will fail')
Esempio n. 5
0
 def test_basic_decorator_event(self):
     mgr = EventManager()
     handles = mgr.handler
     
     self.handled = False
     
     @handles('basic')
     def handler(event):
         self.handled = True
     
     self.assertTrue(hasattr(handler, 'binding'),
         'Decorator did not apply a binding to the handler')
     
     self.assertEqual(handler.binding.__class__, Binding,
         'Decorator applied something other than an instance of Binding')
     
     mgr.trigger(Event('something'))
     self.assertFalse(self.handled, 'Decorated event handler called for the wrong event')
     
     mgr.trigger(Event('basic'))
     self.assertTrue(self.handled, 'Decorated event handler not called')
Esempio n. 6
0
class TestRuleset(unittest.TestCase):
    
    def setUp(self):
        self.events = EventManager()
        self.events.define_rules('example', example.Ruleset)
        self.rules = self.events.rules.get('example', None)
        self.reactor = Example.Plugin(self.events)
    
    def test_bind(self):
        self.assertTrue(self.rules.called,
            'Either the ruleset was not called or the reactor failed')
    
    def test_unbind(self):
        self.rules.reset_called()
        self.reactor.unbind(self.reactor.rule_test, 'example')
        self.assertTrue(self.rules.called,
            'Unbind called on the wrong object')
    
    def test_run(self):
        self.rules.reset_called()
        self.events.trigger(Event('example'))
        self.assertTrue(self.rules.called,
            'Event runner called on the wrong object')
Esempio n. 7
0
 def test_conditional_event(self):
     mgr = EventManager()
     
     self.handled = False
     
     def handler(event):
         self.handled = True
     
     binding = mgr.bind(handler, 'basic', condition=1)
     self.assertEqual(binding.__class__, Binding,
         'EventManager().bind() returned something other than an instance of Binding')
     
     mgr.trigger(Event('basic'))
     self.assertFalse(self.handled, 'Conditional event handler called for the wrong event')
     
     mgr.trigger(Event('basic', [('condition', 0)]))
     self.assertFalse(self.handled, 'Conditional event handler called for the wrong event')
     
     mgr.trigger(Event('basic', [('condition', 1)]))
     self.assertTrue(self.handled, 'Conditional event handler not called')
Esempio n. 8
0
    def test_basic_decorator_event(self):
        mgr = EventManager()
        handles = mgr.handler

        self.handled = False

        @handles('basic')
        def handler(event):
            self.handled = True

        self.assertTrue(hasattr(handler, 'binding'),
                        'Decorator did not apply a binding to the handler')

        self.assertEqual(
            handler.binding.__class__, Binding,
            'Decorator applied something other than an instance of Binding')

        mgr.trigger(Event('something'))
        self.assertFalse(self.handled,
                         'Decorated event handler called for the wrong event')

        mgr.trigger(Event('basic'))
        self.assertTrue(self.handled, 'Decorated event handler not called')
Esempio n. 9
0
 def setUp(self):
     self.events = EventManager()
     self.reactor = Example.Plugin(self.events)
Esempio n. 10
0
class main:
    def __init__(self):
        self.events = EventManager()
        self.load()
        self.events.trigger(Event('reload'))
    
    def load(self):
        self.reactors = []
        self.reactors.append(example(self.events))
        self.reactors.append(example2(self.events))
        self.events.bind('main app', self.reload, 'reload')
        self.events.trigger(Event('ready'))
    
    def reload(self, event=None, *args):
        self.events.trigger(Event('reloading'))
        self.events.clear_bindings()
        self.reactors = []
        self.load()
        self.events.trigger(Event('reloaded'))
Esempio n. 11
0
 def setUp(self):
     self.events = EventManager()
     self.events.define_rules('example', example.Ruleset)
     self.rules = self.events.rules.get('example', None)
     self.reactor = Example.Plugin(self.events)
Esempio n. 12
0
class TestReactor(unittest.TestCase):
    def setUp(self):
        self.events = EventManager()
        self.reactor = Example.Plugin(self.events)

    def test_basic_event(self):
        # Test a basic event

        # This should not call evt_handler
        self.events.trigger(Event('something'))
        self.assertFalse(self.reactor.handled,
                         'Basic event handler called for the wrong event')

        #This should do the trick
        self.events.trigger(Event('basic'))
        self.assertTrue(self.reactor.handled, 'Basic event handler not called')

        self.reactor.reset()

    def test_conditional_event(self):
        # Test a conditional event

        # Should be false.
        self.events.trigger(Event('conditional', [('condition', 0)]))
        self.assertFalse(
            self.reactor.handled,
            'Conditional event handler called for the wrong event')

        # Shoud be true
        self.events.trigger(Event('conditional', [('condition', 1)]))
        self.assertTrue(self.reactor.handled,
                        'Conditional event handler not called')

        self.reactor.reset()

    def test_decorated_event(self):
        # Test a decorated event

        # Should be false.
        self.events.trigger(Event('something'))
        self.assertFalse(self.reactor.handled,
                         'Event handler called for the wrong event')

        # Shoud be true
        self.events.trigger(Event('decorated'))
        self.assertTrue(self.reactor.handled,
                        'Decorated event handler not called')

        self.reactor.reset()
Esempio n. 13
0
 def setUp(self):
     self.events = EventManager()
     self.events.define_rules('example', example.Ruleset)
Esempio n. 14
0
class TestReactor(unittest.TestCase):
    
    def setUp(self):
        self.events = EventManager()
        self.reactor = Example.Plugin(self.events)
    
    def test_basic_event(self):
        # Test a basic event
        
        # This should not call evt_handler
        self.events.trigger(Event('something'))
        self.assertFalse(self.reactor.handled,
            'Basic event handler called for the wrong event')
        
        #This should do the trick
        self.events.trigger(Event('basic'))
        self.assertTrue(self.reactor.handled, 'Basic event handler not called')
        
        self.reactor.reset()
    
    def test_conditional_event(self):
        # Test a conditional event
        
        # Should be false.
        self.events.trigger(Event('conditional', [('condition', 0)]))
        self.assertFalse(self.reactor.handled,
            'Conditional event handler called for the wrong event')
        
        # Shoud be true
        self.events.trigger(Event('conditional', [('condition', 1)]))
        self.assertTrue(self.reactor.handled, 'Conditional event handler not called')
        
        self.reactor.reset()
    
    def test_decorated_event(self):
        # Test a decorated event
        
        # Should be false.
        self.events.trigger(Event('something'))
        self.assertFalse(self.reactor.handled,
            'Event handler called for the wrong event')
        
        # Shoud be true
        self.events.trigger(Event('decorated'))
        self.assertTrue(self.reactor.handled, 'Decorated event handler not called')
        
        self.reactor.reset()
Esempio n. 15
0
from reflex.data import Event
from reflex.control import EventManager

events = EventManager()

def handler(event, *args):
    print("Hello, world!")

events.bind(handler, 'example')

events.trigger(Event('example'))
# prints "Hello, world!"
Esempio n. 16
0
 def setUp(self):
     self.events = EventManager()
Esempio n. 17
0
from reflex.data import Event
from reflex.control import EventManager
from reflex.interfaces import Reactor


class example(Reactor):

    name = 'example'

    def init(self):
        self.bind(self.event_handler, 'basic')

    def event_handler(self, event, *args):
        print("Hello, world!")


events = EventManager()
obj = example(events)
events.trigger(Event('basic'))
# Prints "Hello, world!"
Esempio n. 18
0
from reflex.data import Event
from reflex.control import EventManager

events = EventManager()


def handler(event, *args):
    print("Hello, world!")


events.bind(handler, 'example')

events.trigger(Event('example'))
# prints "Hello, world!"
Esempio n. 19
0
        args = msg.split(' ')
        # Create an event object!
        cmd = Event('command', [('cmd', args[0]), ('user', event.user),
                                ('ns', event.ns), ('message', msg),
                                ('args', args), ('raw', event.raw)])
        # Trigger the event!
        self.trigger(cmd, dAmn)

    # Below are our command handlers!

    def c_about(self, cmd, dAmn):
        dAmn.say(cmd.ns, '{0}: Reflex bot by photofroggy.'.format(cmd.user))

    def c_quit(self, cmd, dAmn):
        dAmn.say(cmd.ns, '{0}: Closing down!'.format(cmd.user))
        dAmn.flag.quitting = True
        dAmn.disconnect()


if __name__ == '__main__':
    # So yeah, create an event manager.
    events = EventManager()
    # How about a client?
    dAmn = MyClient('username', 'password', 'admin', '!', ['chat:Botdom'],
                    events)
    # Start the client! This will connect it to dAmn!
    # dAmn Viper essentially runs its own main loop.
    dAmn.start()

# EOF
Esempio n. 20
0
class main:
    def __init__(self):
        self.events = EventManager()
        self.load()
        self.events.trigger(Event('reload'))

    def load(self):
        self.reactors = []
        self.reactors.append(example(self.events))
        self.reactors.append(example2(self.events))
        self.events.bind('main app', self.reload, 'reload')
        self.events.trigger(Event('ready'))

    def reload(self, event=None, *args):
        self.events.trigger(Event('reloading'))
        self.events.clear_bindings()
        self.reactors = []
        self.load()
        self.events.trigger(Event('reloaded'))
Esempio n. 21
0
from reflex.data import Event
from reflex.control import EventManager
from reflex.interfaces import Reactor

class example(Reactor):
    
    name = 'example'
    
    def init(self):
        self.bind(self.handler, 'basic', source='main')
        self.bind(self.use_args, 'args')
    
    def handler(self, event, *args):
        print("Hello, world!")
    
    def use_args(self, event, *args):
        print("Event triggered by {0} since because {1}.".format(event.source, args[0]))
    
events = EventManager()
obj = example(events)

# The following event trigger is not handled by anything.
events.trigger(Event('basic'))
# The next event trigger is handled by the handler method.
events.trigger(Event('basic', [('source', 'main')]))
# This one is yes.
events.trigger(Event('args', [('source', 'main')]), 'pickles')
Esempio n. 22
0
 def __init__(self):
     self.events = EventManager()
     self.load()
     self.events.trigger(Event('reload'))
Esempio n. 23
0
 def setUp(self):
     self.events = EventManager()
     self.reactor = Example.Plugin(self.events)
Esempio n. 24
0
from reflex.data import Event
from reflex.control import EventManager
from reflex.interfaces import Reactor

class example(Reactor):
    
    name = 'example'
    
    def init(self):
        self.bind(self.event_handler, 'basic')
    
    def event_handler(self, event, *args):
        print("Hello, world!")
    
events = EventManager()
obj = example(events)
events.trigger(Event('basic'))
# Prints "Hello, world!"
Esempio n. 25
0
 def __init__(self):
     self.events = EventManager()
     self.load()
     self.events.trigger(Event('reload'))