~ubuntu-branches/debian/sid/waagent/sid

« back to all changes in this revision

Viewing changes to tests/test_rest_util.py

  • Committer: Package Import Robot
  • Author(s): Bastian Blank
  • Date: 2016-02-01 13:11:28 UTC
  • mfrom: (1.2.2)
  • Revision ID: package-import@ubuntu.com-20160201131128-4wxc2tklmq3x40xe
Tags: 2.1.2-1
* New upstream version.
* Depend on host, needed by Microsofts custom script stuff.
* Use cloud-init:
  - Use Ubuntu provisioning handler, disable provisioning.
  - Depend on new enough version of cloud-init.
  - Update dependencies in init script and service.
  - Disable recursive agent invocation and hostname bounce in clout-init.

Show diffs side-by-side

added added

removed removed

Lines of Context:
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
20
20
 
21
 
import env
 
21
import tests.env
22
22
from tests.tools import *
23
23
import uuid
24
24
import unittest
25
25
import os
26
26
import azurelinuxagent.utils.restutil as restutil
 
27
from azurelinuxagent.future import text
27
28
import test
28
29
import socket
29
30
import azurelinuxagent.logger as logger
30
31
 
31
 
#logger.LoggerInit("/dev/stdout", "/dev/null", verbose=True)
 
32
class MockResponse(object):
 
33
    def __init__(self, status=restutil.httpclient.OK):
 
34
        self.status = status
 
35
 
 
36
    def getheaders(self):
 
37
        pass
32
38
 
33
39
class TestHttpOperations(unittest.TestCase):
34
40
 
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)
39
45
 
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)
44
50
 
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)
47
53
 
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)
50
56
 
51
 
    def _test_http_get(self):
52
 
        resp = restutil.HttpGet("http://httpbin.org/get").read()
53
 
        self.assertNotEquals(None, resp)
54
 
       
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)
59
 
 
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")
63
61
    
64
62
if __name__ == '__main__':
65
63
    unittest.main()