def test_resume_store(self): now = datetime.datetime.now().strftime('%b-%d-%y-%H') resume_root = '/pysdk-%s/' % now with open('tests/resume_store.txt', 'w') as f: f.seek(15 * 1024 * 1024) f.write('abcdefghijklmnopqrstuvwxyz') with open('tests/resume_store.txt', 'rb') as f: before = upyun.make_content_md5(f) self.up.put(resume_root + 'resume_store.txt', f, headers={"X-Upyun-Multi-Type": 'text/plain'}, checksum=True, need_resume=True, store=FileStore()) with open('tests/get.txt', 'wb') as f: self.up.get(resume_root + 'resume_store.txt', f) with open('tests/get.txt', 'rb') as f: after = upyun.make_content_md5(f) self.assertEqual(before, after) os.remove('tests/get.txt') os.remove('tests/resume_store.txt') self.up.delete(resume_root + 'resume_store.txt') with self.assertRaises(upyun.UpYunServiceException) as se: time.sleep(4) self.up.getinfo(resume_root + 'resume_store.txt') self.assertEqual(se.exception.status, 404)
def test_put_with_checksum(self): with open('tests/test.png', 'rb') as f: before = upyun.make_content_md5(f) self.up.put(self.root + 'test.png', f, checksum=True) with open('tests/get.png', 'wb') as f: self.up.get(self.root + 'test.png', f) with open('tests/get.png', 'rb') as f: after = upyun.make_content_md5(f) self.assertEqual(before, after) os.remove('tests/get.png') self.delete(self.root + 'test.png') with self.assertRaises(upyun.UpYunServiceException) as se: self.up.getinfo(self.root + 'test.png') self.assertEqual(se.exception.status, 404)
def test_put_with_checksum(self): with open('tests/test.png', 'rb') as f: before = upyun.make_content_md5(f) self.up.put(self.root + 'test.png', f, checksum=True) with open('tests/get.png', 'wb') as f: self.up.get(self.root + 'test.png', f) with open('tests/get.png', 'rb') as f: after = upyun.make_content_md5(f) self.assertEqual(before, after) os.remove('tests/get.png') self.up.delete(self.root + 'test.png') with self.assertRaises(upyun.UpYunServiceException) as se: self.up.getinfo(self.root + 'test.png') self.assertEqual(se.exception.status, 404)
def test_resume_small(self): with open('tests/small-resume.txt', 'w') as f: f.seek(300 * 1024) f.write(uuid.uuid4().hex) with open('tests/small-resume.txt', 'rb') as f: before = upyun.make_content_md5(f) self.up.put(self.root + 'small-resume.txt', f, checksum=True, need_resume=True) with open('tests/get.txt', 'wb') as f: self.up.get(self.root + 'small-resume.txt', f) with open('tests/get.txt', 'rb') as f: after = upyun.make_content_md5(f) self.assertEqual(before, after) os.remove('tests/get.txt') os.remove('tests/small-resume.txt') self.up.delete(self.root + 'small-resume.txt') with self.assertRaises(upyun.UpYunServiceException) as se: self.up.getinfo(self.root + 'small-resume.txt') self.assertEqual(se.exception.status, 404)
def test_resume_small(self): with open('tests/small-resume.txt', 'w') as f: f.seek(300 * 1024) f.write(uuid.uuid4().hex) with open('tests/small-resume.txt', 'rb') as f: before = upyun.make_content_md5(f) self.up.put(self.root + 'small-resume.txt', f, checksum=True, need_resume=True) with open('tests/get.txt', 'wb') as f: self.up.get(self.root + 'small-resume.txt', f) with open('tests/get.txt', 'rb') as f: after = upyun.make_content_md5(f) self.assertEqual(before, after) os.remove('tests/get.txt') os.remove('tests/small-resume.txt') self.delete(self.root + 'small-resume.txt') with self.assertRaises(upyun.UpYunServiceException) as se: self.up.getinfo(self.root + 'small-resume.txt') self.assertEqual(se.exception.status, 404)
def test_resume_store(self): with open('tests/resume_store.txt', 'w') as f: f.seek(15 * 1024 * 1024) f.write('abcdefghijklmnopqrstuvwxyz') with open('tests/resume_store.txt', 'rb') as f: before = upyun.make_content_md5(f) self.up.put(self.root + 'resume_store.txt', f, headers={"X-Upyun-Multi-Type": 'text/plain'}, checksum=True, need_resume=True, store=FileStore()) with open('tests/get.txt', 'wb') as f: self.up.get(self.root + 'resume_store.txt', f) with open('tests/get.txt', 'rb') as f: after = upyun.make_content_md5(f) self.assertEqual(before, after) os.remove('tests/get.txt') os.remove('tests/resume_store.txt') self.delete(self.root + 'resume_store.txt') with self.assertRaises(upyun.UpYunServiceException) as se: self.up.getinfo(self.root + 'resume_store.txt') self.assertEqual(se.exception.status, 404)
def test_multi(self): uploder = self.up.init_multi_uploader(self.root + "multi") md5s = range(0, 3) data = os.urandom(512 * 1024) md5s[2] = upyun.make_content_md5(data) uploder.upload(2, data) data = os.urandom(1024 * 1024) md5s[0] = upyun.make_content_md5(data) uploder.upload(0, data) data = os.urandom(1024 * 1024) md5s[1] = upyun.make_content_md5(data) uploder.upload(1, data) multi_md5 = upyun.make_content_md5("".join(md5s)) uploder.complete(multi_md5=multi_md5) self.delete(self.root + 'multi')
def test_resume(self): now = datetime.datetime.now().strftime('%b-%d-%y-%H') resume_root = '/pysdk-%s/' % now with open('tests/resume.txt', 'w') as f: f.seek(15 * 1024 * 1024) f.write(uuid.uuid4().hex) with open('tests/resume.txt', 'rb') as f: before = upyun.make_content_md5(f) self.up.put(resume_root + 'resume.txt', f, checksum=True, need_resume=True) with open('tests/get.txt', 'wb') as f: self.up.get(resume_root + 'resume.txt', f) with open('tests/get.txt', 'rb') as f: after = upyun.make_content_md5(f) self.assertEqual(before, after) os.remove('tests/get.txt') os.remove('tests/resume.txt') self.up.delete(resume_root + 'resume.txt') with self.assertRaises(upyun.UpYunServiceException) as se: self.up.getinfo(resume_root + 'resume.txt') self.assertEqual(se.exception.status, 404)
def test_resume_small(self): now = datetime.datetime.now().strftime('%b-%d-%y-%H') resume_root = '/pysdk-%s/' % now with open('tests/small-resume.txt', 'w') as f: f.seek(300 * 1024) f.write(uuid.uuid4().hex) with open('tests/small-resume.txt', 'rb') as f: before = upyun.make_content_md5(f) self.up.put(resume_root + 'small-resume.txt', f, checksum=True, need_resume=True) with open('tests/get.txt', 'wb') as f: self.up.get(resume_root + 'small-resume.txt', f) with open('tests/get.txt', 'rb') as f: after = upyun.make_content_md5(f) self.assertEqual(before, after) os.remove('tests/get.txt') os.remove('tests/small-resume.txt') self.up.delete(resume_root + 'small-resume.txt') with self.assertRaises(upyun.UpYunServiceException) as se: time.sleep(4) self.up.getinfo(resume_root + 'small-resume.txt') self.assertEqual(se.exception.status, 404)