class FlaskQiniuStorageTestCase(unittest.TestCase): def setUp(self): self.app = Flask(__name__) self.app.config.from_object(__name__) self.qiniu = Qiniu(self.app) def test_save(self): data = 'test_save' filename = 'test_save' ret, info = self.qiniu.save(data, filename) self.assertIsInstance(ret, dict) self.assertEqual(ret['key'], filename) self.assertIsNotNone(ret.get('hash')) def test_delete(self): data = 'test_delete' filename = 'test_delete' self.qiniu.save(data, filename) ret, info = self.qiniu.delete(filename) self.assertIsInstance(ret, dict) self.assertFalse(ret) def test_url(self): data = 'test_url' filename = 'test_url' self.qiniu.save(data, filename) url = self.qiniu.url(filename) resp = urllib.request.urlopen(url) self.assertEqual(data, resp.read())
class FlaskQiniuStorageTestCase(unittest.TestCase): def setUp(self): self.app = Flask(__name__) self.app.config.from_object(__name__) self.qiniu = Qiniu(self.app) def test_save(self): data = 'test_save' filename = 'test_save' ret, info = self.qiniu.save(data, filename) self.assertIsInstance(ret, dict) self.assertEqual(ret['key'], filename) self.assertIsNotNone(ret.get('hash')) def test_delete(self): data = 'test_delete' filename = 'test_delete' self.qiniu.save(data, filename) ret, info = self.qiniu.delete(filename) self.assertIsInstance(ret, dict) self.assertFalse(ret) def test_url(self): data = 'test_url' filename = 'test_url' self.qiniu.save(data, filename) url = self.qiniu.url(filename) resp = urllib.urlopen(url) self.assertEqual(data, resp.read())
def _save_file(self, data, filename): path = self._get_path(filename) if not op.exists(op.dirname(path)): os.makedirs(os.path.dirname(path), self.permission | 0o111) data.seek(0) data.save(path) qiniu_store = Qiniu(current_app) with open(path, 'rb') as fp: ret, info = qiniu_store.save(fp, filename) if 200 != info.status_code: raise Exception("upload to qiniu failed", ret) # shutil.rmtree(os.path.dirname(path)) return filename