예제 #1
0
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())
예제 #2
0
파일: tests.py 프로젝트: neo1218/Flask-Zero
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())
예제 #3
0
    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