Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
("s3://bucket/file.csv", S3FileSystem),
("file:///tmp/test.csv", LocalFileSystem),
("/tmp/test.csv", LocalFileSystem),
("gcs://bucket/file.csv", GCSFileSystem),
("https://example.com/file.csv", HTTPFileSystem),
],
)
def test_protocol_usage(self, filepath, instance_type):
data_set = CSVDataSet(filepath=filepath)
assert isinstance(data_set._fs, instance_type)
# _strip_protocol() doesn't strip http(s) protocol
if data_set._protocol == "https":
path = filepath.split("://")[-1]
else:
path = data_set._fs._strip_protocol(filepath)
def test_exists(self, dataset, mocked_csvs_in_s3):
assert PartitionedDataSet(mocked_csvs_in_s3, dataset).exists()
empty_folder = "/".join([mocked_csvs_in_s3, "empty", "folder"])
assert not PartitionedDataSet(empty_folder, dataset).exists()
s3fs.S3FileSystem().mkdir(empty_folder)
assert not PartitionedDataSet(empty_folder, dataset).exists()
def __init__(self, bucket, directory):
self.bucket = bucket
self.root_directory = directory
self.visits_uri = '%s/%s/visits/%%s' % (
self.bucket, self.root_directory)
self.s3_fs = s3fs.S3FileSystem(session=LocalS3Session())
boto3.DEFAULT_SESSION = LocalS3Session()
self.s3_client = boto3.client('s3')
self.s3_resource = boto3.resource('s3')
def test_remote(self):
import s3fs
endpoint_url = "http://obs.eu-de.otc.t-systems.com"
s3 = s3fs.S3FileSystem(anon=True, client_kwargs=dict(endpoint_url=endpoint_url))
s3_store = s3fs.S3Map(root="cyanoalert/cyanoalert-olci-lswe-l2c-v1.zarr", s3=s3, check=False)
diagnostic_store = DiagnosticStore(s3_store, logging_observer(log_path='remote-cube.log'))
xr.open_zarr(diagnostic_store)
def test_remote(self):
import s3fs
endpoint_url = "http://obs.eu-de.otc.t-systems.com"
s3 = s3fs.S3FileSystem(anon=True, client_kwargs=dict(endpoint_url=endpoint_url))
s3_store = s3fs.S3Map(root="cyanoalert/cyanoalert-olci-lswe-l2c-v1.zarr", s3=s3, check=False)
diagnostic_store = DiagnosticStore(s3_store, logging_observer(log_path='remote-cube.log'))
xr.open_zarr(diagnostic_store)
def mocked_s3_bucket():
"""Create a bucket for testing using moto."""
with mock_s3():
conn = s3fs.core.boto3.client("s3", **AWS_CREDENTIALS)
conn.create_bucket(Bucket=BUCKET_NAME)
yield conn
def mocked_s3_bucket():
"""Create a bucket for testing using moto."""
with mock_s3():
conn = s3fs.core.boto3.client("s3", **AWS_CREDENTIALS)
conn.create_bucket(Bucket=BUCKET_NAME)
yield conn
"Id": "PutObjPolicy",
"Statement": [
{
"Sid": "DenyUnEncryptedObjectUploads",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::{}/*".format(BUCKET_NAME),
"Condition": {"Null": {"s3:x-amz-server-side-encryption": "aws:kms"}},
}
],
}
bucket_policy = json.dumps(bucket_policy)
with mock_s3():
conn = s3fs.core.boto3.client("s3", **AWS_CREDENTIALS)
conn.create_bucket(Bucket=BUCKET_NAME)
conn.put_bucket_policy(Bucket=BUCKET_NAME, Policy=bucket_policy)
yield conn
def mocked_s3_bucket():
"""Create a bucket for testing using moto."""
with mock_s3():
conn = s3fs.core.boto3.client("s3")
conn.create_bucket(Bucket=BUCKET_NAME)
yield conn
def mocked_s3_bucket():
"""Create a bucket for testing using moto."""
with mock_s3():
conn = s3fs.core.boto3.client("s3", **AWS_CREDENTIALS)
conn.create_bucket(Bucket=BUCKET_NAME)
yield conn