Пример #1
0
    def mock_app(self, app):
        expected_response = json.dumps({
            "name":
            app,
            "ip":
            "{}.tsuru.io".format(app),
            "platform":
            "php",
            "units": [
                {
                    "Address": {
                        "Host": "10.10.10.10"
                    },
                    "ID": "app1/0",
                    "Status": "stopped"
                },
            ],
            "pool":
            "mypool",
        })

        httpretty.register_uri(httpretty.GET,
                               TsuruClientUrls.get_app_url(app),
                               body=expected_response,
                               content_type="application/json",
                               status=200)
Пример #2
0
 def test_get_app_with_success(self):
     app_name = 'morfeu'
     expected_response = self.__expected_unit(name=app_name)
     httpretty.register_uri(httpretty.GET, TsuruClientUrls.get_app_url(app_name),
                            body=expected_response,
                            content_type="application/json",
                            status=200)
     self.assertEqual(self.tsuru_client.get_app(app_name=app_name), json.loads(expected_response))
Пример #3
0
    def mock_list_apps(self, pool="", processname="web", platform="python", status=200):
        expected_response = self.__expected_unit(processname=processname, platform=platform)

        httpretty.register_uri(
            httpretty.GET,
            TsuruClientUrls.list_apps_url(pool=pool),
            body=expected_response,
            content_type="application/json",
            status=status,
        )
Пример #4
0
    def test_get_app_with_timeout(self):
        def raiseTimeout(request, uri, headers):
            raise requests.Timeout('Connection timed out.')

        app_name = 'morfeu'
        httpretty.register_uri(httpretty.GET, TsuruClientUrls.get_app_url(app_name),
                               body=raiseTimeout,
                               content_type="application/json",
                               status=500)
        self.assertEqual(self.tsuru_client.get_app(app_name=app_name), json.loads("{}"))
Пример #5
0
    def test_sleep_app(self):
        url = TsuruClientUrls.get_sleep_url("myapp", "web", TSURU_APP_PROXY_URL)
        httpretty.register_uri(httpretty.POST, url, content_type="application/json", status=200)

        self.mock_app("myapp")

        app = TsuruApp(name="myapp")
        app.sleep()

        path = re.search('^http://[^/]+(.*)$', url).group(1)
        self.assertEqual(httpretty.last_request().path, path)
Пример #6
0
 def test_get_app_with_failure(self):
     app_name = "morfeu"
     expected_response = self.__expected_unit(name=app_name)
     httpretty.register_uri(
         httpretty.GET,
         TsuruClientUrls.get_app_url(app_name),
         body=expected_response,
         content_type="application/json",
         status=500,
     )
     self.assertEqual(self.tsuru_client.get_app(app_name=app_name), json.loads("{}"))
Пример #7
0
    def test_list_apps_with_timeout(self):

        def raiseTimeout(request, uri, headers):
            raise requests.Timeout('Connection timed out.')

        httpretty.register_uri(method=httpretty.GET,
                               uri=TsuruClientUrls.list_apps_url(),
                               body=raiseTimeout,
                               content_type="application/json",
                               status=500)
        self.assertEqual(self.tsuru_client.list_apps(), [])
Пример #8
0
    def test_list_apps_with_timeout(self):
        def raiseTimeout(request, uri, headers):
            raise requests.Timeout("Connection timed out.")

        httpretty.register_uri(
            method=httpretty.GET,
            uri=TsuruClientUrls.list_apps_url(),
            body=raiseTimeout,
            content_type="application/json",
            status=500,
        )
        self.assertEqual(self.tsuru_client.list_apps(), [])
Пример #9
0
    def mock_app(self, app):
        expected_response = json.dumps({
            "name": app,
            "ip": "{}.tsuru.io".format(app),
            "platform": "php",
            "units": [
                {"Address": {"Host": "10.10.10.10"}, "ID": "app1/0", "Status": "stopped"},
            ],
            "pool": "mypool",
        })

        httpretty.register_uri(httpretty.GET, TsuruClientUrls.get_app_url(app),
                               body=expected_response, content_type="application/json", status=200)
Пример #10
0
    def test_get_app_with_timeout(self):
        def raiseTimeout(request, uri, headers):
            raise requests.Timeout("Connection timed out.")

        app_name = "morfeu"
        httpretty.register_uri(
            httpretty.GET,
            TsuruClientUrls.get_app_url(app_name),
            body=raiseTimeout,
            content_type="application/json",
            status=500,
        )
        self.assertEqual(self.tsuru_client.get_app(app_name=app_name), json.loads("{}"))
Пример #11
0
    def test_sleep_app_with_failure(self):
        app_name = "morfeu"
        process_name = "web"
        proxy_url = "http://fake:123"

        expected_response = json.dumps("")
        httpretty.register_uri(
            httpretty.POST,
            TsuruClientUrls.get_sleep_url(app_name, process_name, proxy_url),
            body=expected_response,
            content_type="application/json",
            status=500,
        )
        self.assertFalse(self.tsuru_client.sleep_app(app_name=app_name, process_name=process_name, proxy_url=proxy_url))
Пример #12
0
    def test_stop_app(self):
        url = TsuruClientUrls.get_stop_url("myapp", "web")
        httpretty.register_uri(httpretty.POST,
                               url,
                               content_type="application/json",
                               status=200)

        self.mock_app("myapp")

        app = TsuruApp(name="myapp")
        app.stop()

        path = re.search('^http://[^/]+(.*)$', url).group(1)
        self.assertEqual(httpretty.last_request().path, path)
Пример #13
0
    def test_sleep_app_with_failure(self):
        app_name = 'morfeu'
        process_name = "web"
        proxy_url = 'http://fake:123'

        expected_response = json.dumps("")
        httpretty.register_uri(httpretty.POST,
                               TsuruClientUrls.get_sleep_url(app_name, process_name, proxy_url),
                               body=expected_response,
                               content_type="application/json",
                               status=500)
        self.assertFalse(self.tsuru_client.sleep_app(app_name=app_name,
                                                     process_name=process_name,
                                                     proxy_url=proxy_url))
Пример #14
0
    def test_sleep_app_with_timeout(self):
        def raiseTimeout(request, uri, headers):
            raise requests.Timeout("Connection timed out.")

        app_name = "morfeu"
        process_name = "web"
        proxy_url = "http://fake:123"
        httpretty.register_uri(
            httpretty.POST,
            TsuruClientUrls.get_sleep_url(app_name, process_name, proxy_url),
            body=raiseTimeout,
            content_type="application/json",
            status=500,
        )
        self.assertFalse(self.tsuru_client.sleep_app(app_name=app_name, process_name=process_name, proxy_url=proxy_url))
Пример #15
0
    def test_sleep_app_with_timeout(self):

        def raiseTimeout(request, uri, headers):
            raise requests.Timeout('Connection timed out.')

        app_name = 'morfeu'
        process_name = "web"
        proxy_url = 'http://fake:123'
        httpretty.register_uri(httpretty.POST,
                               TsuruClientUrls.get_sleep_url(app_name, process_name, proxy_url),
                               body=raiseTimeout,
                               content_type="application/json",
                               status=500)
        self.assertFalse(self.tsuru_client.sleep_app(app_name=app_name,
                                                     process_name=process_name,
                                                     proxy_url=proxy_url))
Пример #16
0
    def mock_list_apps(self, pool="", processname="web", platform="python", status=200):
        expected_response = self.__expected_unit(processname=processname, platform=platform)

        httpretty.register_uri(httpretty.GET, TsuruClientUrls.list_apps_url(pool=pool),
                               body=expected_response, content_type="application/json", status=status)