73 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			73 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|  | from __future__ import unicode_literals | ||
|  | 
 | ||
|  | import boto3 | ||
|  | import pytest | ||
|  | import sure  # noqa | ||
|  | from botocore.exceptions import ClientError | ||
|  | 
 | ||
|  | from moto import mock_mediastoredata | ||
|  | 
 | ||
|  | region = "eu-west-1" | ||
|  | 
 | ||
|  | 
 | ||
|  | @mock_mediastoredata | ||
|  | def test_put_object(): | ||
|  |     client = boto3.client("mediastore-data", region_name=region) | ||
|  |     response = client.put_object(Body="011001", Path="foo") | ||
|  |     response["ResponseMetadata"]["HTTPStatusCode"].should.equal(200) | ||
|  |     response["StorageClass"].should.equal("TEMPORAL") | ||
|  |     items = client.list_items()["Items"] | ||
|  |     object_exists = any(d["Name"] == "foo" for d in items) | ||
|  |     object_exists.should.equal(True) | ||
|  | 
 | ||
|  | 
 | ||
|  | @mock_mediastoredata | ||
|  | def test_get_object_throws_not_found_error(): | ||
|  |     client = boto3.client("mediastore-data", region_name=region) | ||
|  |     with pytest.raises(ClientError) as ex: | ||
|  |         client.get_object(Path="foo") | ||
|  |     ex.value.response["Error"]["Code"].should.equal("ObjectNotFoundException") | ||
|  | 
 | ||
|  | 
 | ||
|  | @mock_mediastoredata | ||
|  | def test_get_object(): | ||
|  |     client = boto3.client("mediastore-data", region_name=region) | ||
|  |     client.put_object(Body="011001", Path="foo") | ||
|  |     response = client.get_object(Path="foo") | ||
|  |     response["ResponseMetadata"]["HTTPStatusCode"].should.equal(200) | ||
|  |     response["ResponseMetadata"]["HTTPHeaders"]["path"].should.equal("foo") | ||
|  |     data = response["Body"].read() | ||
|  |     data.should.equal(b"011001") | ||
|  | 
 | ||
|  | 
 | ||
|  | @mock_mediastoredata | ||
|  | def test_delete_object_error(): | ||
|  |     client = boto3.client("mediastore-data", region_name=region) | ||
|  |     with pytest.raises(ClientError) as ex: | ||
|  |         client.delete_object(Path="foo") | ||
|  |     ex.value.response["Error"]["Code"].should.equal("ObjectNotFoundException") | ||
|  | 
 | ||
|  | 
 | ||
|  | @mock_mediastoredata | ||
|  | def test_delete_object_succeeds(): | ||
|  |     client = boto3.client("mediastore-data", region_name=region) | ||
|  |     object_path = "foo" | ||
|  |     client.put_object(Body="011001", Path=object_path) | ||
|  |     response = client.delete_object(Path=object_path) | ||
|  |     response["ResponseMetadata"]["HTTPStatusCode"].should.equal(200) | ||
|  |     items = client.list_items()["Items"] | ||
|  |     len(items).should.equal(0) | ||
|  | 
 | ||
|  | 
 | ||
|  | @mock_mediastoredata | ||
|  | def test_list_items(): | ||
|  |     client = boto3.client("mediastore-data", region_name=region) | ||
|  |     items = client.list_items()["Items"] | ||
|  |     len(items).should.equal(0) | ||
|  |     object_path = "foo" | ||
|  |     client.put_object(Body="011001", Path=object_path) | ||
|  |     items = client.list_items()["Items"] | ||
|  |     len(items).should.equal(1) | ||
|  |     object_exists = any(d["Name"] == object_path for d in items) | ||
|  |     object_exists.should.equal(True) |