Exemplo n.º 1
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')
Exemplo n.º 2
0
    def test_morph_action_hook(self):
        conn = Connection(url="http://test.com")

        conn.request_path = ''
        self.assertEqual(conn.morph_action_hook('/test'), '/test')
        self.assertEqual(conn.morph_action_hook('test'), '/test')

        conn.request_path = '/v1'
        self.assertEqual(conn.morph_action_hook('/test'), '/v1/test')
        self.assertEqual(conn.morph_action_hook('test'), '/v1/test')

        conn.request_path = '/v1'
        self.assertEqual(conn.morph_action_hook('/test'), '/v1/test')
        self.assertEqual(conn.morph_action_hook('test'), '/v1/test')

        conn.request_path = 'v1'
        self.assertEqual(conn.morph_action_hook('/test'), '/v1/test')
        self.assertEqual(conn.morph_action_hook('test'), '/v1/test')

        conn.request_path = 'v1/'
        self.assertEqual(conn.morph_action_hook('/test'), '/v1/test')
        self.assertEqual(conn.morph_action_hook('test'), '/v1/test')
Exemplo n.º 3
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")
Exemplo n.º 4
0
    def test_morph_action_hook(self):
        conn = Connection(url="http://test.com")

        conn.request_path = ''
        self.assertEqual(conn.morph_action_hook('/test'), '/test')
        self.assertEqual(conn.morph_action_hook('test'), '/test')

        conn.request_path = '/v1'
        self.assertEqual(conn.morph_action_hook('/test'), '/v1/test')
        self.assertEqual(conn.morph_action_hook('test'), '/v1/test')

        conn.request_path = '/v1'
        self.assertEqual(conn.morph_action_hook('/test'), '/v1/test')
        self.assertEqual(conn.morph_action_hook('test'), '/v1/test')

        conn.request_path = 'v1'
        self.assertEqual(conn.morph_action_hook('/test'), '/v1/test')
        self.assertEqual(conn.morph_action_hook('test'), '/v1/test')

        conn.request_path = 'v1/'
        self.assertEqual(conn.morph_action_hook('/test'), '/v1/test')
        self.assertEqual(conn.morph_action_hook('test'), '/v1/test')

        conn.request_path = '/a'
        self.assertEqual(conn.morph_action_hook('//b/c.txt'), '/a/b/c.txt')

        conn.request_path = '/b'
        self.assertEqual(conn.morph_action_hook('/foo//'), '/b/foo/')

        libcloud.common.base.ALLOW_PATH_DOUBLE_SLASHES = True

        conn.request_path = '/'
        self.assertEqual(conn.morph_action_hook('/'), '//')

        conn.request_path = ''
        self.assertEqual(conn.morph_action_hook('/'), '/')

        conn.request_path = '/a'
        self.assertEqual(conn.morph_action_hook('//b/c.txt'), '/a//b/c.txt')

        conn.request_path = '/b'
        self.assertEqual(conn.morph_action_hook('/foo//'), '/b/foo//')
Exemplo n.º 5
0
    def test_morph_action_hook(self):
        conn = Connection(url="http://test.com")

        conn.request_path = ""
        self.assertEqual(conn.morph_action_hook("/test"), "/test")
        self.assertEqual(conn.morph_action_hook("test"), "/test")

        conn.request_path = "/v1"
        self.assertEqual(conn.morph_action_hook("/test"), "/v1/test")
        self.assertEqual(conn.morph_action_hook("test"), "/v1/test")

        conn.request_path = "/v1"
        self.assertEqual(conn.morph_action_hook("/test"), "/v1/test")
        self.assertEqual(conn.morph_action_hook("test"), "/v1/test")

        conn.request_path = "v1"
        self.assertEqual(conn.morph_action_hook("/test"), "/v1/test")
        self.assertEqual(conn.morph_action_hook("test"), "/v1/test")

        conn.request_path = "v1/"
        self.assertEqual(conn.morph_action_hook("/test"), "/v1/test")
        self.assertEqual(conn.morph_action_hook("test"), "/v1/test")

        conn.request_path = "/a"
        self.assertEqual(conn.morph_action_hook("//b/c.txt"), "/a/b/c.txt")

        conn.request_path = "/b"
        self.assertEqual(conn.morph_action_hook("/foo//"), "/b/foo/")

        libcloud.common.base.ALLOW_PATH_DOUBLE_SLASHES = True

        conn.request_path = "/"
        self.assertEqual(conn.morph_action_hook("/"), "//")

        conn.request_path = ""
        self.assertEqual(conn.morph_action_hook("/"), "/")

        conn.request_path = "/a"
        self.assertEqual(conn.morph_action_hook("//b/c.txt"), "/a//b/c.txt")

        conn.request_path = "/b"
        self.assertEqual(conn.morph_action_hook("/foo//"), "/b/foo//")