@@ -129,7 +129,7 @@ def test_head(self, do_request):
129129
130130 @patch ('oss2.Session.do_request' )
131131 def test_object_exists_true (self , do_request ):
132- request_text = '''GET /sbowspxjhmccpmesjqcwagfw?objectMeta HTTP/1.1
132+ request_text = '''HEAD /sbowspxjhmccpmesjqcwagfw?objectMeta HTTP/1.1
133133Host: ming-oss-share.oss-cn-hangzhou.aliyuncs.com
134134Accept-Encoding: identity
135135Connection: keep-alive
@@ -154,7 +154,7 @@ def test_object_exists_true(self, do_request):
154154
155155 @patch ('oss2.Session.do_request' )
156156 def test_object_exists_false (self , do_request ):
157- request_text = '''GET /sbowspxjhmccpmesjqcwagfw?objectMeta HTTP/1.1
157+ request_text = '''HEAD /sbowspxjhmccpmesjqcwagfw?objectMeta HTTP/1.1
158158Host: ming-oss-share.oss-cn-hangzhou.aliyuncs.com
159159Accept-Encoding: identity
160160Connection: keep-alive
@@ -170,15 +170,57 @@ def test_object_exists_false(self, do_request):
170170Content-Length: 287
171171Connection: keep-alive
172172x-oss-request-id: 566B6C3D6086505A0CFF0F68
173+ '''
173174
174- <?xml version="1.0" encoding="UTF-8"?>
175- <Error>
176- <Code>NoSuchKey</Code>
177- <Message>The specified key does not exist.</Message>
178- <RequestId>566B6C3D6086505A0CFF0F68</RequestId>
179- <HostId>ming-oss-share.oss-cn-hangzhou.aliyuncs.com</HostId>
180- <Key>sbowspxjhmccpmesjqcwagfw</Key>
181- </Error>'''
175+ req_info = mock_response (do_request , response_text )
176+ self .assertTrue (not bucket ().object_exists ('sbowspxjhmccpmesjqcwagfw' ))
177+ self .assertRequest (req_info , request_text )
178+
179+ @patch ('oss2.Session.do_request' )
180+ def test_object_exists_false_with_err_header (self , do_request ):
181+ request_text = '''HEAD /sbowspxjhmccpmesjqcwagfw?objectMeta HTTP/1.1
182+ Host: ming-oss-share.oss-cn-hangzhou.aliyuncs.com
183+ Accept-Encoding: identity
184+ Connection: keep-alive
185+ date: Sat, 12 Dec 2015 00:37:17 GMT
186+ User-Agent: aliyun-sdk-python/2.0.2(Windows/7/;3.3.3)
187+ Accept: */*
188+ authorization: OSS ZCDmm7TPZKHtx77j:wopWcmMd/70eNKYOc9M6ZA21yY8='''
189+
190+ response_text = '''HTTP/1.1 404 Not Found
191+ Server: AliyunOSS
192+ Date: Sat, 12 Dec 2015 00:37:17 GMT
193+ Content-Type: application/xml
194+ Content-Length: 287
195+ Connection: keep-alive
196+ x-oss-request-id: 566B6C3D6086505A0CFF0F68
197+ x-oss-err: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxFcnJvcj4NCiAgPENvZGU+Tm9TdWNoS2V5PC9Db2RlPg0KICA8TWVzc2FnZT5UaGUgc3BlY2lmaWVkIGtleSBkb2VzIG5vdCBleGlzdC48L01lc3NhZ2U+DQogIDxSZXF1ZXN0SWQ+NTY2QjZDM0Q2MDg2NTA1QTBDRkYwRjY4PC9SZXF1ZXN0SWQ+DQogIDxIb3N0SWQ+bWluZy1vc3Mtc2hhcmUub3NzLWNuLWhhbmd6aG91LmFsaXl1bmNzLmNvbTwvSG9zdElkPg0KICA8S2V5PnNib3dzcHhqaG1jY3BtZXNqcWN3YWdmdzwvS2V5Pg0KPC9FcnJvcj4=
198+ '''
199+
200+ req_info = mock_response (do_request , response_text )
201+ self .assertTrue (not bucket ().object_exists ('sbowspxjhmccpmesjqcwagfw' ))
202+ self .assertRequest (req_info , request_text )
203+
204+ @patch ('oss2.Session.do_request' )
205+ def test_object_exists_false_with_invalid_err_header (self , do_request ):
206+ request_text = '''HEAD /sbowspxjhmccpmesjqcwagfw?objectMeta HTTP/1.1
207+ Host: ming-oss-share.oss-cn-hangzhou.aliyuncs.com
208+ Accept-Encoding: identity
209+ Connection: keep-alive
210+ date: Sat, 12 Dec 2015 00:37:17 GMT
211+ User-Agent: aliyun-sdk-python/2.0.2(Windows/7/;3.3.3)
212+ Accept: */*
213+ authorization: OSS ZCDmm7TPZKHtx77j:wopWcmMd/70eNKYOc9M6ZA21yY8='''
214+
215+ response_text = '''HTTP/1.1 404 Not Found
216+ Server: AliyunOSS
217+ Date: Sat, 12 Dec 2015 00:37:17 GMT
218+ Content-Type: application/xml
219+ Content-Length: 287
220+ Connection: keep-alive
221+ x-oss-request-id: 566B6C3D6086505A0CFF0F68
222+ x-oss-err: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxFcnJvcj4NCiAgPENvZGU+Tm9TdWNoS2V5PC9Db2RlPg0KICA8TWVzc2FnZT5UaGUgc3BlY2lmaWVkIGtleSBkb2VzIG5vdCBleGlzdC48L01lc3NhZ2U+DQogIDxSZXF1ZXN0SWQ+NTY2QjZDM0Q2MDg2NTA1QTBDRkYwRjY4PC9SZXF1ZXN0SWQ+DQogIDxIb3N0SWQ+bWluZy1vc3Mtc2hhcmUub3NzLWNuLWhhbmd6aG91LmFsaXl1bmNzLmNvbTwvSG9zdElkPg0KICA8S2V5PnNib3dzcHhqaG1jY3BtZXNqcWN3YWdmdzwvS2V5Pg0KPC9FcnJvcj4
223+ '''
182224
183225 req_info = mock_response (do_request , response_text )
184226 self .assertTrue (not bucket ().object_exists ('sbowspxjhmccpmesjqcwagfw' ))
0 commit comments