Пример #1
0
 def test_healthcheck_returns_500_if_the_mysql_server_is_off(self):
     request = RequestFactory().get("/resources/g8mysql/status/")
     with mock.patch("mysqlapi.api.models.DatabaseManager.is_up") as is_up:
         is_up.return_value = False
         view = Healthcheck()
         fake = mocks.FakeEC2Client()
         view._client = fake
         response = view.get(request, "g8mysql")
     self.assertEqual(500, response.status_code)
Пример #2
0
 def test_healthcheck_returns_201_when_ec2_instance_is_running(self):
     request = RequestFactory().get("/resources/g8mysql/status/")
     with mock.patch("mysqlapi.api.models.DatabaseManager.is_up") as is_up:
         is_up.return_value = True
         view = Healthcheck()
         fake = mocks.FakeEC2Client()
         view._client = fake
         response = view.get(request, "g8mysql")
     self.assertEqual(204, response.status_code)
Пример #3
0
 def test_healthcheck_returns_201_when_ec2_instance_is_running(self):
     request = RequestFactory().get("/resources/g8mysql/status/")
     with mock.patch("mysqlapi.api.models.DatabaseManager.is_up") as is_up:
         is_up.return_value = True
         view = Healthcheck()
         fake = mocks.FakeEC2Client()
         view._client = fake
         response = view.get(request, "g8mysql")
     self.assertEqual(204, response.status_code)
Пример #4
0
 def test_healthcheck_returns_500_if_the_mysql_server_is_off(self):
     request = RequestFactory().get("/resources/g8mysql/status/")
     with mock.patch("mysqlapi.api.models.DatabaseManager.is_up") as is_up:
         is_up.return_value = False
         view = Healthcheck()
         fake = mocks.FakeEC2Client()
         view._client = fake
         response = view.get(request, "g8mysql")
     self.assertEqual(500, response.status_code)
Пример #5
0
    def test_healthcheck_doesnt_touch_ec2_when_instance_is_pending(self):
        self.instance.state = "pending"
        self.instance.save()
        request = RequestFactory().get("/resources/g8mysql/status/")
        view = Healthcheck()
        fake = mocks.FakeEC2ClientPendingInstance()
        view._client = fake

        response = view.get(request, "g8mysql")
        self.assertEqual(202, response.status_code)
        self.assertEqual([], fake.actions)
Пример #6
0
    def test_healthcheck_does_not_calls_ec2_get_when_instance_is_pending_and_returns_500(self):
        self.instance.state = "pending"
        self.instance.save()
        request = RequestFactory().get("/resources/g8mysql/status/")
        view = Healthcheck()
        fake = mocks.FakeEC2ClientPendingInstance()
        view._client = fake

        response = view.get(request, "g8mysql")
        self.assertEqual(500, response.status_code)
        self.assertEqual([], fake.actions)
Пример #7
0
 def test_healthcheck_returns_500_if_the_mysql_server_is_off(self):
     mocker = Mocker()
     obj = mocker.replace("mysqlapi.api.models.DatabaseManager.is_up")
     obj()
     mocker.result(False)
     mocker.replay()
     request = RequestFactory().get("/resources/g8mysql/status/")
     view = Healthcheck()
     fake = mocks.FakeEC2Client()
     view._client = fake
     response = view.get(request, "g8mysql")
     self.assertEqual(500, response.status_code)
     mocker.verify()
Пример #8
0
    def test_healthcheck_calls_ec2_get_when_instance_is_running_and_returns_201(self):
        mocker = Mocker()
        obj = mocker.replace("mysqlapi.api.models.DatabaseManager.is_up")
        obj()
        mocker.result(True)
        mocker.count(1, 2)
        mocker.replay()

        request = RequestFactory().get("/resources/g8mysql/status/")
        view = Healthcheck()
        fake = mocks.FakeEC2Client()
        view._client = fake

        response = view.get(request, "g8mysql")
        self.assertEqual(204, response.status_code)
        mocker.verify()