def test_other_clienterror_raises(self): logger.debug('TestIsInstanceRunning.test_other_clienterror_raises') ec2_helper.ec2 = Mock(**{'describe_instances.side_effect': ClientError({ 'Error': { 'Code': 'UnknownError', 'Message': 'Some other error' } }, 'DescribeInstances')}) with self.assertRaises(Exception): ec2_helper.is_instance_running('i-abcd123')
def test_not_running_instance(self): logger.debug('TestIsInstanceRunning.test_not_running_instance') for state in ['pending', 'shutting-down', 'terminated', 'stopping', 'stopped']: self.mock_attrs['describe_instances.return_value']['Reservations'][0]['Instances'][0]['State']['Name'] = state ec2_helper.ec2 = Mock(**self.mock_attrs) res = ec2_helper.is_instance_running('i-abcd123') self.assertFalse(res)
def test_running_instance(self): logger.debug('TestIsInstanceRunning.test_running_instancetest_running_instance') self.mock_attrs['describe_instances.return_value']['Reservations'][0]['Instances'][0]['State']['Name'] = 'running' ec2_helper.ec2 = Mock(**self.mock_attrs) res = ec2_helper.is_instance_running('i-abcd123') ec2_helper.ec2.describe_instances.assert_called_once_with(InstanceIds=['i-abcd123']) self.assertTrue(res)
def test_unknown_instance(self): logger.debug('TestIsInstanceRunning.test_unknown_instance') ec2_helper.ec2 = Mock(**{'describe_instances.side_effect': ClientError({ 'Error': { 'Code': 'InvalidInstanceID.NotFound', 'Message': "The instance ID 'i-abcd123' does not exist" } }, 'DescribeInstances')}) res = ec2_helper.is_instance_running('i-abcd123') self.assertIsNone(res)
def test_other_exception_raises(self): logger.debug('TestIsInstanceRunning.test_other_exception_raises') ec2_helper.ec2 = Mock(**{'describe_instances.side_effect': Exception('test')}) with self.assertRaises(Exception): ec2_helper.is_instance_running('i-abcd123')