def test_find_doesnt_return_object_made_with_new(self): bs = self.create_backing_store({}) manager = BackedObjectManager(bs) manager.initialize() war_machine = manager.new("War Machine") war_machine.set_backed_value("identity", "James Rhodes") self.assertIsNone(manager.find("War Machine"))
def test_find_returns_same_object_between_calls(self): bs = self.create_backing_store({ "Iron Man": {} }) manager = BackedObjectManager(bs) manager.initialize() first_result = manager.find("Iron Man") self.assertIsNotNone(first_result) second_result = manager.find("Iron Man") self.assertIsNotNone(second_result) self.assertIs(first_result, second_result)
def test_all(self): bs = self.create_backing_store({ "Iron Man": {}, "War Machine": {}, }) manager = BackedObjectManager(bs) manager.initialize() all_objects = manager.all() self.assertIs(len(all_objects), 2) obj1 = all_objects[0] obj2 = all_objects[1] self.assertFalse(obj1.identifier == obj2.identifier) self.assertIn(obj1.identifier, ["Iron Man", "War Machine"]) self.assertIn(obj2.identifier, ["Iron Man", "War Machine"])
def test_no_objects_from_store_before_initialize(self): bs = self.create_backing_store({ "Iron Man": { "identity": "Tony Stark", }, "War Machine": { "identity": "James Rhodes", "alias": "Rhodey", }, }) manager = BackedObjectManager(bs) iron_man = manager.find("Iron Man") war_machine = manager.find("War Machine") self.assertIsNone(iron_man) self.assertIsNone(war_machine)
def test_initialize_loads_from_store(self): bs = self.create_backing_store({ "Iron Man": { "identity": "Tony Stark", }, "War Machine": { "identity": "James Rhodes", "alias": "Rhodey", }, }) manager = BackedObjectManager(bs) manager.initialize() iron_man = manager.find("Iron Man") war_machine = manager.find("War Machine") self.assertIsNotNone(iron_man) self.assertEquals(iron_man.identifier, "Iron Man") self.assertEquals(iron_man.backed_value("identity"), "Tony Stark") self.assertIsNotNone(war_machine) self.assertEquals(war_machine.identifier, "War Machine") self.assertEquals(war_machine.backed_value("identity"), "James Rhodes") self.assertEquals(war_machine.backed_value("alias"), "Rhodey")
def setUp(self): self.tempdir = tempfile.mkdtemp() self.tempfile = os.path.join(self.tempdir, "test.ini") self.backing_store = ConfigFileBackingStore(self.tempfile) self.manager = BackedObjectManager(self.backing_store, BackedObjectBackedObjectAdapter())
class BackedObjectManagerTests(unittest.TestCase): def setUp(self): self.tempdir = tempfile.mkdtemp() self.tempfile = os.path.join(self.tempdir, "test.ini") self.backing_store = ConfigFileBackingStore(self.tempfile) self.manager = BackedObjectManager(self.backing_store, BackedObjectBackedObjectAdapter()) def tearDown(self): shutil.rmtree(self.tempdir) def populate_backing_store(self, data): for ident in data.keys(): self.backing_store.add_identifier(ident) ident_data = data[ident] for key in ident_data.keys(): value = ident_data[key] self.backing_store.set(ident, key, value) self.backing_store.save() def test_reading_data_from_store(self): self.populate_backing_store({ "Iron Man": { "identity": "Tony Stark", }, "War Machine": { "identity": "James Rhodes", "alias": "Rhodey", }, }) iron_man = self.manager.find("Iron Man") war_machine = self.manager.find("War Machine") self.assertIsNotNone(iron_man) self.assertEquals(iron_man.identifier, "Iron Man") self.assertEquals(iron_man.backed_value("identity"), "Tony Stark") self.assertIsNotNone(war_machine) self.assertEquals(war_machine.identifier, "War Machine") self.assertEquals(war_machine.backed_value("identity"), "James Rhodes") self.assertEquals(war_machine.backed_value("alias"), "Rhodey") def test_all(self): self.populate_backing_store({ "Iron Man": {}, "War Machine": {}, }) all_objects = self.manager.all() self.assertIs(len(all_objects), 2) obj1 = all_objects[0] obj2 = all_objects[1] self.assertFalse(obj1.identifier == obj2.identifier) self.assertIn(obj1.identifier, ["Iron Man", "War Machine"]) self.assertIn(obj2.identifier, ["Iron Man", "War Machine"]) def test_find_returns_none_with_invalid_identifier(self): im = self.manager.find("Iron Man") self.assertIsNone(self.manager.find("Iron Man")) def test_find_returns_non_none_with_valid_identifier(self): self.populate_backing_store({"Iron Man": {}}) self.assertIsNotNone(self.manager.find("Iron Man")) def test_find_returns_same_object_between_calls(self): self.populate_backing_store({"Iron Man": {}}) first_result = self.manager.find("Iron Man") self.assertIsNotNone(first_result) second_result = self.manager.find("Iron Man") self.assertIsNotNone(second_result) self.assertIs(first_result, second_result) def test_find_after_set_object_for_identifier_returns_same_object_that_was_set( self): war_machine = BackedObject(self.backing_store, "War Machine") self.manager.set_object_for_identifier(war_machine, "War Machine") self.assertEquals(self.manager.find("War Machine"), war_machine)
def test_find_returns_non_none_with_valid_identifier(self): bs = self.create_backing_store({ "Iron Man": {} }) manager = BackedObjectManager(bs) manager.initialize() self.assertIsNotNone(manager.find("Iron Man"))
def test_find_returns_object_made_with_create(self): bs = self.create_backing_store({}) manager = BackedObjectManager(bs) manager.initialize() war_machine = manager.create("War Machine") self.assertEquals(manager.find("War Machine"), war_machine)
def setUp(self): self.tempdir = tempfile.mkdtemp() self.tempfile = os.path.join(self.tempdir, "test.ini") self.backing_store = ConfigFileBackingStore(self.tempfile) self.adapter = BackedObjectBackedObjectAdapter() self.manager = BackedObjectManager(self.backing_store, self.adapter)
class BackedObjectManagerTests(unittest.TestCase): def setUp(self): self.tempdir = tempfile.mkdtemp() self.tempfile = os.path.join(self.tempdir, "test.ini") self.backing_store = ConfigFileBackingStore(self.tempfile) self.adapter = BackedObjectBackedObjectAdapter() self.manager = BackedObjectManager(self.backing_store, self.adapter) def tearDown(self): shutil.rmtree(self.tempdir) def populate_backing_store(self, data): for ident in data.keys(): self.backing_store.add_identifier(ident) ident_data = data[ident] for key in ident_data.keys(): value = ident_data[key] self.backing_store.set(ident, key, value) self.backing_store.save() def test_reading_data_from_store(self): self.populate_backing_store({ "Iron Man": { "identity": "Tony Stark", }, "War Machine": { "identity": "James Rhodes", "alias": "Rhodey", }, }) iron_man = self.manager.find("Iron Man") war_machine = self.manager.find("War Machine") self.assertIsNotNone(iron_man) self.assertEquals(iron_man.identifier, "Iron Man") self.assertEquals(iron_man.backed_value("identity"), "Tony Stark") self.assertIsNotNone(war_machine) self.assertEquals(war_machine.identifier, "War Machine") self.assertEquals(war_machine.backed_value("identity"), "James Rhodes") self.assertEquals(war_machine.backed_value("alias"), "Rhodey") def test_all(self): self.populate_backing_store({ "Iron Man": {}, "War Machine": {}, }) all_objects = self.manager.all() self.assertIs(len(all_objects), 2) obj1 = all_objects[0] obj2 = all_objects[1] self.assertFalse(obj1.identifier == obj2.identifier) self.assertIn(obj1.identifier, ["Iron Man", "War Machine"]) self.assertIn(obj2.identifier, ["Iron Man", "War Machine"]) def test_find_returns_none_with_invalid_identifier(self): im = self.manager.find("Iron Man") self.assertIsNone(self.manager.find("Iron Man")) def test_find_returns_non_none_with_valid_identifier(self): self.populate_backing_store({"Iron Man": {}}) self.assertIsNotNone(self.manager.find("Iron Man")) def test_find_returns_same_object_between_calls(self): self.populate_backing_store({"Iron Man": {}}) first_result = self.manager.find("Iron Man") self.assertIsNotNone(first_result) second_result = self.manager.find("Iron Man") self.assertIsNotNone(second_result) self.assertIs(first_result, second_result) def test_find_after_set_object_for_identifier_returns_same_object_that_was_set(self): war_machine = BackedObject(self.backing_store, "War Machine") self.manager.set_object_for_identifier(war_machine, "War Machine") self.assertEquals(self.manager.find("War Machine"), war_machine) def test_all_doesnt_include_objects_where_verification_fails(self): self.populate_backing_store({ "Iron Man": {}, "War Machine": {}, "Whiplash": {}, }) self.adapter.verifier = lambda obj: obj.identifier.startswith("W") identifiers = map(lambda obj: obj.identifier, self.manager.all()) self.assertEqual(len(identifiers), 2) self.assertIn("War Machine", identifiers) self.assertIn("Whiplash", identifiers) def test_find_returns_none_for_object_where_verification_fails(self): self.populate_backing_store({"Iron Man": {}}) self.adapter.verifier = lambda obj: False self.assertIsNone(self.manager.find("Iron Man"))