|
16 | 16 | from qiniu import put_data, put_file, put_stream
|
17 | 17 | from qiniu import BucketManager, build_batch_copy, build_batch_rename, build_batch_move, build_batch_stat, \
|
18 | 18 | build_batch_delete, DomainManager
|
19 |
| -from qiniu import urlsafe_base64_encode, urlsafe_base64_decode, canonical_mime_header_key |
| 19 | +from qiniu import urlsafe_base64_encode, urlsafe_base64_decode, canonical_mime_header_key, entry, decode_entry |
20 | 20 |
|
21 | 21 | from qiniu.compat import is_py2, is_py3, b, json
|
22 | 22 |
|
@@ -255,6 +255,90 @@ def test_canonical_mime_header_key(self):
|
255 | 255 | for i in range(len(field_names)):
|
256 | 256 | assert canonical_mime_header_key(field_names[i]) == expect_canonical_field_names[i]
|
257 | 257 |
|
| 258 | + def test_entry(self): |
| 259 | + case_list = [ |
| 260 | + { |
| 261 | + 'msg': 'normal', |
| 262 | + 'bucket': 'qiniuphotos', |
| 263 | + 'key': 'gogopher.jpg', |
| 264 | + 'expect': 'cWluaXVwaG90b3M6Z29nb3BoZXIuanBn' |
| 265 | + }, |
| 266 | + { |
| 267 | + 'msg': 'key empty', |
| 268 | + 'bucket': 'qiniuphotos', |
| 269 | + 'key': '', |
| 270 | + 'expect': 'cWluaXVwaG90b3M6' |
| 271 | + }, |
| 272 | + { |
| 273 | + 'msg': 'key undefined', |
| 274 | + 'bucket': 'qiniuphotos', |
| 275 | + 'key': None, |
| 276 | + 'expect': 'cWluaXVwaG90b3M=' |
| 277 | + }, |
| 278 | + { |
| 279 | + 'msg': 'key need replace plus symbol', |
| 280 | + 'bucket': 'qiniuphotos', |
| 281 | + 'key': '012ts>a', |
| 282 | + 'expect': 'cWluaXVwaG90b3M6MDEydHM-YQ==' |
| 283 | + }, |
| 284 | + { |
| 285 | + 'msg': 'key need replace slash symbol', |
| 286 | + 'bucket': 'qiniuphotos', |
| 287 | + 'key': '012ts?a', |
| 288 | + 'expect': 'cWluaXVwaG90b3M6MDEydHM_YQ==' |
| 289 | + } |
| 290 | + ] |
| 291 | + for c in case_list: |
| 292 | + assert c.get('expect') == entry(c.get('bucket'), c.get('key')), c.get('msg') |
| 293 | + |
| 294 | + def test_decode_entry(self): |
| 295 | + case_list = [ |
| 296 | + { |
| 297 | + 'msg': 'normal', |
| 298 | + 'expect': { |
| 299 | + 'bucket': 'qiniuphotos', |
| 300 | + 'key': 'gogopher.jpg' |
| 301 | + }, |
| 302 | + 'entry': 'cWluaXVwaG90b3M6Z29nb3BoZXIuanBn' |
| 303 | + }, |
| 304 | + { |
| 305 | + 'msg': 'key empty', |
| 306 | + 'expect': { |
| 307 | + 'bucket': 'qiniuphotos', |
| 308 | + 'key': '' |
| 309 | + }, |
| 310 | + 'entry': 'cWluaXVwaG90b3M6' |
| 311 | + }, |
| 312 | + { |
| 313 | + 'msg': 'key undefined', |
| 314 | + 'expect': { |
| 315 | + 'bucket': 'qiniuphotos', |
| 316 | + 'key': None |
| 317 | + }, |
| 318 | + 'entry': 'cWluaXVwaG90b3M=' |
| 319 | + }, |
| 320 | + { |
| 321 | + 'msg': 'key need replace plus symbol', |
| 322 | + 'expect': { |
| 323 | + 'bucket': 'qiniuphotos', |
| 324 | + 'key': '012ts>a' |
| 325 | + }, |
| 326 | + 'entry': 'cWluaXVwaG90b3M6MDEydHM-YQ==' |
| 327 | + }, |
| 328 | + { |
| 329 | + 'msg': 'key need replace slash symbol', |
| 330 | + 'expect': { |
| 331 | + 'bucket': 'qiniuphotos', |
| 332 | + 'key': '012ts?a' |
| 333 | + }, |
| 334 | + 'entry': 'cWluaXVwaG90b3M6MDEydHM_YQ==' |
| 335 | + } |
| 336 | + ] |
| 337 | + for c in case_list: |
| 338 | + bucket, key = decode_entry(c.get('entry')) |
| 339 | + assert bucket == c.get('expect').get('bucket'), c.get('msg') |
| 340 | + assert key == c.get('expect').get('key'), c.get('msg') |
| 341 | + |
258 | 342 |
|
259 | 343 | class AuthTestCase(unittest.TestCase):
|
260 | 344 | def test_token(self):
|
|
0 commit comments