def wrapper(*args, **kwds): if local._env: env_ctor = Env else: env_ctor = Env.from_defaults if isinstance(args[0], str): session = Session.from_path(args[0]) else: session = Session.from_path(None) with env_ctor(session=session): return f(*args, **kwds)
def wrapper(*args, **kwds): if local._env: env_ctor = Env else: env_ctor = Env.from_defaults if isinstance(args[0], str): session = Session.from_path(args[0]) else: session = Session.from_path(None) with env_ctor(session=session): return f(*args, **kwds)
def test_session_factory_s3_kwargs(): """Get an AWSSession for s3:// paths with keywords""" pytest.importorskip("boto3") sesh = Session.from_path("s3://lol/wut", aws_access_key_id='foo', aws_secret_access_key='bar') assert isinstance(sesh, AWSSession) assert sesh._session.get_credentials().access_key == 'foo' assert sesh._session.get_credentials().secret_key == 'bar'
def test_session_factory_s3_no_boto3(monkeypatch): """Get an AWSSession for s3:// paths""" pytest.importorskip("boto3") with monkeypatch.context() as mpctx: mpctx.setattr("rasterio.session.boto3", None) sesh = Session.from_path("s3://lol/wut") assert isinstance(sesh, DummySession)
def test_session_factory_s3_kwargs(): """Get an AWSSession for s3:// paths with keywords""" pytest.importorskip("boto3") sesh = Session.from_path("s3://lol/wut", aws_access_key_id='foo', aws_secret_access_key='bar') assert isinstance(sesh, AWSSession) assert sesh._session.get_credentials().access_key == 'foo' assert sesh._session.get_credentials().secret_key == 'bar'
def test_session_factory_oss_kwargs(): """Get an OSSSession for oss:// paths with keywords""" sesh = Session.from_path("oss://lol/wut", oss_access_key_id='foo', oss_secret_access_key='bar') assert isinstance(sesh, OSSSession) assert sesh.get_credential_options()['OSS_ACCESS_KEY_ID'] == 'foo' assert sesh.get_credential_options()['OSS_SECRET_ACCESS_KEY'] == 'bar'
def test_session_factory_az_kwargs_connection_string(): """Get an AzureSession for az:// paths with keywords""" sesh = Session.from_path("az://lol/wut", azure_storage_connection_string= 'AccountName=myaccount;AccountKey=MY_ACCOUNT_KEY') assert isinstance(sesh, AzureSession) assert sesh.get_credential_options( )['AZURE_STORAGE_CONNECTION_STRING'] == 'AccountName=myaccount;AccountKey=MY_ACCOUNT_KEY'
def test_session_factory_az_kwargs(): """Get an AzureSession for az:// paths with keywords""" sesh = Session.from_path("az://lol/wut", azure_storage_account='foo', azure_storage_access_key='bar') assert isinstance(sesh, AzureSession) assert sesh.get_credential_options()['AZURE_STORAGE_ACCOUNT'] == 'foo' assert sesh.get_credential_options()['AZURE_STORAGE_ACCESS_KEY'] == 'bar'
def test_session_factory_unparsed(): """Get a DummySession for unparsed paths""" sesh = Session.from_path("/vsicurl/lolwut") assert isinstance(sesh, DummySession)
def test_session_factory_swift_kwargs(): """Get an SwiftSession for /vsiswift/bucket/key with keywords""" sesh = Session.from_path("/vsiswift/lol/wut", swift_storage_url='foo', swift_auth_token='bar') assert isinstance(sesh, DummySession)
def test_session_factory_swift_kwargs(): """Get an SwiftSession for /vsiswift/bucket/key with keywords""" sesh = Session.from_path("/vsiswift/lol/wut", swift_storage_url='foo', swift_auth_token='bar') assert isinstance(sesh, DummySession)
def test_session_factory_unknown(): """Get a DummySession for unknown paths""" sesh = Session.from_path("https://fancy-cloud.com/lolwut") assert isinstance(sesh, DummySession)
def test_session_factory_empty(): """Get a DummySession for no path""" sesh = Session.from_path("") assert isinstance(sesh, DummySession)
def test_session_factory_s3(): """Get an AWSSession for s3:// paths""" pytest.importorskip("boto3") sesh = Session.from_path("s3://lol/wut") assert isinstance(sesh, AWSSession)
def test_session_factory_unknown(): """Get a DummySession for unknown paths""" sesh = Session.from_path("https://fancy-cloud.com/lolwut") assert isinstance(sesh, DummySession)
def test_session_factory_local(): """Get a DummySession for local paths""" sesh = Session.from_path("file:///lolwut") assert isinstance(sesh, DummySession)
def test_session_factory_empty(): """Get a DummySession for no path""" sesh = Session.from_path("") assert isinstance(sesh, DummySession)
def test_session_factory_unparsed(): """Get a DummySession for unparsed paths""" sesh = Session.from_path("/vsicurl/lolwut") assert isinstance(sesh, DummySession)
def test_session_factory_local(): """Get a DummySession for local paths""" sesh = Session.from_path("file:///lolwut") assert isinstance(sesh, DummySession)
def test_session_factory_s3_presigned_url(): """Get a DummySession for presigned URLs""" sesh = Session.from_path( "https://fancy-cloud.com/lolwut?X-Amz-Signature=foo") assert isinstance(sesh, DummySession)
def test_session_factory_s3(): """Get an AWSSession for s3:// paths""" pytest.importorskip("boto3") sesh = Session.from_path("s3://lol/wut") assert isinstance(sesh, AWSSession)
def test_session_factory_oss_kwargs(): """Get an OSSSession for oss:// paths with keywords""" sesh = Session.from_path("oss://lol/wut", oss_access_key_id='foo', oss_secret_access_key='bar') assert isinstance(sesh, OSSSession) assert sesh.get_credential_options()['OSS_ACCESS_KEY_ID'] == 'foo' assert sesh.get_credential_options()['OSS_SECRET_ACCESS_KEY'] == 'bar'