def setUp(self): super(DeleteAuthAssociationsTests, self).setUp() self.firebase_sdk_stub.create_user(self.AUTH_ID) user_settings = user_services.create_new_user(self.AUTH_ID, self.EMAIL) self.user_id = user_settings.user_id firebase_auth_services.associate_auth_id_with_user_id( auth_domain.AuthIdUserIdPair(self.AUTH_ID, self.user_id))
def test_associate_with_user_id_collision_raises(self): firebase_auth_services.associate_auth_id_with_user_id( auth_domain.AuthIdUserIdPair('aid', 'uid')) with self.assertRaisesRegexp(Exception, 'already associated'): firebase_auth_services.associate_auth_id_with_user_id( auth_domain.AuthIdUserIdPair('aid', 'uid'))
def setUp(self): super(DeleteAuthAssociationsTests, self).setUp() self.firebase_sdk_stub.create_user(self.AUTH_ID) self.signup(self.EMAIL, self.USERNAME) self.user_id = self.get_user_id_from_email(self.EMAIL) firebase_auth_services.associate_auth_id_with_user_id( auth_domain.AuthIdUserIdPair(self.AUTH_ID, self.user_id))
def test_present_association_is_not_considered_to_be_deleted(self): self.firebase_sdk_stub.create_user('aid') firebase_auth_services.associate_auth_id_with_user_id( auth_domain.AuthIdUserIdPair('aid', 'uid')) self.assertFalse( firebase_auth_services. verify_external_auth_associations_are_deleted('uid'))
def test_associate_without_collision(self): firebase_auth_services.associate_auth_id_with_user_id( auth_domain.AuthIdUserIdPair('aid', 'uid')) self.assertEqual( firebase_auth_services.get_user_id_from_auth_id('aid'), 'uid') self.assertEqual( firebase_auth_services.get_auth_id_from_user_id('uid'), 'aid')
def test_get_association_that_is_present(self): firebase_auth_services.associate_auth_id_with_user_id( auth_domain.AuthIdUserIdPair('aid', 'uid')) self.assertEqual( firebase_auth_services.get_user_id_from_auth_id('aid'), 'uid') self.assertEqual( firebase_auth_services.get_auth_id_from_user_id('uid'), 'aid')
def test_associate_with_auth_id_collision_raises(self): firebase_auth_services.associate_auth_id_with_user_id( auth_domain.AuthIdUserIdPair('aid', 'uid')) # Erase the user_id collision, but leave the auth_id collision. auth_models.UserIdByFirebaseAuthIdModel.delete_by_id('aid') with self.assertRaisesRegexp(Exception, 'already associated'): firebase_auth_services.associate_auth_id_with_user_id( auth_domain.AuthIdUserIdPair('aid', 'uid'))
def test_delete_association_when_it_is_present(self): self.firebase_sdk_stub.create_user('aid') firebase_auth_services.associate_auth_id_with_user_id( auth_domain.AuthIdUserIdPair('aid', 'uid')) self.assertFalse( firebase_auth_services. verify_external_auth_associations_are_deleted('uid')) firebase_auth_services.delete_external_auth_associations('uid') self.assertTrue( firebase_auth_services. verify_external_auth_associations_are_deleted('uid'))
def test_get_multi_associations_with_one_missing(self): firebase_auth_services.associate_auth_id_with_user_id( auth_domain.AuthIdUserIdPair('aid1', 'uid1')) # The aid2 <-> uid2 association is missing. firebase_auth_services.associate_auth_id_with_user_id( auth_domain.AuthIdUserIdPair('aid3', 'uid3')) self.assertEqual( firebase_auth_services.get_multi_user_ids_from_auth_ids( ['aid1', 'aid2', 'aid3']), ['uid1', None, 'uid3']) self.assertEqual( firebase_auth_services.get_multi_auth_ids_from_user_ids( ['uid1', 'uid2', 'uid3']), ['aid1', None, 'aid3'])
def test_disable_association_marks_user_for_deletion(self): self.firebase_sdk_stub.create_user('aid') firebase_auth_services.associate_auth_id_with_user_id( auth_domain.AuthIdUserIdPair('aid', 'uid')) self.assertIsNotNone( auth_models.UserIdByFirebaseAuthIdModel.get('aid', strict=False)) self.assertFalse(firebase_admin.auth.get_user('aid').disabled) firebase_auth_services.mark_user_for_deletion('uid') self.assertIsNone( auth_models.UserIdByFirebaseAuthIdModel.get('aid', strict=False)) self.assertTrue(firebase_admin.auth.get_user('aid').disabled)
def test_disable_association_warns_when_firebase_fails_to_init(self): firebase_admin.auth.create_user(uid='aid') firebase_auth_services.associate_auth_id_with_user_id( auth_domain.AuthIdUserIdPair('aid', 'uid')) init_swap = self.swap_to_always_raise( firebase_admin, 'initialize_app', error=firebase_exceptions.UnknownError('could not init')) self.assertIsNotNone( auth_models.UserIdByFirebaseAuthIdModel.get('aid', strict=False)) self.assertFalse(firebase_admin.auth.get_user('aid').disabled) with init_swap, self.capture_logging() as logs: firebase_auth_services.mark_user_for_deletion('uid') self.assert_matches_regexps(logs, ['could not init']) self.assertIsNone( auth_models.UserIdByFirebaseAuthIdModel.get('aid', strict=False)) self.assertFalse(firebase_admin.auth.get_user('aid').disabled)
def test_disable_association_warns_when_firebase_fails_to_update_user(self): self.firebase_sdk_stub.create_user('aid') firebase_auth_services.associate_auth_id_with_user_id( auth_domain.AuthIdUserIdPair('aid', 'uid')) update_user_swap = self.swap_to_always_raise( firebase_admin.auth, 'update_user', error=firebase_exceptions.UnknownError('could not update')) log_capturing_context = self.capture_logging() self.assertIsNotNone( auth_models.UserIdByFirebaseAuthIdModel.get('aid', strict=False)) self.assertFalse(firebase_admin.auth.get_user('aid').disabled) with update_user_swap, log_capturing_context as logs: firebase_auth_services.mark_user_for_deletion('uid') self.assert_matches_regexps(logs, ['could not update']) self.assertIsNone( auth_models.UserIdByFirebaseAuthIdModel.get('aid', strict=False)) self.assertFalse(firebase_admin.auth.get_user('aid').disabled)
def test_get_multi_associations_with_all_present(self): firebase_auth_services.associate_auth_id_with_user_id( auth_domain.AuthIdUserIdPair('aid1', 'uid1')) firebase_auth_services.associate_auth_id_with_user_id( auth_domain.AuthIdUserIdPair('aid2', 'uid2')) firebase_auth_services.associate_auth_id_with_user_id( auth_domain.AuthIdUserIdPair('aid3', 'uid3')) self.assertEqual( firebase_auth_services.get_multi_user_ids_from_auth_ids( ['aid1', 'aid2', 'aid3']), ['uid1', 'uid2', 'uid3']) self.assertEqual( firebase_auth_services.get_multi_auth_ids_from_user_ids( ['uid1', 'uid2', 'uid3']), ['aid1', 'aid2', 'aid3'])
def setUp(self): super(FirebaseSpecificAssociationTests, self).setUp() self.firebase_sdk_stub.create_user(self.AUTH_ID) firebase_auth_services.associate_auth_id_with_user_id( auth_domain.AuthIdUserIdPair(self.AUTH_ID, self.USER_ID))