def test_no_nodes(self): migrator = EntityMigrator(self.ck_api, self.rs_api, auto=True, logger=mock.Mock()) entities = migrator.migrate() self.assertEquals(entities, []) self.assertEquals(self.rs_api.update_entity.call_count, 0) self.assertEquals(self.rs_api.create_entity.call_count, 0)
def test_new(self): self.ck_api.list_nodes.return_value = [MockData.get_fake_node()] migrator = EntityMigrator(self.ck_api, self.rs_api, auto=True, logger=mock.Mock()) entities = migrator.migrate() self.assertEquals(len(entities), 1) self.assertEquals(self.rs_api.update_entity.call_count, 0) self.assertEquals(self.rs_api.create_entity.call_count, 1)
def test_mixed(self): # Should be unchanged unchanged_node = MockData.get_fake_node() unchanged_entity = MockData.get_fake_entity() # should get created new_node = MockData.get_fake_node('NEWID') new_node.ip_addresses = {"public0_v4": "totally_different_ip"} # should get updated updated_node = MockData.get_fake_node('NEWID2') updated_node.ip_addresses = {"public0_v4": "updated"} updated_entity = MockData.get_fake_entity() updated_entity.ip_addresses = [("public0_v4", "updated")] self.ck_api.list_nodes.return_value = [unchanged_node, updated_node, new_node] self.rs_api.list_entities.return_value = [unchanged_entity, updated_entity] migrator = EntityMigrator(self.ck_api, self.rs_api, auto=True, logger=mock.Mock()) entities = migrator.migrate() self.assertEquals(len(entities), 3) self.assertEquals(self.rs_api.update_entity.call_count, 1) self.assertEquals(self.rs_api.create_entity.call_count, 1)