Exemple #1
0
    def test_uploader(self, cleandir, shared_datadir, upload_plugin_type):

        uploaders = [
            TestUploaderPass(),
            TestUploaderFail(),
            TestUploaderRetryPass(),
            TestUploaderRetryFail()
        ]

        # Don't mind the name, should only contain 1 plugin
        upload_plugins = [u for u in uploaders if u.name == upload_plugin_type]

        if six.PY2 or sys.version_info[1] in [4, 5]:
            data_dir = str(shared_datadir)
        else:
            data_dir = shared_datadir

        if not os.path.exists(data_dir):
            os.makedirs(data_dir)

        with ChDir(data_dir):
            uploader = Uploader(config=Config(), plugins=upload_plugins)

            upload_plugin = upload_plugins[0]

            uploader.set_uploader(upload_plugin_type)
            assert uploader.uploader.name == upload_plugin_type

            if 'success' in upload_plugin.name:
                assert uploader.upload(['/file1']) is True
            elif 'fail' in upload_plugin.name:
                assert uploader.upload(['/file2']) is False
Exemple #2
0
    def test_set_uploader_fail(self):
        u = Uploader()
        u.init({'test': 'test'})
        with pytest.raises(UploaderError):
            u.set_uploader([])

        with pytest.raises(UploaderPluginError):
            u.set_uploader('bad plugin name')
Exemple #3
0
    def test_upload(self, httpbin):
        class MyUploader(BaseUploader):
            def init(self, **kwargs):
                self.file_list = ['test']

            def upload_file(self, filename):
                with open('testfile.txt', 'wb') as f:
                    f.write('this is some text')
                with open('testfile.txt', 'rb') as f:
                    data = f.read()
                files = {'file': data}
                r = requests.post(httpbin.url + '/post', files=files)
                assert r.json()['files']['file'] == data

        u = Uploader()
        u.init({'test': 'test'})
        u.uploader = MyUploader()
        u.uploader.init(test='test')
        u.upload()
Exemple #4
0
 def test_fail_no_uploader_set_fail(self, httpbin):
     with pytest.raises(UploaderError):
         u = Uploader()
         u.init({})
         u.upload()
Exemple #5
0
 def test_set_uploader(self):
     u = Uploader()
     u.init({'OBJECT_BUCKET': 'vdpro'})
     u.set_uploader('s3')
     assert u.uploader is not None
Exemple #6
0
 def _update(self, config, db):
     self.kh = KeyHandler(config, db)
     self.ph = PackageHandler(config, db)
     self.up = Uploader(config)
Exemple #7
0
 def _update(self, config):
     self.kh = KeyHandler()
     self.key_importer = KeyImporter()
     self.ph = PackageHandler(config)
     self.up = Uploader(config)