def test_explore_datasets_nauser_and_groups(db, na_user, dataset_wrapper): add_group_perm_to_user("A", na_user) add_group_perm_to_dataset("A", "Dataset") print(get_user_groups(na_user)) print(get_dataset_groups("Dataset")) assert get_user_groups(na_user) & get_dataset_groups("Dataset")
def test_get_directly_allowed_genotype_data(db, user, dataset_wrapper): add_group_perm_to_user("A", user) add_group_perm_to_dataset("A", "Dataset") allowed_dtasets = get_directly_allowed_genotype_data(user) print(allowed_dtasets) assert "Dataset" in allowed_dtasets assert _user_has_permission_strict(user, "Dataset")
def test_dataset_group_rights_gives_access_to_all_datasets( db, user, dataset_wrapper): add_group_perm_to_user("A", user) add_group_perm_to_dataset("A", dataset_wrapper.study_id) assert user_has_permission(user, "Dataset1") assert user_has_permission(user, "Dataset2") assert user_has_permission(user, "Dataset")
def handle_dataset(self, dataset): print(dataset) dataset_id = dataset["dataset"].strip() groups = [gr.strip() for gr in dataset["groups"].split(";")] print(dataset_id) print(groups) for group_name in groups: # dataset_has_group_perm(dataset_id, group_name) add_group_perm_to_dataset(group_name, dataset_id)
def test_dataset1_group_rights_gives_access_to_study1_and_study3( db, user, dataset_wrapper): add_group_perm_to_user("A", user) add_group_perm_to_dataset("A", "Dataset1") assert user_has_permission(user, "Study1") assert user_has_permission(user, "Study3") assert not user_has_permission(user, "Study2")
def test_study1_and_dataset2_group_rights_allowed_datasets( db, user, dataset_wrapper): add_group_perm_to_user("A", user) add_group_perm_to_dataset("A", "Dataset2") add_group_perm_to_dataset("A", "Study1") result = _get_allowed_datasets_for_user(user, dataset_wrapper.study_id) assert result == set(["Study1", "Dataset2"]) result = get_allowed_genotype_studies(user, dataset_wrapper.study_id) assert result == set(["Study1", "Study2"])
def test_mixed_dataset_rights_third_party_group(db, user, user_client, preview_sources): data = { "datasetId": "composite_dataset_ds", "sources": list(preview_sources), } add_group_perm_to_dataset("new_custom_group", "inheritance_trio") add_group_perm_to_user("new_custom_group", user) response = user_client.post(QUERY_VARIANTS_URL, json.dumps(data), content_type="application/json") assert status.HTTP_200_OK == response.status_code res = response.streaming_content res = json.loads("".join(map(lambda x: x.decode("utf-8"), res))) assert len(res) == 14
def test_explore_datasets_users_and_groups(db, user, dataset_wrapper): add_group_perm_to_user("A", user) add_group_perm_to_dataset("A", "Dataset") group = Group.objects.get(name="A") dataset = Dataset.objects.get(dataset_id="Dataset") print("===========================================================") print(group, dir(group)) print("===========================================================") print("user.groups:", user.groups.all()) print("get_groups_with_perms:", get_groups_with_perms(dataset)) print(get_user_groups(user)) print(get_dataset_groups(dataset)) print(get_dataset_groups("Dataset")) assert get_user_groups(user) & get_dataset_groups(dataset)
def test_mixed_dataset_rights_download(db, user, user_client, download_sources): data = { "queryData": json.dumps({ "datasetId": "composite_dataset_ds", "sources": list(download_sources), "download": True, }) } add_group_perm_to_dataset("new_custom_group", "inheritance_trio") add_group_perm_to_user("new_custom_group", user) response = user_client.post(QUERY_VARIANTS_URL, json.dumps(data), content_type="application/json") assert response.status_code == status.HTTP_200_OK res = list(response.streaming_content) assert len(res) == 15
def test_get_allowed_dataset_from_parent(db, user, dataset_wrapper): add_group_perm_to_user("A", user) add_group_perm_to_dataset("A", "Dataset") allowed_datasets = _get_allowed_datasets_for_user(user, "Dataset1") assert "Dataset1" in allowed_datasets
def test_dataset1_group_rights(db, user, dataset_wrapper): add_group_perm_to_user("A", user) add_group_perm_to_dataset("A", "Dataset1") assert user_has_permission(user, dataset_wrapper.study_id)