Beispiel #1
0
 def get_file(self, file_name):
     client = WebDAVClient("127.0.0.1", 9997)
     client.timeout = 1
     try:
         response = client.get('/%s'%file_name)
     except socket.timeout, err:
         pass
Beispiel #2
0
    def connect(self, ):

        urlparsed = requests.utils.urlparse(self.url)

        self.wc = WebDAVClient(host=urlparsed.netloc,
                               protocol=urlparsed.scheme)

        self.wc.setbasicauth(self.login.encode('utf-8'),
                             self.passwd.encode('utf-8'))
        time_delta = None

        local_time = datetime.datetime.utcnow()

        response = self.wc.options('/').headers.get('date')
        if response is None:
            response = self.wc.options('/').headers.get('Date')

        remote_datetime = \
            rfc822.parsedate(response)

        self.timedelta = time.mktime(local_time.utctimetuple()) \
            - time.mktime(remote_datetime)

        self._check_notes_folder()

        return time_delta
Beispiel #3
0
    def test04_get(self):
        client = WebDAVClient("127.0.0.1", 8080)

        response = client.get('/foo')
        self.assertEqual(response.statusline, 'HTTP/1.1 200 OK')

        response = client.get(FILE_PATH)
        self.assertEqual(response.statusline, 'HTTP/1.1 200 OK')

        self.assertEqual(TestIdepositbox.CHECKSUM, hashlib.sha1(response.content).hexdigest())
Beispiel #4
0
    def test01_create_dir(self):
        print '** connecting to webdav server'
        client = WebDAVClient("127.0.0.1", 8080)
        print '** connected to webdav server'
        response = client.mkcol("/foo")
        print '** mkcol response = %s'%response
        self.assertEqual(response.statusline, 'HTTP/1.1 201 Created')

        with self.assertRaises(HTTPUserError):
            response = client.mkcol("/foo2/test1/test2")
        print '** /foo is created...'
Beispiel #5
0
    def test05_delete(self):
        client = WebDAVClient("127.0.0.1", 8080)
        response = client.delete(FILE_PATH)
        self.assertEqual(response.statusline, 'HTTP/1.1 204 No Content')

        with self.assertRaises(HTTPUserError):
            response = client.delete(FILE_PATH)

        response = client.delete('/foo/')
        self.assertEqual(response.statusline, 'HTTP/1.1 204 No Content')

        with self.assertRaises(HTTPUserError):
            client.propfind("/foo")
Beispiel #6
0
    def test03_put(self):
        print '** creating test file at %s'%TEST_FILE
        fb = open(TEST_FILE, 'wb')
        data = ''.join(random.choice(string.letters) for i in xrange(1024))
        data *= 5*1024
        fb.write(data)
        fb.close()
        print '** file is created!'

        TestIdepositbox.CHECKSUM = hashlib.sha1(data).hexdigest()
        client = WebDAVClient("127.0.0.1", 8080)

        print '** PUT file content to 127.0.0.1:8080!'
        with open(TEST_FILE) as fd:
            response = client.put(FILE_PATH, fd, "text/plain")
            self.assertEqual(response.statusline, 'HTTP/1.1 201 Created')

        response = client.propfind("/foo", depth=1)
        self.assertTrue('displayname>test_с_русскими_буквами.out<' in response.content)

        print '** waiting while file is synchronized!'
        wait_oper_status(TestIdepositbox.CLIENT.get_nibbler().inprocess_operations, FILE_PATH, Transaction.TS_FINISHED)
        print '** file is synchronized!'
Beispiel #7
0
            return True
        else:
            return False
    else:
        return False


if __name__ == "__main__":
    random.seed(time.time())
    good_put = 0
    error_put = 0
    good_get = 0
    error_get = 0
    total_size = 0
    for c in range(1, 10):
        client = WebDAVClient("192.168.56.103", 6601)
        for r in range(1, 10):
            filename = "/tmp/" + "metis_web_dav_test_" + str(r)
            size = random.randint(1024, 100000)
            (fileobject, crc) = gen_file(filename, size)
            uri = "/1/2/" + str(r) + ".jpg"
            res = upload_file(client, fileobject, uri)
            if res:
                good_put += 1
            else:
                error_put += 1
            res = download_file(client, uri, crc)
            if res:
                good_get += 1
            else:
                error_get += 1
Beispiel #8
0
 def test02_propfind(self):
     client = WebDAVClient("127.0.0.1", 8080)
     response = client.propfind("/foo")
     self.assertEqual(response.statusline, 'HTTP/1.1 207 Multistatus')
     self.assertTrue('displayname>foo<' in response.content)
Beispiel #9
0
 def _get_client(self):
     client = WebDAVClient(self.url, self.port)
     client.setbasicauth(self.user, self.pwd)
     client.timeout = 60  #set reasonable timeout
     return client
Beispiel #10
0
 def send_file(self, file_name, file_len):
     client = WebDAVClient("127.0.0.1", 9997)
     response = client.put('/%s'%file_name, RANDOM(file_len), "text/plain")
     self.assertEqual(response.statusline, 'HTTP/1.1 201 Created')