def test_remove_instance(self): self.storage.store_instance_metadata("x", plan_name="small", consul_token="abc-123") self.storage.store_le_certificate("x", "foobar.com") self.storage.store_le_certificate("x", "example.com") self.storage.store_le_certificate("y", "test.com") lb = self.LoadBalancer.find.return_value lb.hosts = [mock.Mock()] manager = Manager(self.config) manager.consul_manager = mock.Mock() manager.remove_instance("x") config = copy.deepcopy(self.config) config.update(self.plan["config"]) self.LoadBalancer.find.assert_called_with("x", config) for h in lb.hosts: h.destroy.assert_called_once() lb.destroy.assert_called_once() self.assertEquals(self.storage.find_task("x").count(), 0) self.assertIsNone(self.storage.find_instance_metadata("x")) self.assertEquals([ cert for cert in self.storage.find_le_certificates({"name": "x"}) ], []) self.assertEquals([ cert['name'] for cert in self.storage.find_le_certificates({"name": "y"}) ][0], "y") manager.consul_manager.destroy_token.assert_called_with("abc-123") manager.consul_manager.destroy_instance.assert_called_with("x")
def test_remove_instance_remove_task_on_exception(self): self.storage.store_instance_metadata("x", plan_name="small") lb = self.LoadBalancer.find.return_value lb.hosts = [mock.Mock(side_effect=Exception("test"))] manager = Manager(self.config) manager.consul_manager = mock.Mock() manager.remove_instance("x") self.assertEquals(self.storage.find_task("x").count(), 0)
def test_remove_instance_decrement_quota(self, nginx): manager = Manager(self.config) for name in ["a", "b", "c", "d", "e"]: manager.new_instance(name) with self.assertRaises(QuotaExceededError): manager.new_instance("f") manager.remove_instance("e") manager.new_instance("f") manager.remove_instance("e") with self.assertRaises(QuotaExceededError): manager.new_instance("g")
def test_remove_instance_decrement_quota(self, nginx): manager = Manager(self.config) for name in ['a', 'b', 'c', 'd', 'e']: manager.new_instance(name) with self.assertRaises(QuotaExceededError): manager.new_instance('f') manager.remove_instance('e') manager.new_instance('f') manager.remove_instance('e') with self.assertRaises(QuotaExceededError): manager.new_instance('g')
def test_remove_instance(self): self.storage.store_task('x') lb = self.LoadBalancer.find.return_value lb.hosts = [mock.Mock()] manager = Manager(self.config) manager.remove_instance('x') self.LoadBalancer.find.assert_called_with('x', self.config) for h in lb.hosts: h.destroy.assert_called_once() lb.destroy.assert_called_once() self.assertIsNone(self.storage.find_task('x'))
def test_remove_instance(self): self.storage.store_task("x") self.storage.store_instance_metadata("x", plan_name="small") lb = self.LoadBalancer.find.return_value lb.hosts = [mock.Mock()] manager = Manager(self.config) manager.remove_instance("x") self.LoadBalancer.find.assert_called_with("x", self.config) for h in lb.hosts: h.destroy.assert_called_once() lb.destroy.assert_called_once() self.assertIsNone(self.storage.find_task("x")) self.assertIsNone(self.storage.find_instance_metadata("x"))
def test_remove_instance_no_token(self): self.storage.store_task("x") self.storage.store_instance_metadata("x", plan_name="small") lb = self.LoadBalancer.find.return_value lb.hosts = [mock.Mock()] manager = Manager(self.config) manager.consul_manager = mock.Mock() manager.remove_instance("x") self.LoadBalancer.find.assert_called_with("x", self.config) for h in lb.hosts: h.destroy.assert_called_once() lb.destroy.assert_called_once() self.assertEquals(self.storage.find_task("x").count(), 0) self.assertIsNone(self.storage.find_instance_metadata("x")) manager.consul_manager.destroy_token.assert_not_called()
def test_remove_instance_no_token(self): self.storage.store_instance_metadata("x", plan_name="small") lb = self.LoadBalancer.find.return_value lb.hosts = [mock.Mock()] manager = Manager(self.config) manager.consul_manager = mock.Mock() manager.remove_instance("x") config = copy.deepcopy(self.config) config.update(self.plan["config"]) self.LoadBalancer.find.assert_called_with("x", config) for h in lb.hosts: h.destroy.assert_called_once() lb.destroy.assert_called_once() self.assertEquals(self.storage.find_task("x").count(), 0) self.assertIsNone(self.storage.find_instance_metadata("x")) manager.consul_manager.destroy_token.assert_not_called()
def test_remove_instance(self): self.storage.store_instance_metadata("x", plan_name="small", consul_token="abc-123") lb = self.LoadBalancer.find.return_value lb.hosts = [mock.Mock()] manager = Manager(self.config) manager.consul_manager = mock.Mock() manager.remove_instance("x") config = copy.deepcopy(self.config) config.update(self.plan["config"]) self.LoadBalancer.find.assert_called_with("x", config) for h in lb.hosts: h.destroy.assert_called_once() lb.destroy.assert_called_once() self.assertEquals(self.storage.find_task("x").count(), 0) self.assertIsNone(self.storage.find_instance_metadata("x")) manager.consul_manager.destroy_token.assert_called_with("abc-123") manager.consul_manager.destroy_instance.assert_called_with("x")