Beispiel #1
0
 def test_timeout(self):
     dbname, db = self.temp_db()
     timeout = 1
     session = http.Session(timeout=timeout)
     start = time.time()
     status, headers, body = session.request(
         'GET',
         db.resource.url + '/_changes?feed=longpoll&since=1000&timeout=%s' %
         (timeout * 2 * 1000, ))
     self.assertRaises(socket.timeout, body.read)
     self.assertTrue(time.time() - start < timeout * 1.3)
Beispiel #2
0
    def __init__(self, url=DEFAULT_BASE_URL, full_commit=True, session=None):
        """Initialize the server object.

        :param url: the URI of the server (for example
                    ``http://localhost:5984/``)
        :param full_commit: turn on the X-Couch-Full-Commit header
        :param session: an http.Session instance or None for a default session
        """
        if isinstance(url, util.strbase):
            self.resource = http.Resource(url, session or http.Session())
        else:
            self.resource = url # treat as a Resource object
        if not full_commit:
            self.resource.headers['X-Couch-Full-Commit'] = 'false'
Beispiel #3
0
    def __init__(self, credentials, server=None, database=None):
        """
        Connect to the CouchDB server. If no database name is given,
        use the name provided in the settings
        """

        self.url = (server if server is not None else settings.SERVER)
        self.database_name = database or settings.DATABASE
        self.server = couchdb.client.Server(
            self.url, session=http.Session(retry_delays=[5, 30]))
        self.server.resource.credentials = credentials
        try:
            self.database = self.server[self.database_name]
        except ResourceNotFound:
            self.database = self.server.create(self.database_name)

        self.view = View(self.database)
Beispiel #4
0
 def test_init_with_session(self):
     sess = http.Session()
     serv = client.Server(client.DEFAULT_BASE_URL, session=sess)
     serv.config()
     self.assertTrue(serv.resource.session is sess)
Beispiel #5
0
 def test_init_with_resource(self):
     sess = http.Session()
     res = http.Resource(client.DEFAULT_BASE_URL, sess)
     serv = client.Server(url=res)
     serv.config()
Beispiel #6
0
 def test_timeout_retry(self):
     dbname, db = self.temp_db()
     timeout = 1e-12
     session = http.Session(timeout=timeout, retryable_errors=["timed out"])
     self.assertRaises(socket.timeout, session.request, 'GET',
                       db.resource.url)