class TestDummyRouteLoader(FantasticoIntegrationTestCase):
    """Test suite that ensures dummy route loader works as expected."""

    def init(self):
        self._dummy_loader = DummyRouteLoader(Mock())

    def test_load_routes_ok(self):
        """Test case that ensures only one route is loaded by this dummy route loader."""

        routes = self._dummy_loader.load_routes()

        self.assertIsNotNone(routes)
        self.assertGreaterEqual(len(routes), 2)

        self.assertTrue(DummyRouteLoader.DUMMY_ROUTE in routes)
        self.assertEqual(
            "fantastico.routing_engine.dummy_routeloader.DummyRouteLoader.display_test",
            routes["/dummy/route/loader/test"]["http_verbs"]["GET"],
        )

        self.assertTrue(DummyRouteLoader.STATIC_ROUTE in routes)
        self.assertEqual(
            "fantastico.mvc.static_assets_controller.StaticAssetsController.serve_asset",
            routes[DummyRouteLoader.STATIC_ROUTE]["http_verbs"]["GET"],
        )

    def test_display_ok(self):
        """This test case ensures display_test method works as expected when request content type is different than
        response content type."""

        request = Mock()
        request.content_type = "application/json"

        response = self._dummy_loader.display_test(request)

        self.assertEqual(400, response.status_code)
        self.assertEqual("application/json", response.content_type)
        self.assertEqual("UTF-8", response.charset)

    def test_invalid_type(self):
        """This test case ensures that for request_type text/html a new content type is returned: application/html."""

        request = Mock()
        request.content_type = "text/html; charset=UTF-8"

        response = self._dummy_loader.display_test(request)

        self.assertEqual(400, response.status_code)
        self.assertEqual("application/html", response.content_type)
        self.assertEqual("UTF-8", response.charset)
Beispiel #2
0
class TestDummyRouteLoader(FantasticoIntegrationTestCase):
    '''Test suite that ensures dummy route loader works as expected.'''
    def init(self):
        self._dummy_loader = DummyRouteLoader(Mock())

    def test_load_routes_ok(self):
        '''Test case that ensures only one route is loaded by this dummy route loader.'''

        routes = self._dummy_loader.load_routes()

        self.assertIsNotNone(routes)
        self.assertGreaterEqual(len(routes), 2)

        self.assertTrue(DummyRouteLoader.DUMMY_ROUTE in routes)
        self.assertEqual(
            "fantastico.routing_engine.dummy_routeloader.DummyRouteLoader.display_test",
            routes["/dummy/route/loader/test"]["http_verbs"]["GET"])

        self.assertTrue(DummyRouteLoader.STATIC_ROUTE in routes)
        self.assertEqual(
            "fantastico.mvc.static_assets_controller.StaticAssetsController.serve_asset",
            routes[DummyRouteLoader.STATIC_ROUTE]["http_verbs"]["GET"])

    def test_display_ok(self):
        '''This test case ensures display_test method works as expected when request content type is different than
        response content type.'''

        request = Mock()
        request.content_type = "application/json"

        response = self._dummy_loader.display_test(request)

        self.assertEqual(400, response.status_code)
        self.assertEqual("application/json", response.content_type)
        self.assertEqual("UTF-8", response.charset)

    def test_invalid_type(self):
        '''This test case ensures that for request_type text/html a new content type is returned: application/html.'''

        request = Mock()
        request.content_type = "text/html; charset=UTF-8"

        response = self._dummy_loader.display_test(request)

        self.assertEqual(400, response.status_code)
        self.assertEqual("application/html", response.content_type)
        self.assertEqual("UTF-8", response.charset)
 def init(self):
     self._dummy_loader = DummyRouteLoader(Mock())
Beispiel #4
0
 def init(self):
     self._dummy_loader = DummyRouteLoader(Mock())