def test_dealloc_already_freed(self): pi = ProvisionedInstance(host="10.10.10.10", port=3306, admin_user="******", admin_password="******") with self.assertRaises(TypeError) as cm: pi.dealloc() exc = cm.exception self.assertEqual("This instance is not allocated", exc.args[0])
def test_alloc_already_allocated(self): pi = ProvisionedInstance(instance=Instance(name="mydb"), host="10.10.10.10", port=3306, admin_user="******", admin_password="******") with self.assertRaises(TypeError) as cm: pi.alloc(Instance(name="yourdb")) exc = cm.exception self.assertEqual("This instance is not available", exc.args[0])
def test_alloc_create_database_failure(self): pi = ProvisionedInstance(host="localhost", admin_user="******", admin_password="") pi.save() self.addCleanup(pi.delete) db_manager = mock.Mock() db_manager.create_database.side_effect = TypeError("blow up") pi._db_manager = db_manager instance = Instance(name="hibria") with self.assertRaises(DatabaseCreationError): pi.alloc(instance) self.assertIsNone(instance.pk)
def test_manager(self): pi = ProvisionedInstance(instance=Instance(name="mydb"), host="10.10.10.10", port=3306, admin_user="******", admin_password="******") with mock.patch("mysqlapi.api.models.DatabaseManager") as dm: pi._manager() dm.assert_called_with(name="mydb", host="10.10.10.10", port=3306, user="******", password="******")
def test_dealloc(self): pi = ProvisionedInstance(host="localhost", admin_user="******", admin_password="") pi.save() self.addCleanup(pi.delete) db_manager = mock.Mock() pi._db_manager = db_manager instance = Instance(name="hibria") pi.alloc(instance) self.addCleanup(instance.delete) pi.dealloc() self.assertIsNone(pi.instance) self.assertEqual("stopped", instance.state) db_manager.drop_database.assert_called()
def test_alloc(self): pi = ProvisionedInstance(host="localhost", admin_user="******", admin_password="") pi.save() self.addCleanup(pi.delete) db_manager = mock.Mock() pi._db_manager = db_manager instance = Instance(name="hibria") pi.alloc(instance) self.addCleanup(instance.delete) self.assertIsNotNone(instance.pk) self.assertIsNone(instance.ec2_id) self.assertFalse(instance.shared) self.assertEqual("running", instance.state) self.assertEqual("localhost", instance.host) self.assertEqual("3306", instance.port) self.assertEqual(instance, pi.instance) db_manager.create_database.assert_called()
def test_manager_already_defined(self): pi = ProvisionedInstance() pi._db_manager = "something not real" self.assertEqual("something not real", pi._manager())