@@ -14,7 +14,6 @@ class TestBlobFunctions(testutils.WebHostTestCase):
1414 def get_script_dir (cls ):
1515 return testutils .EMULATOR_TESTS_FOLDER / 'blob_functions'
1616
17- #@testutils.retryable_test(3, 5)
1817 def test_blob_io_str (self ):
1918 r = self .webhost .request ('POST' , 'put_blob_str' , data = 'test-data' )
2019 self .assertEqual (r .status_code , 200 )
@@ -28,128 +27,128 @@ def test_blob_io_str(self):
2827 self .assertEqual (r .status_code , 200 )
2928 self .assertEqual (r .text , 'test-data' )
3029
31- # def test_blob_io_large_str(self):
32- # large_string = 'DummyDataDummyDataDummyData' * 1024 * 1024 # 27 MB
33-
34- # r = self.webhost.request('POST', 'put_blob_str', data=large_string)
35- # self.assertEqual(r.status_code, 200)
36- # self.assertEqual(r.text, 'OK')
37-
38- # r = self.webhost.request('GET', 'get_blob_str')
39- # self.assertEqual(r.status_code, 200)
40- # self.assertEqual(r.text, large_string)
41-
42- # r = self.webhost.request('GET', 'get_blob_as_str')
43- # self.assertEqual(r.status_code, 200)
44- # self.assertEqual(r.text, large_string)
45-
46- # def test_blob_io_bytes(self):
47- # r = self.webhost.request('POST', 'put_blob_bytes',
48- # data='test-dată'.encode('utf-8'))
49- # self.assertEqual(r.status_code, 200)
50- # self.assertEqual(r.text, 'OK')
51-
52- # r = self.webhost.request('POST', 'get_blob_bytes')
53- # self.assertEqual(r.status_code, 200)
54- # self.assertEqual(r.text, 'test-dată')
55-
56- # r = self.webhost.request('POST', 'get_blob_as_bytes')
57- # self.assertEqual(r.status_code, 200)
58- # self.assertEqual(r.text, 'test-dată')
59-
60- # def test_blob_io_large_bytes(self):
61- # large_string = 'DummyDataDummyDataDummyData' * 1024 * 1024 # 27 MB
62-
63- # r = self.webhost.request('POST', 'put_blob_bytes',
64- # data=large_string.encode('utf-8'))
65- # self.assertEqual(r.status_code, 200)
66- # self.assertEqual(r.text, 'OK')
67-
68- # r = self.webhost.request('POST', 'get_blob_bytes')
69- # self.assertEqual(r.status_code, 200)
70- # self.assertEqual(r.text, large_string)
71-
72- # r = self.webhost.request('POST', 'get_blob_as_bytes')
73- # self.assertEqual(r.status_code, 200)
74- # self.assertEqual(r.text, large_string)
75-
76- # def test_blob_io_filelike(self):
77- # r = self.webhost.request('POST', 'put_blob_filelike')
78- # self.assertEqual(r.status_code, 200)
79- # self.assertEqual(r.text, 'OK')
80-
81- # r = self.webhost.request('POST', 'get_blob_filelike')
82- # self.assertEqual(r.status_code, 200)
83- # self.assertEqual(r.text, 'filelike')
84-
85- # def test_blob_io_return(self):
86- # r = self.webhost.request('POST', 'put_blob_return')
87- # self.assertEqual(r.status_code, 200)
88-
89- # r = self.webhost.request('POST', 'get_blob_return')
90- # self.assertEqual(r.status_code, 200)
91- # self.assertEqual(r.text, 'FROM RETURN')
92-
93- # def test_blob_trigger(self):
94- # data = "DummyData"
95-
96- # r = self.webhost.request('POST', 'put_blob_trigger',
97- # data=data.encode('utf-8'))
98- # self.assertEqual(r.status_code, 200)
99- # self.assertEqual(r.text, 'OK')
100-
101- # # Blob trigger may be processed after some delay
102- # # We check it every 2 seconds to allow the trigger to be fired
103- # max_retries = 10
104- # for try_no in range(max_retries):
105- # time.sleep(2)
106-
107- # try:
108- # # Check that the trigger has fired
109- # r = self.webhost.request('GET', 'get_blob_triggered')
110- # self.assertEqual(r.status_code, 200)
111- # response = r.json()
112-
113- # self.assertEqual(response['name'],
114- # 'python-worker-tests/test-blob-trigger.txt')
115- # self.assertEqual(response['content'], data)
116-
117- # break
118- # # JSONDecodeError will be thrown if the response is empty.
119- # except (AssertionError, JSONDecodeError):
120- # if try_no == max_retries - 1:
121- # raise
122-
123- # def test_blob_trigger_with_large_content(self):
124- # data = 'DummyDataDummyDataDummyData' * 1024 * 1024 # 27 MB
125-
126- # r = self.webhost.request('POST', 'put_blob_trigger',
127- # data=data.encode('utf-8'))
128- # self.assertEqual(r.status_code, 200)
129- # self.assertEqual(r.text, 'OK')
130-
131- # # Blob trigger may be processed after some delay
132- # # We check it every 2 seconds to allow the trigger to be fired
133- # max_retries = 10
134- # for try_no in range(max_retries):
135- # try:
136- # # Check that the trigger has fired
137- # r = self.webhost.request('GET', 'get_blob_triggered')
138-
139- # # Waiting for blob to get updated
140- # time.sleep(2)
141-
142- # self.assertEqual(r.status_code, 200)
143- # response = r.json()
144-
145- # self.assertEqual(response['name'],
146- # 'python-worker-tests/test-blob-trigger.txt')
147- # self.assertEqual(response['content'], data)
148- # break
149- # # JSONDecodeError will be thrown if the response is empty.
150- # except (AssertionError, JSONDecodeError):
151- # if try_no == max_retries - 1:
152- # raise
30+ def test_blob_io_large_str (self ):
31+ large_string = 'DummyDataDummyDataDummyData' * 1024 * 1024 # 27 MB
32+
33+ r = self .webhost .request ('POST' , 'put_blob_str' , data = large_string )
34+ self .assertEqual (r .status_code , 200 )
35+ self .assertEqual (r .text , 'OK' )
36+
37+ r = self .webhost .request ('GET' , 'get_blob_str' )
38+ self .assertEqual (r .status_code , 200 )
39+ self .assertEqual (r .text , large_string )
40+
41+ r = self .webhost .request ('GET' , 'get_blob_as_str' )
42+ self .assertEqual (r .status_code , 200 )
43+ self .assertEqual (r .text , large_string )
44+
45+ def test_blob_io_bytes (self ):
46+ r = self .webhost .request ('POST' , 'put_blob_bytes' ,
47+ data = 'test-dată' .encode ('utf-8' ))
48+ self .assertEqual (r .status_code , 200 )
49+ self .assertEqual (r .text , 'OK' )
50+
51+ r = self .webhost .request ('POST' , 'get_blob_bytes' )
52+ self .assertEqual (r .status_code , 200 )
53+ self .assertEqual (r .text , 'test-dată' )
54+
55+ r = self .webhost .request ('POST' , 'get_blob_as_bytes' )
56+ self .assertEqual (r .status_code , 200 )
57+ self .assertEqual (r .text , 'test-dată' )
58+
59+ def test_blob_io_large_bytes (self ):
60+ large_string = 'DummyDataDummyDataDummyData' * 1024 * 1024 # 27 MB
61+
62+ r = self .webhost .request ('POST' , 'put_blob_bytes' ,
63+ data = large_string .encode ('utf-8' ))
64+ self .assertEqual (r .status_code , 200 )
65+ self .assertEqual (r .text , 'OK' )
66+
67+ r = self .webhost .request ('POST' , 'get_blob_bytes' )
68+ self .assertEqual (r .status_code , 200 )
69+ self .assertEqual (r .text , large_string )
70+
71+ r = self .webhost .request ('POST' , 'get_blob_as_bytes' )
72+ self .assertEqual (r .status_code , 200 )
73+ self .assertEqual (r .text , large_string )
74+
75+ def test_blob_io_filelike (self ):
76+ r = self .webhost .request ('POST' , 'put_blob_filelike' )
77+ self .assertEqual (r .status_code , 200 )
78+ self .assertEqual (r .text , 'OK' )
79+
80+ r = self .webhost .request ('POST' , 'get_blob_filelike' )
81+ self .assertEqual (r .status_code , 200 )
82+ self .assertEqual (r .text , 'filelike' )
83+
84+ def test_blob_io_return (self ):
85+ r = self .webhost .request ('POST' , 'put_blob_return' )
86+ self .assertEqual (r .status_code , 200 )
87+
88+ r = self .webhost .request ('POST' , 'get_blob_return' )
89+ self .assertEqual (r .status_code , 200 )
90+ self .assertEqual (r .text , 'FROM RETURN' )
91+
92+ def test_blob_trigger (self ):
93+ data = "DummyData"
94+
95+ r = self .webhost .request ('POST' , 'put_blob_trigger' ,
96+ data = data .encode ('utf-8' ))
97+ self .assertEqual (r .status_code , 200 )
98+ self .assertEqual (r .text , 'OK' )
99+
100+ # Blob trigger may be processed after some delay
101+ # We check it every 2 seconds to allow the trigger to be fired
102+ max_retries = 10
103+ for try_no in range (max_retries ):
104+ time .sleep (2 )
105+
106+ try :
107+ # Check that the trigger has fired
108+ r = self .webhost .request ('GET' , 'get_blob_triggered' )
109+ self .assertEqual (r .status_code , 200 )
110+ response = r .json ()
111+
112+ self .assertEqual (response ['name' ],
113+ 'python-worker-tests/test-blob-trigger.txt' )
114+ self .assertEqual (response ['content' ], data )
115+
116+ break
117+ # JSONDecodeError will be thrown if the response is empty.
118+ except (AssertionError , JSONDecodeError ):
119+ if try_no == max_retries - 1 :
120+ raise
121+
122+ def test_blob_trigger_with_large_content (self ):
123+ data = 'DummyDataDummyDataDummyData' * 1024 * 1024 # 27 MB
124+
125+ r = self .webhost .request ('POST' , 'put_blob_trigger' ,
126+ data = data .encode ('utf-8' ))
127+ self .assertEqual (r .status_code , 200 )
128+ self .assertEqual (r .text , 'OK' )
129+
130+ # Blob trigger may be processed after some delay
131+ # We check it every 2 seconds to allow the trigger to be fired
132+ max_retries = 10
133+ for try_no in range (max_retries ):
134+ try :
135+ # Check that the trigger has fired
136+ r = self .webhost .request ('GET' , 'get_blob_triggered' )
137+
138+ # Waiting for blob to get updated
139+ time .sleep (2 )
140+
141+ self .assertEqual (r .status_code , 200 )
142+ response = r .json ()
143+
144+ self .assertEqual (response ['name' ],
145+ 'python-worker-tests/test-blob-trigger.txt' )
146+ self .assertEqual (response ['content' ], data )
147+ break
148+ # JSONDecodeError will be thrown if the response is empty.
149+ except (AssertionError , JSONDecodeError ):
150+ if try_no == max_retries - 1 :
151+ raise
153152
154153
155154@skipIf (sys .version_info .minor >= 13 ,
0 commit comments