class TestStateInsert(unittest.TestCase): object = None def test_success(self): self.object = InsertFailSpecimen() self.object.state_from_json({'foo': {'fail': False}}) self.assertEqual(['foo'], self.object.state().keys()) def test_failure(self): self.object = InsertFailSpecimen() self.object.state_from_json({'foo': {'fail': True}}) # throws but exception is caught self.assertEqual([], self.object.state().keys()) def test_undefined(self): """no state_insert method defined""" self.object = CollectionState(CellDict(dynamic=True)) self.object.state_from_json({'foo': {'fail': True}}) # throws but exception is caught self.assertEqual([], self.object.state().keys())
class TestStateInsert(unittest.TestCase): object = None def test_success(self): self.object = InsertFailSpecimen() self.object.state_from_json({'foo': {'fail': False}}) self.assertEqual(['foo'], self.object.state().keys()) def test_failure(self): self.object = InsertFailSpecimen() self.object.state_from_json({'foo': {'fail': True}}) # throws but exception is caught self.assertEqual([], self.object.state().keys()) def test_undefined(self): '''no state_insert method defined''' self.object = CollectionState({}, dynamic=True) self.object.state_from_json({'foo': {'fail': True}}) # throws but exception is caught self.assertEqual([], self.object.state().keys())
class TestStateInsert(unittest.TestCase): object = None def test_success(self): self.object = InsertFailSpecimen() self.object.state_from_json({'foo': {'fail': False}}) self.assertEqual(['foo'], list(self.object.state().keys())) def test_failure(self): self.object = InsertFailSpecimen() self.object.state_from_json({'foo': {'fail': True}}) # throws but exception is caught -- TODO: Test logging self.assertEqual([], list(self.object.state().keys())) self.flushLoggedErrors(ValueError) def test_undefined(self): """no state_insert method defined""" self.object = CollectionState(CellDict(dynamic=True)) self.object.state_from_json({'foo': {'fail': True}}) # throws but exception is caught -- TODO: Test logging self.assertEqual([], list(self.object.state().keys())) self.flushLoggedErrors(ValueError)
class TestCollectionStream(StateStreamTestCase): def setUp(self): self.d = {'a': ExportedState()} self.object = CollectionState(self.d, dynamic=True) StateStreamTestCase.setUp(self) def test_delete(self): self.assertEqual(self.getUpdates(), [ ['register_block', 1, 'urlroot'], ['register_cell', 2, 'urlroot/a', self.object.state()['a'].description()], ['register_block', 3, 'urlroot/a'], ['value', 3, {}], ['value', 2, 3], ['value', 1, {'a': 2}], ['value', 0, 1], ]) self.assertEqual(self.getUpdates(), []) del self.d['a'] self.assertEqual(self.getUpdates(), [ ['value', 1, {}], ['delete', 2], ['delete', 3], ])