def test_describe_instance_outer_exception_handling(self, ): with self.assertRaises(SystemExit) as sys_exit: region = self.region_mock mock_extern_service = self.ec2_mock mock_tmp_credentials = [ "mocked_aws_access_key_id", "mocked_aws_access_key_id", ] instance = AbstractionLayer(region) instance.describe_instance(mock_extern_service, mock_tmp_credentials) self.assertEqual(sys_exit.exception.code, 1)
def test_describe_instance_try_catch(self, session_mock, client_mock, describe_instances_mock): region = self.region_mock mock_extern_service = self.ec2_mock mock_credentials = [ "mocked_aws_access_key_id", "mocked_aws_access_key_id", "mocked_aws_session_token", ] mock_response = { 'Reservations': [{ 'Instances': [{ 'AmiLaunchIndex': 123, 'ImageId': 'mock_id', 'InstanceId': 'mock_instance_id', 'InstanceType': 't1.micro', 'KernelId': 'mock_kernel_id', 'KeyName': 'mock_instance_tester', 'Monitoring': { 'State': 'disabled' }, 'Placement': { 'AvailabilityZone': 'us-east-2', 'Affinity': 'mock_high', 'PartitionNumber': 123, 'HostId': 'mock_host_id', 'Tenancy': 'dedicated', 'SpreadDomain': 'mock_spread_domain', 'HostResourceGroupArn': 'mock_host_resource_arn' }, }] }] } session_mock.return_value = "session for boto3 client is mocked " describe_instances_mock.return_value = mock_response instance = AbstractionLayer(region) instance.describe_instance(mock_extern_service, mock_credentials)