Esempio n. 1
0
 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")
Esempio n. 2
0
 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)
Esempio n. 3
0
 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)
Esempio n. 4
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")
Esempio n. 5
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")
Esempio n. 6
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')
Esempio n. 7
0
 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'))
Esempio n. 8
0
 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"))
Esempio n. 9
0
 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()
Esempio n. 10
0
 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()
Esempio n. 11
0
 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")