Ejemplo n.º 1
0
    def test_swap_to_always_return_with_value(self):
        right_obj = python_utils.OBJECT()
        wrong_obj = python_utils.OBJECT()
        self.assertIsNot(right_obj, wrong_obj)

        class MockClass(python_utils.OBJECT):
            """Test-only class."""
            def method(self):
                """Returns self."""
                return wrong_obj

        mock = MockClass()
        self.assertIs(mock.method(), wrong_obj)

        with self.swap_to_always_return(mock, 'method', value=right_obj):
            self.assertIs(mock.method(), right_obj)
Ejemplo n.º 2
0
    def test_memoize_with_args(self):
        call_counter = collections.Counter()

        @linter_utils.memoize
        def count_calls(arg):
            """Counts calls made with given arg."""
            call_counter[arg] += 1

        unique_objs = (python_utils.OBJECT(), python_utils.OBJECT())
        self.assertEqual(call_counter[unique_objs[0]], 0)
        self.assertEqual(call_counter[unique_objs[1]], 0)

        count_calls(unique_objs[0])
        self.assertEqual(call_counter[unique_objs[0]], 1)
        self.assertEqual(call_counter[unique_objs[1]], 0)

        count_calls(unique_objs[0])
        count_calls(unique_objs[1])
        self.assertEqual(call_counter[unique_objs[0]], 1)
        self.assertEqual(call_counter[unique_objs[1]], 1)
    def test_cleans_up_firebase_app(self):
        mock_app = python_utils.OBJECT()
        initialize_app_swap = self.swap_to_always_return(
            firebase_admin, 'initialize_app', value=mock_app)
        verify_id_token_swap = self.swap_to_always_return(
            firebase_admin.auth, 'verify_id_token', value={})
        delete_app_swap = self.swap(
            firebase_admin, 'delete_app',
            lambda app: self.assertIs(app, mock_app))
        request = self.make_request(auth_header='Bearer DUMMY_JWT')

        with contextlib2.ExitStack() as stack:
            stack.enter_context(initialize_app_swap)
            stack.enter_context(verify_id_token_swap)
            stack.enter_context(delete_app_swap)
            errors = stack.enter_context(self.capture_logging())

            auth_claims = firebase_auth_services.authenticate_request(request)

        self.assertIsNone(auth_claims)
        self.assertEqual(errors, [])
Ejemplo n.º 4
0
    def test_invalid_datastoreio_value(self):
        obj = python_utils.OBJECT()

        self.assertRaisesRegexp(
            TypeError, 'not an instance of DatastoreioStub',
            lambda: job_options.validate_datastoreio_stub(obj))