Skip to content

Commit ad5a21c

Browse files
hallvictoriaVictoria Hallgavin-aguiar
authored
Blob extension code coverage improvements (#19)
* extra tests for BlobClientConverter * lint * test_ssd lint miss --------- Co-authored-by: Victoria Hall <[email protected]> Co-authored-by: gavin-aguiar <[email protected]>
1 parent 7ea1955 commit ad5a21c

File tree

3 files changed

+81
-0
lines changed

3 files changed

+81
-0
lines changed

azure-functions-extension-blob/tests/test_blobclient.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,12 @@ def test_input_none(self):
7878
)
7979
self.assertIsNone(result)
8080

81+
datum: Datum = Datum(value=b"string_content", type=None)
82+
result = BlobClientConverter.decode(
83+
data=datum, trigger_metadata=None, pytype=BlobClient
84+
)
85+
self.assertIsNone(result)
86+
8187
def test_input_incorrect_type(self):
8288
datum: Datum = Datum(value=b"string_content", type="bytearray")
8389
with self.assertRaises(ValueError):
@@ -119,6 +125,27 @@ def test_input_populated(self):
119125
self.assertIsNotNone(sdk_result)
120126
self.assertIsInstance(sdk_result, BlobClientSdk)
121127

128+
def test_input_invalid_pytype(self):
129+
content = {
130+
"Connection": "AzureWebJobsStorage",
131+
"ContainerName": "test-blob",
132+
"BlobName": "text.txt",
133+
}
134+
135+
sample_mbd = MockMBD(
136+
version="1.0",
137+
source="AzureStorageBlobs",
138+
content_type="application/json",
139+
content=json.dumps(content),
140+
)
141+
142+
datum: Datum = Datum(value=sample_mbd, type="model_binding_data")
143+
result: BlobClient = BlobClientConverter.decode(
144+
data=datum, trigger_metadata=None, pytype="str"
145+
)
146+
147+
self.assertIsNone(result)
148+
122149
def test_blob_client_invalid_creation(self):
123150
# Create test binding
124151
mock_blob = MockBinding(

azure-functions-extension-blob/tests/test_containerclient.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,12 @@ def test_input_none(self):
7878
)
7979
self.assertIsNone(result)
8080

81+
datum: Datum = Datum(value=b"string_content", type=None)
82+
result = BlobClientConverter.decode(
83+
data=datum, trigger_metadata=None, pytype=ContainerClient
84+
)
85+
self.assertIsNone(result)
86+
8187
def test_input_incorrect_type(self):
8288
datum: Datum = Datum(value=b"string_content", type="bytearray")
8389
with self.assertRaises(ValueError):
@@ -117,6 +123,27 @@ def test_input_populated(self):
117123
self.assertIsNotNone(sdk_result)
118124
self.assertIsInstance(sdk_result, ContainerClientSdk)
119125

126+
def test_input_invalid_pytype(self):
127+
content = {
128+
"Connection": "AzureWebJobsStorage",
129+
"ContainerName": "test-blob",
130+
"BlobName": "text.txt",
131+
}
132+
133+
sample_mbd = MockMBD(
134+
version="1.0",
135+
source="AzureStorageBlobs",
136+
content_type="application/json",
137+
content=json.dumps(content),
138+
)
139+
140+
datum: Datum = Datum(value=sample_mbd, type="model_binding_data")
141+
result: ContainerClient = BlobClientConverter.decode(
142+
data=datum, trigger_metadata=None, pytype="str"
143+
)
144+
145+
self.assertIsNone(result)
146+
120147
def test_container_client_invalid_creation(self):
121148
# Create test binding
122149
mock_blob = MockBinding(

azure-functions-extension-blob/tests/test_ssd.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,12 @@ def test_input_none(self):
7878
)
7979
self.assertIsNone(result)
8080

81+
datum: Datum = Datum(value=b"string_content", type=None)
82+
result = BlobClientConverter.decode(
83+
data=datum, trigger_metadata=None, pytype=StorageStreamDownloader
84+
)
85+
self.assertIsNone(result)
86+
8187
def test_input_incorrect_type(self):
8288
datum: Datum = Datum(value=b"string_content", type="bytearray")
8389
with self.assertRaises(ValueError):
@@ -119,6 +125,27 @@ def test_input_populated(self):
119125
self.assertIsNotNone(sdk_result)
120126
self.assertIsInstance(sdk_result, SSDSdk)
121127

128+
def test_input_invalid_pytype(self):
129+
content = {
130+
"Connection": "AzureWebJobsStorage",
131+
"ContainerName": "test-blob",
132+
"BlobName": "text.txt",
133+
}
134+
135+
sample_mbd = MockMBD(
136+
version="1.0",
137+
source="AzureStorageBlobs",
138+
content_type="application/json",
139+
content=json.dumps(content),
140+
)
141+
142+
datum: Datum = Datum(value=sample_mbd, type="model_binding_data")
143+
result: StorageStreamDownloader = BlobClientConverter.decode(
144+
data=datum, trigger_metadata=None, pytype="str"
145+
)
146+
147+
self.assertIsNone(result)
148+
122149
def test_ssd_invalid_creation(self):
123150
# Create test binding
124151
mock_blob = MockBinding(

0 commit comments

Comments
 (0)