def test_load_team_tree_permissions_department_1(self): # fmt: off u, t = create_setup([ ('dep1', None, [ ('dep2', TeamRoleEnum.member.value, [ ('dep2_team1', None, []), ('dep2_team2', None, []), ]), ('dep1_team1', None, []), ]), ('dep3', None, [ ('dep3_team1', None, []), ('dep4', None, [ ('dep4_team1', None, []), ]), ]), ('team1', None, []), ]) # fmt: on result = load_team_tree_permissions(u) assert result.team_roles == { t["dep1"]: None, t["dep1_team1"]: None, t["dep2"]: TeamRoleEnum.member.value, t["dep2_team1"]: TeamRoleEnum.member.value, t["dep2_team2"]: TeamRoleEnum.member.value, } # dep3.* and team1 should be ignored, so same asserts as in # `test_load_team_tree_permissions_department` self._assert_test_load_team_tree_permissions_department(u, t, result)
def test_load_team_tree_permissions_no_access(self): u = User(email="test@localhost") db.session.add(u) db.session.add(Team(name="A", code="A")) db.session.commit() result = load_team_tree_permissions(u) assert len(result.team_roles) == 0 assert len(result.team_parents) == 0 assert len(result.team_children) == 0
def test_load_team_tree_permissions_department_deep(self): # fmt: off u, t = create_setup([('dep1', TeamRoleEnum.member.value, [('dep2', None, [ ('dep2_team1', None, []), ('dep2_team2', None, []), ])])]) # fmt: on result = load_team_tree_permissions(u) assert result.team_roles == { t["dep1"]: TeamRoleEnum.member.value, t["dep2"]: TeamRoleEnum.member.value, t["dep2_team1"]: TeamRoleEnum.member.value, t["dep2_team2"]: TeamRoleEnum.member.value, }
def test_load_team_tree_permissions_override(self): # fmt: off u, t = create_setup([ ('dep1', None, [('dep2', TeamRoleEnum.team_admin.value, [ ('dep2_team1', None, []), ('dep2_team2', TeamRoleEnum.member.value, []), ])]), ('dep3', None, []), ]) # fmt: on result = load_team_tree_permissions(u) assert result.team_roles == { t["dep1"]: None, t["dep2"]: TeamRoleEnum.team_admin.value, t["dep2_team1"]: TeamRoleEnum.team_admin.value, t["dep2_team2"]: TeamRoleEnum.member.value, # ! } assert set(u.readable_team_ids) == set( [t["dep2"], t["dep2_team1"], t["dep2_team2"]]) assert set(u.writable_team_ids) == set([t["dep2"], t["dep2_team1"]])
def test_load_team_tree_permissions(self): # fmt: off u, t = create_setup([ ('dep1', None, [('dep2', None, [ ('dep2_team1', TeamRoleEnum.member.value, []), ])]), ]) # fmt: on result = load_team_tree_permissions(u) assert result.team_roles == { t["dep1"]: None, t["dep2"]: None, t["dep2_team1"]: TeamRoleEnum.member.value, } assert result.team_parents == { t["dep2_team1"]: t["dep2"], t["dep2"]: t["dep1"], } assert result.team_children == { t["dep1"]: {t["dep2"]}, t["dep2"]: {t["dep2_team1"]}, }