def test_joins3_user_group(self): from aiida.orm.user import User from aiida.orm.querybuilder import QueryBuilder # Create another user new_email = "[email protected]" user = User(email=new_email) user.force_save() # Create a group that belongs to that user from aiida.orm.group import Group group = Group(name="node_group") group.dbgroup.user = user._dbuser group.store() # Search for the group of the user qb = QueryBuilder() qb.append(User, tag='user', filters={'id': {'==': user.id}}) qb.append(Group, belongs_to='user', filters={'id': {'==': group.id}}) self.assertEquals( qb.count(), 1, "The expected group that belongs to " "the selected user was not found.") # Search for the user that owns a group qb = QueryBuilder() qb.append(Group, tag='group', filters={'id': {'==': group.id}}) qb.append(User, owner_of='group', filters={'id': {'==': user.id}}) self.assertEquals( qb.count(), 1, "The expected user that owns the " "selected group was not found.")
def __clean_db_sqla(self): """Clean database for sqlalchemy backend""" from aiida.backends.sqlalchemy.tests.testbase import SqlAlchemyTests from aiida.backends.sqlalchemy import get_scoped_session from aiida.orm import User user = User.search_for_users(email=self.email)[0] new_user = User(email=user.email) new_user.first_name = user.first_name new_user.last_name = user.last_name new_user.institution = user.institution sqla_testcase = SqlAlchemyTests() sqla_testcase.test_session = get_scoped_session() sqla_testcase.clean_db() # that deleted our user, we need to recreate it new_user.force_save()