def exists_user_id_ignoring_case(self, brl_user): '''Check if user already exists with a case insensitive pattern''' import re dbcol = self.db[GenericServerStore.USER_ST] doc = dbcol.find_one({User.SERIAL_ID_KEY: re.compile('^' + re.escape(brl_user) + '$', re.IGNORECASE)}) return User.deserialize(doc) if doc else None
def test_serialization(self): self.user.add_block(BRLBlock("laso/laso/block2/master"), tags=["ONE", "TWO"], description="The good block") self.user.add_block(BRLBlock("laso/laso/block3/master")) self.user.administrators.grant("pepito") self.user.administrators.grant("josete") tokens = [SocialAccountToken("xxzc", "zxcc", self.utc_datetime), SocialAccountToken("xxzc", "zxcc", self.utc_datetime)] social_account = SocialAccount("zcas", self.utc_datetime, self.utc_datetime, tokens, "zcc") self.user.social_accounts = {"google": social_account} self.user.publish_counter = 10 self.user.reuse_counter = 7 self.user.read_api_counter = 99 seri = self.user.serialize() user2 = User.deserialize(seri) self.assertTrue(self._user_equal(self.user, user2)) self.assertEqual(user2.read_api_counter, 99) self.assertEqual(user2.reuse_counter, 7) self.assertEqual(user2.publish_counter, 10) self.assertEqual(set(user2.administrators), {"pepito", "josete"}) self.assertEqual(self.user.region, "Madrid")
def read_user_by_oauth_token(self, provider, token): '''Reads user by github or google token''' cols = {"google": User.SERIAL_OAUTH_GOOGLE_TOKEN, "github": User.SERIAL_OAUTH_GITHUB_TOKEN} dbcol = self.db[GenericServerStore.USER_ST] doc = dbcol.find_one({cols[provider]: token}) return User.deserialize(doc) if doc else None
def test_serialization(self): self.user.add_block(BRLBlock("laso/laso/block2/master"), tags=["ONE", "TWO"], description="The good block") self.user.add_block(BRLBlock("laso/laso/block3/master")) self.user.administrators.grant("pepito") self.user.administrators.grant("josete") tokens = [ SocialAccountToken("xxzc", "zxcc", self.utc_datetime), SocialAccountToken("xxzc", "zxcc", self.utc_datetime) ] social_account = SocialAccount("zcas", self.utc_datetime, self.utc_datetime, tokens, "zcc") self.user.social_accounts = {"google": social_account} self.user.publish_counter = 10 self.user.reuse_counter = 7 self.user.read_api_counter = 99 seri = self.user.serialize() user2 = User.deserialize(seri) self.assertTrue(self._user_equal(self.user, user2)) self.assertEqual(user2.read_api_counter, 99) self.assertEqual(user2.reuse_counter, 7) self.assertEqual(user2.publish_counter, 10) self.assertEqual(set(user2.administrators), {"pepito", "josete"}) self.assertEqual(self.user.region, "Madrid")
def exists_user_id_ignoring_case(self, brl_user): '''Check if user already exists with a case insensitive pattern''' import re dbcol = self.db[GenericServerStore.USER_ST] doc = dbcol.find_one({ User.SERIAL_ID_KEY: re.compile('^' + re.escape(brl_user) + '$', re.IGNORECASE) }) return User.deserialize(doc) if doc else None
def read_user_by_oauth_token(self, provider, token): '''Reads user by github or google token''' cols = { "google": User.SERIAL_OAUTH_GOOGLE_TOKEN, "github": User.SERIAL_OAUTH_GITHUB_TOKEN } dbcol = self.db[GenericServerStore.USER_ST] doc = dbcol.find_one({cols[provider]: token}) return User.deserialize(doc) if doc else None
def read_user_by_email(self, email): '''Reads user by email''' dbcol = self.db[GenericServerStore.USER_ST] doc = dbcol.find_one({User.SERIAL_EMAIL: email}) return User.deserialize(doc) if doc else None