Example #1
0
    def test_download_with_auth(self):
        tester = file_web_server_tester(debug=self.DEBUG,
                                        users={'fred': 'flintpass'})
        tester.write_temp_content([
            'file foo.txt "this is foo.txt\n"',
            'file subdir/bar.txt "bar.txt\n"',
            'file subdir/subberdir/baz.txt "this is baz.txt\n"',
            'file emptyfile.txt',
            'dir emptydir',
        ])
        tester.start()

        url = tester.make_url('foo.txt')
        download_tmp = url_util.download_to_temp_file(url,
                                                      auth=('fred',
                                                            'flintpass'),
                                                      suffix='.txt')
        self.assertEqual('text/plain', file_mime.mime_type(download_tmp))
        self.assertEqual('this is foo.txt\n',
                         file_util.read(download_tmp, codec='utf8'))

        url = tester.make_url('subdir/subberdir/baz.txt')
        download_tmp = url_util.download_to_temp_file(url,
                                                      auth=('fred',
                                                            'flintpass'),
                                                      suffix='.txt')
        self.assertEqual('text/plain', file_mime.mime_type(download_tmp))
        self.assertEqual('this is baz.txt\n',
                         file_util.read(download_tmp, codec='utf8'))

        with self.assertRaises((url_compat.HTTPError, RuntimeError)) as ctx:
            url = tester.make_url('notthere.txt')
            tmp = url_util.download_to_temp_file(url)

        tester.stop()
Example #2
0
    def download_script(clazz, script_name):
        'Download a brew script to a temp file.'
        check.check_string(script_name)

        url = clazz._make_script_url(script_name)
        tmp = url_util.download_to_temp_file(url,
                                             suffix='-{}'.format(script_name))
        return tmp
Example #3
0
    def xtest_fail_next_request(self):
        server = web_server_controller(self._tarball_web_server)
        server.start()
        port = server.address[1]

        url = self._make_url(port, 'sources/foo/foo-1.2.3.tar.gz')
        tmp = url_util.download_to_temp_file(url, basename='foo-1.2.3.tar.gz')
        self.assertEqual(['apple.txt', 'orange.txt'], archiver.members(tmp))
        file_util.remove(tmp)

        server.fail_next_request(404)

        with self.assertRaises((url_compat.HTTPError, RuntimeError)) as ctx:
            url_util.download_to_temp_file(url, basename='foo-1.2.3.tar.gz')

        tmp = url_util.download_to_temp_file(url, basename='foo-1.2.3.tar.gz')
        self.assertEqual(['apple.txt', 'orange.txt'], archiver.members(tmp))
        file_util.remove(tmp)

        server.stop()
Example #4
0
    def xtest_tarball(self):
        server = web_server_controller(self._tarball_web_server)
        server.start()
        port = server.address[1]

        url = self._make_url(port, 'sources/foo/foo-1.2.3.tar.gz')
        tmp = url_util.download_to_temp_file(url, basename='foo-1.2.3.tar.gz')
        self.debug_spew_filename('tmp', tmp)
        self.assertEqual(['apple.txt', 'orange.txt'], archiver.members(tmp))
        self.assertTrue(file_mime.is_gzip(tmp))
        file_util.remove(tmp)

        url = self._make_url(port, 'sources/bar/bar-1.2.3.zip')
        tmp = url_util.download_to_temp_file(url, basename='bar-1.2.3.zip')
        self.debug_spew_filename('tmp', tmp)
        self.assertEqual(['apple.txt', 'orange.txt'], archiver.members(tmp))
        self.assertTrue(file_mime.is_zip(tmp))
        file_util.remove(tmp)

        server.stop()
Example #5
0
    def test_tarball_large(self):
        server = web_server_controller(self._tarball_web_server)
        server.start()
        port = server.address[1]

        url = self._make_url(port, 'sources/large/large-1.2.3.tar.gz')
        tmp = url_util.download_to_temp_file(url,
                                             basename='large-1.2.3.tar.gz')
        self.debug_spew_filename('tmp', tmp)
        self.assertEqual(['kiwi.bin'], archiver.members(tmp))
        self.assertTrue(file_mime.is_gzip(tmp))
        file_util.remove(tmp)

        server.stop()
Example #6
0
 def _download_to_tmp_file(clazz, url, cookies, debug=False, auth=None):
     'Download url to tmp file.'
     return url_util.download_to_temp_file(url,
                                           delete=not debug,
                                           cookies=cookies,
                                           auth=auth)