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)
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, [])
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))