class QueryExecutorTestCase(unittest.TestCase):
+ def test_default_interrupter(self):
+ class MySink(bt2._UserSinkComponent):
+ def _user_consume(self):
+ pass
+
+ query_exec = bt2.QueryExecutor(MySink, 'obj')
+ interrupter = query_exec.default_interrupter
+ self.assertIs(type(interrupter), bt2.Interrupter)
+
def test_query(self):
class MySink(bt2._UserSinkComponent):
def _user_consume(self):
}
res = bt2.QueryExecutor(MySink, 'obj', params).query()
+ self.assertIs(type(res), bt2._MapValueConst)
+ self.assertIs(type(res['bt2']), bt2._StringValueConst)
self.assertEqual(query_params, params)
self.assertEqual(res, {'null': None, 'bt2': 'BT2'})
del query_params
query_params = params
query_params = 23
- res = bt2.QueryExecutor(MySink, 'obj', None).query()
+ bt2.QueryExecutor(MySink, 'obj', None).query()
self.assertIs(query_params, None)
del query_params
query_params = params
query_params = 23
- res = bt2.QueryExecutor(MySink, 'obj').query()
+ bt2.QueryExecutor(MySink, 'obj').query()
self.assertIs(query_params, None)
del query_params
query_method_obj = None
method_obj = object()
- res = bt2.QueryExecutor(MySink, 'obj', method_obj=method_obj).query()
+ bt2.QueryExecutor(MySink, 'obj', method_obj=method_obj).query()
self.assertIs(query_method_obj, method_obj)
del query_method_obj
query_method_obj = method_obj
query_method_obj = object()
- res = bt2.QueryExecutor(MySink, 'obj').query()
+ bt2.QueryExecutor(MySink, 'obj').query()
self.assertIsNone(query_method_obj)
del query_method_obj
raise ValueError
with self.assertRaises(bt2._Error) as ctx:
- res = bt2.QueryExecutor(MySink, 'obj', [17, 23]).query()
+ bt2.QueryExecutor(MySink, 'obj', [17, 23]).query()
exc = ctx.exception
- self.assertEqual(len(exc), 2)
+ self.assertEqual(len(exc), 3)
cause = exc[0]
self.assertIsInstance(cause, bt2._ComponentClassErrorCause)
self.assertIn('raise ValueError', cause.message)
raise bt2.UnknownObject
with self.assertRaises(bt2.UnknownObject):
- res = bt2.QueryExecutor(MySink, 'obj', [17, 23]).query()
+ bt2.QueryExecutor(MySink, 'obj', [17, 23]).query()
def test_query_logging_level_invalid_type(self):
class MySink(bt2._UserSinkComponent):
raise bt2.TryAgain
with self.assertRaises(bt2.TryAgain):
- res = bt2.QueryExecutor(MySink, 'obj', [17, 23]).query()
+ bt2.QueryExecutor(MySink, 'obj', [17, 23]).query()
def test_query_add_interrupter(self):
class MySink(bt2._UserSinkComponent):
@classmethod
def _user_query(cls, priv_query_exec, obj, params, method_obj):
test_self.assertFalse(query_exec.is_interrupted)
- query_exec.interrupt()
+ query_exec.default_interrupter.set()
test_self.assertTrue(query_exec.is_interrupted)
test_self = self
test_priv_query_exec.logging_level
del test_priv_query_exec
+
+
+if __name__ == '__main__':
+ unittest.main()