def test_logs_parseable_error_if_tag_value_is_invalid(self): for value in ("blah", "-42", "0.1 0.2"): self.log.reset_mock() self.get_asg_tag.return_value = value chaos.get_asg_probability({"AutoScalingGroupName": "ASGNameHere"}) lines = self.get_log_lines("bad-probability") self.assertEqual(set((p[1], p[3]) for p in lines), set([("[" + value + "]", "ASGNameHere")]))
def test_queries_probability_tag(self): self.get_asg_tag.return_value = "0.1" chaos.get_asg_probability(mock.sentinel.asg, None) self.get_asg_tag.assert_called_once_with( mock.sentinel.asg, self.PROBABILITY_TAG, mock.ANY )
def test_logs_parseable_error_if_tag_value_is_invalid(self): for value in ("blah", "-42", "0.1 0.2"): self.log.reset_mock() self.get_asg_tag.return_value = value chaos.get_asg_probability({"AutoScalingGroupName": "ASGNameHere"}) lines = self.get_log_lines("bad-probability") self.assertEqual(set((p[1], p[3]) for p in lines), set([ ("[" + value + "]", "ASGNameHere") ]))
def test_returns_default_probability_if_tag_value_is_out_of_range(self): asg = {"AutoScalingGroupName": "x"} default = mock.sentinel.default for value in ("-42", "-1.2", "1.2", "9"): self.get_asg_tag.return_value = value p = chaos.get_asg_probability(asg, default) self.assertEqual(p, default)
def test_returns_default_probability_if_no_tag_set(self): self.get_asg_tag.return_value = None p = chaos.get_asg_probability({}) self.assertEqual(p, self.DEFAULT_PROBABILITY)
def test_returns_default_probability_if_tag_value_is_invalid(self): asg = {"AutoScalingGroupName": "x"} default = mock.sentinel.default self.get_asg_tag.return_value = "blah" p = chaos.get_asg_probability(asg, default) self.assertEqual(p, default)
def test_returns_probability_from_tag_value_if_valid(self): self.get_asg_tag.return_value = "0.1" p = chaos.get_asg_probability({"AutoScalingGroupName": "x"}, None) self.assertEqual(p, 0.1)
def test_queries_probability_tag(self): self.get_asg_tag.return_value = "0.1" chaos.get_asg_probability(mock.sentinel.asg, None) self.get_asg_tag.assert_called_once_with(mock.sentinel.asg, self.PROBABILITY_TAG, mock.ANY)
def test_returns_default_probability_if_no_tag_set(self): self.get_asg_tag.return_value = None p = chaos.get_asg_probability({}, mock.sentinel.default) self.assertEqual(p, mock.sentinel.default)
def test_returns_default_probability_if_tag_value_is_invalid(self): self.get_asg_tag.return_value = "blah" p = chaos.get_asg_probability({"AutoScalingGroupName": "x"}) self.assertEqual(p, self.DEFAULT_PROBABILITY)
def test_returns_default_probability_if_tag_value_is_out_of_range(self): for value in ("-42", "-1.2", "1.2", "9"): self.get_asg_tag.return_value = value p = chaos.get_asg_probability({"AutoScalingGroupName": "x"}) self.assertEqual(p, self.DEFAULT_PROBABILITY)