def parse(user_id, sentence): """ Parse a command sentence for the provided user_id. """ with get_exchange(user_id) as x: caller = x.get_object(user_id) log.info('%s: %s' % (caller, sentence)) parser.parse(caller, sentence) return {'response': True}
def test_parser_rollback(self): created = False user_id = 2 # Wizard ID try: with exchange.ObjectExchange(self.pool) as x: caller = x.get_object(user_id) parser.parse(caller, '@exec create_object("Test Object")') if x.get_object("Test Object"): created = True parser.parse(caller, "@exec nosuchobject()") except: pass self.failUnless(created, "'Test Object' not created.") self.failUnlessRaises(errors.NoSuchObjectError, x.get_object, "Test Object")
def test_parser_rollback(self): created = False user_id = 2 # Wizard ID try: with exchange.ObjectExchange(connection) as x: caller = x.get_object(user_id) parser.parse(caller, 'exec create_object("Test Object")') if (x.get_object('Test Object')): created = True parser.parse(caller, 'exec nosuchobject()') except: pass self.assertTrue(created, "'Test Object' not created.") self.assertRaises(errors.NoSuchObjectError, x.get_object, "Test Object")