Example #1
0
    def test_RawResponse_class_read_method(self):
        """
        Test that the RawResponse class includes a response
        property which exhibits the same properties and methods
        as httplib.HTTPResponse for backward compat <1.5.0
        """
        TEST_DATA = '1234abcd'

        conn = Connection(host='mock.com', port=80, secure=False)
        conn.connect()

        with requests_mock.Mocker() as m:
            m.register_uri('GET',
                           'http://mock.com/raw_data',
                           text=TEST_DATA,
                           headers={'test': 'value'})
            response = conn.request('/raw_data', raw=True)
        data = response.response.read()
        self.assertEqual(data, TEST_DATA)

        header_value = response.response.getheader('test')
        self.assertEqual(header_value, 'value')

        headers = response.response.getheaders()
        self.assertEqual(headers, [('test', 'value')])

        self.assertEqual(response.response.status, 200)
 def test_secure_by_default(self):
     """
     Test that the connection class will default to secure (https)
     """
     conn = Connection(host='localhost', port=8081)
     conn.connect()
     self.assertEqual(conn.connection.host, 'https://localhost:8081')
Example #3
0
 def test_secure_by_default(self):
     """
     Test that the connection class will default to secure (https)
     """
     conn = Connection(host='localhost', port=8081)
     conn.connect()
     self.assertEqual(conn.connection.host, 'https://localhost:8081')
Example #4
0
    def test_RawResponse_class_read_method(self):
        """
        Test that the RawResponse class includes a response
        property which exhibits the same properties and methods
        as httplib.HTTPResponse for backward compat <1.5.0
        """
        TEST_DATA = "1234abcd"

        conn = Connection(host="mock.com", port=80, secure=False)
        conn.connect()

        with requests_mock.Mocker() as m:
            m.register_uri(
                "GET",
                "http://mock.com/raw_data",
                text=TEST_DATA,
                headers={"test": "value"},
            )
            response = conn.request("/raw_data", raw=True)
        data = response.response.read()
        self.assertEqual(data, TEST_DATA)

        header_value = response.response.getheader("test")
        self.assertEqual(header_value, "value")

        headers = response.response.getheaders()
        self.assertEqual(headers, [("test", "value")])

        self.assertEqual(response.response.status, 200)
    def test_RawResponse_class_read_method(self):
        """
        Test that the RawResponse class includes a response
        property which exhibits the same properties and methods
        as httplib.HTTPResponse for backward compat <1.5.0
        """
        TEST_DATA = '1234abcd'

        conn = Connection(host='mock.com', port=80, secure=False)
        conn.connect()

        with requests_mock.Mocker() as m:
            m.register_uri('GET', 'http://mock.com/raw_data', text=TEST_DATA,
                           headers={'test': 'value'})
            response = conn.request('/raw_data', raw=True)
        data = response.response.read()
        self.assertEqual(data, TEST_DATA)

        header_value = response.response.getheader('test')
        self.assertEqual(header_value, 'value')

        headers = response.response.getheaders()
        self.assertEqual(headers, [('test', 'value')])

        self.assertEqual(response.response.status, 200)
Example #6
0
 def test_connection_url_merging(self):
     """
     Test that the connection class will parse URLs correctly
     """
     conn = Connection(url="http://test.com/")
     conn.connect()
     self.assertEqual(conn.connection.host, "http://test.com")
     with requests_mock.mock() as m:
         m.get("http://test.com/test", text="data")
         response = conn.request("/test")
     self.assertEqual(response.body, "data")
 def test_connection_url_merging(self):
     """
     Test that the connection class will parse URLs correctly
     """
     conn = Connection(url='http://test.com/')
     conn.connect()
     self.assertEqual(conn.connection.host, 'http://test.com')
     with requests_mock.mock() as m:
         m.get('http://test.com/test', text='data')
         response = conn.request('/test')
     self.assertEqual(response.body, 'data')
Example #8
0
 def test_connection_url_merging(self):
     """
     Test that the connection class will parse URLs correctly
     """
     conn = Connection(url='http://test.com/')
     conn.connect()
     self.assertEqual(conn.connection.host, 'http://test.com')
     with requests_mock.mock() as m:
         m.get('http://test.com/test', text='data')
         response = conn.request('/test')
     self.assertEqual(response.body, 'data')
    def test_insecure_connection_unusual_port(self):
        """
        Test that the connection will allow unusual ports and insecure
        schemes
        """
        conn = Connection(secure=False, host='localhost', port=8081)
        conn.connect()
        self.assertEqual(conn.connection.host, 'http://localhost:8081')

        conn2 = Connection(url='http://localhost:8081')
        conn2.connect()
        self.assertEqual(conn2.connection.host, 'http://localhost:8081')
    def test_secure_connection_unusual_port(self):
        """
        Test that the connection class will default to secure (https) even
        when the port is an unusual (non 443, 80) number
        """
        conn = Connection(secure=True, host='localhost', port=8081)
        conn.connect()
        self.assertEqual(conn.connection.host, 'https://localhost:8081')

        conn2 = Connection(url='https://localhost:8081')
        conn2.connect()
        self.assertEqual(conn2.connection.host, 'https://localhost:8081')
Example #11
0
    def test_secure_connection_unusual_port(self):
        """
        Test that the connection class will default to secure (https) even
        when the port is an unusual (non 443, 80) number
        """
        conn = Connection(secure=True, host='localhost', port=8081)
        conn.connect()
        self.assertEqual(conn.connection.host, 'https://localhost:8081')

        conn2 = Connection(url='https://localhost:8081')
        conn2.connect()
        self.assertEqual(conn2.connection.host, 'https://localhost:8081')
Example #12
0
    def test_implicit_port(self):
        """
        Test that the port is not included in the URL if the protocol implies
        the port, e.g. http implies 80
        """
        conn = Connection(secure=True, host='localhost', port=443)
        conn.connect()
        self.assertEqual(conn.connection.host, 'https://localhost')

        conn2 = Connection(secure=False, host='localhost', port=80)
        conn2.connect()
        self.assertEqual(conn2.connection.host, 'http://localhost')
    def test_implicit_port(self):
        """
        Test that the port is not included in the URL if the protocol implies
        the port, e.g. http implies 80
        """
        conn = Connection(secure=True, host='localhost', port=443)
        conn.connect()
        self.assertEqual(conn.connection.host, 'https://localhost')

        conn2 = Connection(secure=False, host='localhost', port=80)
        conn2.connect()
        self.assertEqual(conn2.connection.host, 'http://localhost')
Example #14
0
    def test_insecure_connection_unusual_port(self):
        """
        Test that the connection will allow unusual ports and insecure
        schemes
        """
        conn = Connection(secure=False, host='localhost', port=8081)
        conn.connect()
        self.assertEqual(conn.connection.host, 'http://localhost:8081')

        conn2 = Connection(url='http://localhost:8081')
        conn2.connect()
        self.assertEqual(conn2.connection.host, 'http://localhost:8081')
 def test_connect_with_prefix(self):
     """
     Test that a connection with a base path (e.g. /v1/) will
     add the base path to requests
     """
     conn = Connection(url='http://test.com/')
     conn.connect()
     conn.request_path = '/v1'
     self.assertEqual(conn.connection.host, 'http://test.com')
     with requests_mock.mock() as m:
         m.get('http://test.com/v1/test', text='data')
         response = conn.request('/test')
     self.assertEqual(response.body, 'data')
 def test_debug_log_class_handles_request(self):
     with StringIO() as fh:
         libcloud.enable_debug(fh)
         conn = Connection(url='http://test.com/')
         conn.connect()
         self.assertEqual(conn.connection.host, 'http://test.com')
         with requests_mock.mock() as m:
             m.get('http://test.com/test', text='data')
             conn.request('/test')
         log = fh.getvalue()
     self.assertTrue(isinstance(conn.connection, LoggingConnection))
     self.assertIn('-i -X GET', log)
     self.assertIn('data', log)
Example #17
0
 def test_debug_log_class_handles_request(self):
     with StringIO() as fh:
         libcloud.enable_debug(fh)
         conn = Connection(url="http://test.com/")
         conn.connect()
         self.assertEqual(conn.connection.host, "http://test.com")
         with requests_mock.mock() as m:
             m.get("http://test.com/test", text="data")
             conn.request("/test")
         log = fh.getvalue()
     self.assertTrue(isinstance(conn.connection, LoggingConnection))
     self.assertIn("-i -X GET", log)
     self.assertIn("data", log)
Example #18
0
 def test_connect_with_prefix(self):
     """
     Test that a connection with a base path (e.g. /v1/) will
     add the base path to requests
     """
     conn = Connection(url="http://test.com/")
     conn.connect()
     conn.request_path = "/v1"
     self.assertEqual(conn.connection.host, "http://test.com")
     with requests_mock.mock() as m:
         m.get("http://test.com/v1/test", text="data")
         response = conn.request("/test")
     self.assertEqual(response.body, "data")
 def test_debug_log_class_handles_request(self):
     with StringIO() as fh:
         libcloud.enable_debug(fh)
         conn = Connection(url='http://test.com/')
         conn.connect()
         self.assertEqual(conn.connection.host, 'http://test.com')
         with requests_mock.mock() as m:
             m.get('http://test.com/test', text='data')
             conn.request('/test')
         log = fh.getvalue()
     self.assertTrue(isinstance(conn.connection, LoggingConnection))
     self.assertIn('-i -X GET', log)
     self.assertIn('data', log)
Example #20
0
 def test_connect_with_prefix(self):
     """
     Test that a connection with a base path (e.g. /v1/) will
     add the base path to requests
     """
     conn = Connection(url='http://test.com/')
     conn.connect()
     conn.request_path = '/v1'
     self.assertEqual(conn.connection.host, 'http://test.com')
     with requests_mock.mock() as m:
         m.get('http://test.com/v1/test', text='data')
         response = conn.request('/test')
     self.assertEqual(response.body, 'data')
 def test_debug_log_class_handles_request_with_compression(self):
     request = zlib.compress(b'data')
     with StringIO() as fh:
         libcloud.enable_debug(fh)
         conn = Connection(url='http://test.com/')
         conn.connect()
         self.assertEqual(conn.connection.host, 'http://test.com')
         with requests_mock.mock() as m:
             m.get('http://test.com/test',
                   content=request,
                   headers={'content-encoding': 'zlib'})
             conn.request('/test')
         log = fh.getvalue()
     self.assertTrue(isinstance(conn.connection, LoggingConnection))
     self.assertIn('-i -X GET', log)
Example #22
0
 def test_debug_log_class_handles_request_with_compression(self):
     request = zlib.compress(b"data")
     with StringIO() as fh:
         libcloud.enable_debug(fh)
         conn = Connection(url="http://test.com/")
         conn.connect()
         self.assertEqual(conn.connection.host, "http://test.com")
         with requests_mock.mock() as m:
             m.get(
                 "http://test.com/test",
                 content=request,
                 headers={"content-encoding": "zlib"},
             )
             conn.request("/test")
         log = fh.getvalue()
     self.assertTrue(isinstance(conn.connection, LoggingConnection))
     self.assertIn("-i -X GET", log)
 def test_debug_method_uses_log_class(self):
     with StringIO() as fh:
         libcloud.enable_debug(fh)
         conn = Connection(timeout=10)
         conn.connect()
     self.assertTrue(isinstance(conn.connection, LoggingConnection))
 def test_debug_method_uses_log_class(self):
     with StringIO() as fh:
         libcloud.enable_debug(fh)
         conn = Connection(timeout=10)
         conn.connect()
     self.assertTrue(isinstance(conn.connection, LoggingConnection))