18
18
# http://msdn.microsoft.com/en-us/library/cc227282%28PROT.10%29.aspx
19
19
# http://msdn.microsoft.com/en-us/library/cc227259%28PROT.13%29.aspx
22
22
from tests.tools import *
26
26
import azurelinuxagent.utils.restutil as restutil
27
from azurelinuxagent.future import text
29
30
import azurelinuxagent.logger as logger
31
#logger.LoggerInit("/dev/stdout", "/dev/null", verbose=True)
32
class MockResponse(object):
33
def __init__(self, status=restutil.httpclient.OK):
33
39
class TestHttpOperations(unittest.TestCase):
35
41
def test_parse_url(self):
36
host, port, secure, relativeUrl = restutil._ParseUrl("http://abc.def/ghi#hash?jkl=mn")
42
host, port, secure, rel_uri = restutil._parse_url("http://abc.def/ghi#hash?jkl=mn")
37
43
self.assertEquals("abc.def", host)
38
self.assertEquals("/ghi#hash?jkl=mn", relativeUrl)
44
self.assertEquals("/ghi#hash?jkl=mn", rel_uri)
40
host, port, secure, relativeUrl = restutil._ParseUrl("http://abc.def/")
46
host, port, secure, rel_uri = restutil._parse_url("http://abc.def/")
41
47
self.assertEquals("abc.def", host)
42
self.assertEquals("/", relativeUrl)
48
self.assertEquals("/", rel_uri)
43
49
self.assertEquals(False, secure)
45
host, port, secure, relativeUrl = restutil._ParseUrl("https://abc.def/ghi?jkl=mn")
51
host, port, secure, rel_uri = restutil._parse_url("https://abc.def/ghi?jkl=mn")
46
52
self.assertEquals(True, secure)
48
host, port, secure, relativeUrl = restutil._ParseUrl("http://abc.def:80/")
54
host, port, secure, rel_uri = restutil._parse_url("http://abc.def:80/")
49
55
self.assertEquals("abc.def", host)
51
def _test_http_get(self):
52
resp = restutil.HttpGet("http://httpbin.org/get").read()
53
self.assertNotEquals(None, resp)
55
msg = str(uuid.uuid4())
56
resp = restutil.HttpGet("http://httpbin.org/get", {"x-abc":msg}).read()
57
self.assertNotEquals(None, resp)
58
self.assertTrue(msg in resp)
60
def _test_https_get(self):
61
resp = restutil.HttpGet("https://httpbin.org/get").read()
62
self.assertNotEquals(None, resp)
57
@mock(restutil.httpclient.HTTPConnection, 'request', MockFunc())
58
@mock(restutil.httpclient.HTTPConnection, 'getresponse', MockFunc(retval=MockResponse()))
59
def test_http_request(self):
60
restutil.http_get("https://httpbin.org/get")
64
62
if __name__ == '__main__':