def test_get_target_region_config_metadata_unavailable(mocker, capsys):
    mocker.patch('mount_efs.get_aws_ec2_metadata_token', return_value=None)
    mocker.patch('mount_efs.urlopen', side_effect=URLError('test error'))
    config = get_config('{fs_id}.efs.{region}.{dns_name_suffix}')
    with pytest.raises(SystemExit) as ex:
        mount_efs.get_target_region(config)

    assert 0 != ex.value.code
    out, err = capsys.readouterr()
    assert 'Error retrieving region' in err
def get_target_region_helper():
    config = get_config('{fs_id}.efs.{region}.{dns_name_suffix}')
    return mount_efs.get_target_region(config)
def _test_get_target_region_from_dns_format(mocker, config):
    mocker.patch('mount_efs.get_aws_ec2_metadata_token', return_value=None)
    mocker.patch('mount_efs.urlopen', side_effect=URLError('test error'))
    assert TARGET_REGION == mount_efs.get_target_region(config)
def test_get_target_region_from_config_variable(mocker):
    config = get_config('{fs_id}.efs.us-east-2.{dns_name_suffix}',
                        TARGET_REGION)
    assert TARGET_REGION == mount_efs.get_target_region(config)
def test_get_target_region_from_metadata(mocker):
    mocker.patch('mount_efs.get_aws_ec2_metadata_token', return_value=None)
    mocker.patch('mount_efs.urlopen', return_value=MockUrlLibResponse())
    config = get_config('{fs_id}.efs.{region}.{dns_name_suffix}', None)
    assert TARGET_REGION == mount_efs.get_target_region(config)
def get_target_region_helper():
    config = get_config(DEFAULT_DNS_NAME_FORMAT)
    return mount_efs.get_target_region(config)