def pop_user(self, nonce: str) -> User: if nonce in self._new_user_accounts: user = self._new_user_accounts[nonce] del self._new_user_accounts[nonce] else: user = NonExistingUser() return user
def get_user_by_identity(self, identity: UserIdentity) -> User: default_user = NonExistingUser() user_identities = UserIdentityMappingIterator(self._users) user = next( (self._unserialize_user(mapping.user) for mapping in user_identities if mapping.identity == identity), default_user) return user
def get_user_by_name(self, name: str) -> User: try: user_record = next( user for user in self._users if user[JsonAttribute.user][JsonAttribute.name] == name) return self._unserialize_user(user_record[JsonAttribute.user]) except StopIteration: return NonExistingUser()
def test_create_user_with_valid_config(self): storage = Mock(spec=UserAccountStorage) storage.get_user_by_name.return_value = NonExistingUser() config = [{ Attribute.TYPE: "user", Attribute.NAME: "username", Attribute.PRIVILEGE: "USER" }] init = UserAccountsBootstrap(storage, config, list()) init.create_from_config() storage.add_user.assert_called_once()
def test_bad_formatted_privilege(self): storage = Mock(spec=UserAccountStorage) storage.get_user_by_name.return_value = NonExistingUser() config = [{ Attribute.TYPE: "user", Attribute.NAME: "username", Attribute.PRIVILEGE: "NONEXISTING_PRIVILEGE" }] init = UserAccountsBootstrap(storage, config, list()) init.create_from_config() storage.add_user.assert_not_called()
def test_add_created_users_in_list(self): added_users = list() storage = Mock(spec=UserAccountStorage) storage.get_user_by_name.return_value = NonExistingUser() config = [{ Attribute.TYPE: "user", Attribute.NAME: "username", Attribute.PRIVILEGE: "USER" }] init = UserAccountsBootstrap(storage, config, added_users) init.create_from_config() self.assertEqual(len(added_users), 1)
def test_nonce_not_provided(self): self._storage.pop_user.return_value = NonExistingUser() response = self.fetch(self._get_default_url(), method="GET") self.assertEqual(400, response.code)
def get_user_by_id(self, id_: str) -> User: user_record = self._get_user_by_id(id_) if user_record: return self._unserialize_user(user_record[JsonAttribute.user]) else: return NonExistingUser()