示例#1
0
 def test_returns_instance_id_if_probability_test_succeeds(self):
     self.choice.side_effect = lambda l: l[0]
     self.get_asg_probability.return_value = 0.5
     self.random.return_value = 0.0
     asg = {"Instances": [{"InstanceId": "i-1234abcd"}]}
     self.assertEqual(chaos.get_asg_instance_id(asg), "i-1234abcd")
     self.get_asg_probability.assert_called_once_with(asg)
示例#2
0
 def test_returns_instance_id_if_probability_test_succeeds(self):
     self.choice.side_effect = lambda l: l[0]
     self.get_asg_probability.return_value = 0.5
     self.random.return_value = 0.0
     asg = {"Instances": [{"InstanceId": "i-1234abcd"}]}
     self.assertEqual(chaos.get_asg_instance_id(asg), "i-1234abcd")
     self.get_asg_probability.assert_called_once_with(asg)
示例#3
0
 def test_returns_None_if_probability_test_fails(self):
     self.choice.side_effect = lambda l: l[0]
     self.get_asg_probability.return_value = 0.5
     self.random.return_value = 1.0
     asg = {"Instances": [{"InstanceId": "i-1234abcd"}]}
     default = mock.sentinel.default
     self.assertEqual(chaos.get_asg_instance_id(asg, default), None)
     self.get_asg_probability.assert_called_once_with(asg, default)
示例#4
0
 def test_returns_None_if_probability_test_fails(self):
     self.choice.side_effect = lambda l: l[0]
     self.get_asg_probability.return_value = 0.5
     self.random.return_value = 1.0
     asg = {"Instances": [{"InstanceId": "i-1234abcd"}]}
     default = mock.sentinel.default
     self.assertEqual(chaos.get_asg_instance_id(asg, default), None)
     self.get_asg_probability.assert_called_once_with(asg, default)
示例#5
0
 def test_returns_random_choice_of_instance_ids(self):
     self.get_asg_probability.return_value = 0.5
     self.random.return_value = 0.0
     instances = [
         {"InstanceId": "i-00000000"},
         {"InstanceId": "i-11111111"},
         {"InstanceId": "i-22222222"}
     ]
     i = chaos.get_asg_instance_id({"Instances": instances}, 0)
     self.choice.assert_called_once_with(instances)
     self.assertEqual(i, self.choice.return_value.get.return_value)
示例#6
0
 def test_returns_random_choice_of_instance_ids(self):
     self.get_asg_probability.return_value = 0.5
     self.random.return_value = 0.0
     instances = [{
         "InstanceId": "i-00000000"
     }, {
         "InstanceId": "i-11111111"
     }, {
         "InstanceId": "i-22222222"
     }]
     i = chaos.get_asg_instance_id({"Instances": instances}, 0)
     self.choice.assert_called_once_with(instances)
     self.assertEqual(i, self.choice.return_value.get.return_value)
示例#7
0
 def test_returns_None_if_there_are_no_instances(self):
     self.random.return_value = 1.0
     asg = {"Instances": []}
     self.assertEqual(chaos.get_asg_instance_id(asg, 0), None)
     asg = {}
     self.assertEqual(chaos.get_asg_instance_id(asg, 0), None)
示例#8
0
 def test_returns_None_if_there_are_no_instances(self):
     self.random.return_value = 1.0
     asg = {"Instances": []}
     self.assertEqual(chaos.get_asg_instance_id(asg, 0), None)
     asg = {}
     self.assertEqual(chaos.get_asg_instance_id(asg, 0), None)