def testBackOff(self):
        # no support for ``with assertRaises`` in python 2.6
        if sys.version_info < (2,7): return
        def mypost(url, data, headers):
            self.assertEqual(url, 'h://c:4/p')
            self.assertEqual(data.decode('utf-8'), """\
<?xml version='1.0' encoding='utf-8'?>
<galileo-client version="2.0"><client-info><client-id>%(id)s</client-id><client-version>%(version)s</client-version><client-mode>status</client-mode></client-info></galileo-client>""" % {
    'id': GalileoClient.ID,
    'version': __version__})
            self.assertEqual(headers['Content-Type'], 'text/xml')
            return requestResponse("""
    <back-off>
        <min>1800000</min>
        <max>3600000</max>
    </back-off>
    <ui-request action="login">
        <client-display height="450" width="650" minDisplayTimeMs="20000" containsForm="false">
            Server is in maintenance mode. We'll be back soon!
        </client-display>
    </ui-request>""", '')

        galileo.net.requests.post = mypost
        gc = GalileoClient('h', 'c', 'p', 4)
        with self.assertRaises(BackOffException) as cm:
            gc.requestStatus()
        e = cm.exception
        self.assertEqual(e.min, 1800000)
        self.assertEqual(e.max, 3600000)
        val = e.getAValue()
        self.assertTrue(e.min <= val <= e.max)
    def testOk(self):
        def mypost(url, data, headers):
            self.assertEqual(url, 'scheme://host:8888/path/to/stuff')
            self.assertEqual(data.decode('utf-8'), """\
<?xml version='1.0' encoding='utf-8'?>
<galileo-client version="2.0"><client-info><client-id>%(id)s</client-id><client-version>%(version)s</client-version><client-mode>status</client-mode></client-info></galileo-client>""" % {
    'id': GalileoClient.ID, 'version': __version__})
            self.assertEqual(headers['Content-Type'], 'text/xml')
            return requestResponse('')

        galileo.net.requests.post = mypost
        gc = GalileoClient('scheme', 'host', 'path/to/stuff', 8888)
        gc.requestStatus()
示例#3
0
    def testOk(self):
        def mypost(url, data, headers):
            self.assertEqual(url, 'scheme://host:8888/path/to/stuff')
            self.assertEqual(
                data.decode('utf-8'), """\
<?xml version='1.0' encoding='utf-8'?>
<galileo-client version="2.0"><client-info><client-id>%(id)s</client-id><client-version>%(version)s</client-version><client-mode>status</client-mode></client-info></galileo-client>"""
                % {
                    'id': GalileoClient.ID,
                    'version': __version__
                })
            self.assertEqual(headers['Content-Type'], 'text/xml')
            return requestResponse('')

        galileo.net.requests.post = mypost
        gc = GalileoClient('scheme', 'host', 'path/to/stuff', 8888)
        gc.requestStatus()
示例#4
0
    def testBackOff(self):
        # no support for ``with assertRaises`` in python 2.6
        if sys.version_info < (2, 7): return

        def mypost(url, data, headers):
            self.assertEqual(url, 'h://c:4/p')
            self.assertEqual(
                data.decode('utf-8'), """\
<?xml version='1.0' encoding='utf-8'?>
<galileo-client version="2.0"><client-info><client-id>%(id)s</client-id><client-version>%(version)s</client-version><client-mode>status</client-mode></client-info></galileo-client>"""
                % {
                    'id': GalileoClient.ID,
                    'version': __version__
                })
            self.assertEqual(headers['Content-Type'], 'text/xml')
            return requestResponse(
                """
    <back-off>
        <min>1800000</min>
        <max>3600000</max>
    </back-off>
    <ui-request action="login">
        <client-display height="450" width="650" minDisplayTimeMs="20000" containsForm="false">
            Server is in maintenance mode. We'll be back soon!
        </client-display>
    </ui-request>""", '')

        galileo.net.requests.post = mypost
        gc = GalileoClient('h', 'c', 'p', 4)
        with self.assertRaises(BackOffException) as cm:
            gc.requestStatus()
        e = cm.exception
        self.assertEqual(e.min, 1800000)
        self.assertEqual(e.max, 3600000)
        val = e.getAValue()
        self.assertTrue(e.min <= val <= e.max)