Exemplo n.º 1
0
class ResourceTest(unittest.TestCase):

    @classmethod
    def get_resource_cls(cls):
        return getattr(cls, 'resource_cls')

    @classmethod
    def is_user_owner(cls):
        return getattr(cls, 'user_owner', False)

    def setUp(self):
        self.ae = MockAppEngine()
        self.user = self.ae.get_current_user()
        self.db = MockAccess(user=self.user, add_owner=self.is_user_owner())

        # set up mock Request and Response objects
        self.request = mock.MagicMock()
        self.response = mock.MagicMock()

        # Create a special SpyResource class that has all the same
        # functionality as the appropriate Resource for this test, but
        # has a fake 'dump' method which stores the last js_object dumped
        resource_cls = self.get_resource_cls()

        class SpyResource(resource_cls):
            def __init__(self, *args, **kwargs):
                super(SpyResource, self).__init__(*args, **kwargs)
                self.last_response = None

            def get_last_response(self):
                return self.last_response

            def dump(self, js_response):
                self.last_response = js_response

        # instantiate the SpyResource with fake Request/Response as well as
        # AppEngine and DbAccess
        self.resource = SpyResource(
            request=self.request,
            response=self.response,
            ae=self.ae,
            db=self.db,
        )

    def tearDown(self):
        # reset the ID count for mock models
        Db.reset()
Exemplo n.º 2
0
class ResourceTest(unittest.TestCase):
    @classmethod
    def get_resource_cls(cls):
        return getattr(cls, 'resource_cls')

    @classmethod
    def is_user_owner(cls):
        return getattr(cls, 'user_owner', False)

    def setUp(self):
        self.ae = MockAppEngine()
        self.user = self.ae.get_current_user()
        self.db = MockAccess(user=self.user, add_owner=self.is_user_owner())

        # set up mock Request and Response objects
        self.request = mock.MagicMock()
        self.response = mock.MagicMock()

        # Create a special SpyResource class that has all the same
        # functionality as the appropriate Resource for this test, but
        # has a fake 'dump' method which stores the last js_object dumped
        resource_cls = self.get_resource_cls()

        class SpyResource(resource_cls):
            def __init__(self, *args, **kwargs):
                super(SpyResource, self).__init__(*args, **kwargs)
                self.last_response = None

            def get_last_response(self):
                return self.last_response

            def dump(self, js_response):
                self.last_response = js_response

        # instantiate the SpyResource with fake Request/Response as well as
        # AppEngine and DbAccess
        self.resource = SpyResource(
            request=self.request,
            response=self.response,
            ae=self.ae,
            db=self.db,
        )

    def tearDown(self):
        # reset the ID count for mock models
        Db.reset()