From f58984c374a7a7832543c89713cf9f94e28947d5 Mon Sep 17 00:00:00 2001 From: Sascha Klawohn <sascha.klawohn@physik.hu-berlin.de> Date: Fri, 20 Sep 2024 09:26:17 +0000 Subject: [PATCH] Fix upload members for deleted groups --- .../components/uploads/EditMembersDialog.js | 22 +- .../uploads/EditMembersDialog.spec.js | 25 + gui/src/components/uploads/UploadPage.spec.js | 23 + gui/src/components/uploads/memberUtils.js | 11 +- ...blished-deleted-coauthor-group-author.json | 500 ++++++++++++++++++ ...blished-deleted-coauthor-group-member.json | 111 ++++ ...ublished-deleted-coauthor-group-owner.json | 111 ++++ tests/states/groups.py | 6 +- tests/states/uploads.py | 11 +- 9 files changed, 808 insertions(+), 12 deletions(-) create mode 100644 gui/tests/data/uploads/members-dialog-unpublished-deleted-coauthor-group-author.json create mode 100644 gui/tests/data/uploads/uploadpage-unpublished-deleted-coauthor-group-member.json create mode 100644 gui/tests/data/uploads/uploadpage-unpublished-deleted-coauthor-group-owner.json diff --git a/gui/src/components/uploads/EditMembersDialog.js b/gui/src/components/uploads/EditMembersDialog.js index 11f6f3069c..2f26d66cdd 100644 --- a/gui/src/components/uploads/EditMembersDialog.js +++ b/gui/src/components/uploads/EditMembersDialog.js @@ -16,16 +16,17 @@ * limitations under the License. */ import { - FormGroup, Dialog, DialogContent, DialogTitle, + FormGroup, IconButton, makeStyles, MenuItem, Select, TextField, - Tooltip + Tooltip, + Typography } from '@material-ui/core' import Button from '@material-ui/core/Button' import DialogActions from '@material-ui/core/DialogActions' @@ -35,6 +36,7 @@ import AutoComplete from '@material-ui/lab/Autocomplete' import _, { debounce } from 'lodash' import PropTypes from 'prop-types' import React, { useCallback, useContext, useEffect, useMemo, useReducer, useState } from 'react' +import { uploadMembersGroupSearchEnabled } from '../../config' import { isUploadVisibleForAll } from '../../utils' import { useApi } from '../api' import { Datatable, DatatableTable } from '../datatable/Datatable' @@ -56,7 +58,6 @@ import { TYPES, userToMember } from './memberUtils' -import { uploadMembersGroupSearchEnabled } from '../../config' export const editMembersDialogContext = React.createContext() @@ -75,13 +76,24 @@ const useStyles = makeStyles(theme => ({ } })) +function renderMemberName(member) { + if (member.error === 'missing') { + return ( + <Tooltip title={`ID: ${member.id}`}> + <Typography color="error">Error: {member.type} was deleted</Typography> + </Tooltip> + ) + } + return member.name +} + function MembersTable() { const {members, setIsChanged} = useContext(editMembersDialogContext) const forceUpdate = useReducer(bool => !bool)[1] const columns = [ {key: '', align: 'right', render: member => (<MemberIcon type={member.type} />)}, - {key: 'Name', align: 'left', render: member => member.name}, + {key: 'Name', align: 'left', render: renderMemberName}, {key: 'Affiliation', align: 'left', render: member => member.affiliation}, { key: 'Role', @@ -265,7 +277,7 @@ const EditMembersDialog = ({open, setOpen}) => { userToMember(usersDict[userId], userRoles[index]) ) const memberGroups = groupIds.map((groupId, index) => - groupToMember(groupsDict[groupId], usersDict, groupRoles[index]) + groupToMember(groupsDict[groupId], usersDict, groupRoles[index], groupId) ) return [...memberUsers, ...memberGroups] diff --git a/gui/src/components/uploads/EditMembersDialog.spec.js b/gui/src/components/uploads/EditMembersDialog.spec.js index 041c3771e2..09a864f510 100644 --- a/gui/src/components/uploads/EditMembersDialog.spec.js +++ b/gui/src/components/uploads/EditMembersDialog.spec.js @@ -259,3 +259,28 @@ test.each([ const isLoggedIn = username !== '' await testReadOnlyPermissions(isLoggedIn) }) + +test.each([ + [ + 'Unpublished with deleted coauthor group and logged in as main author', + 'tests.states.uploads.unpublished_deleted_coauthor_group', + 'tests/data/uploads/members-dialog-unpublished-deleted-coauthor-group-author', + 'dft_upload', + 'test', + 'password' + ] +])('Members dialog: %s', async (name, state, snapshot, uploadId, username, password) => { + await startAPI(state, snapshot, username, password) + const user = userEvent.setup() + render(<><LoginLogout/><UploadPage uploadId={uploadId}/></>) + + const dialog = await openMembersDialog(user) + const rows = within(dialog).queryAllByTestId('datatable-row') + expect(rows.length).toBe(2) + checkRow(rows[0], { texts: ['Markus Scheidgen', 'Main author'], isDeletable: false }) + checkRow(rows[1], { texts: ['Error: group was deleted', 'Co-author']}) + userEvent.hover(within(rows[1]).getByText('Error: group was deleted')) + await waitFor(() => { + expect(screen.getByRole("tooltip", { name: "ID: group23", hidden: true })).toBeVisible() + }) +}) diff --git a/gui/src/components/uploads/UploadPage.spec.js b/gui/src/components/uploads/UploadPage.spec.js index 9b1a2e7f13..dcba24b169 100644 --- a/gui/src/components/uploads/UploadPage.spec.js +++ b/gui/src/components/uploads/UploadPage.spec.js @@ -459,6 +459,29 @@ test.each([ await testShownColumnsAction() }) +test.each([ + [ + 'Unpublished and logged in as owner of deleted coauthor group', + 'tests.states.uploads.unpublished_deleted_coauthor_group', + 'tests/data/uploads/uploadpage-unpublished-deleted-coauthor-group-owner', + 'dft_upload', + 'scooper', + 'password' + ], [ + 'Unpublished and logged in as member of deleted coauthor group', + 'tests.states.uploads.unpublished_deleted_coauthor_group', + 'tests/data/uploads/uploadpage-unpublished-deleted-coauthor-group-member', + 'dft_upload', + 'ttester', + 'password' + ] +])(`Upload page: %s`, async (name, state, snapshot, uploadId, username, password) => { + await startAPI(state, snapshot, username, password) + render(<><LoginLogout/><UploadPage uploadId={uploadId}/></>) + await screen.findByTestId('logout-button') + await screen.findByText('You do not have access to the specified upload.') +}) + test('Toggle visible for all checkbox; check embargo, icon', async () => { await startAPI( 'tests.states.uploads.unpublished', diff --git a/gui/src/components/uploads/memberUtils.js b/gui/src/components/uploads/memberUtils.js index 5bbbf91aa6..53cc78659b 100644 --- a/gui/src/components/uploads/memberUtils.js +++ b/gui/src/components/uploads/memberUtils.js @@ -33,13 +33,14 @@ export function userToMember(user, role = ROLES.REVIEWER) { } } -export function groupToMember(group, usersDict = {}, role = ROLES.REVIEWER) { +export function groupToMember(group, usersDict = {}, role = ROLES.REVIEWER, defaultId = null) { return { type: TYPES.GROUP, - id: group.group_id, - name: group.group_name, - affiliation: usersDict[group.owner]?.name ?? group.owner, - role: role + id: group?.group_id ?? defaultId, + name: group?.group_name ?? null, + affiliation: usersDict[group?.owner]?.name ?? group?.owner ?? null, + role: role, + error: !group ? `missing` : null } } diff --git a/gui/tests/data/uploads/members-dialog-unpublished-deleted-coauthor-group-author.json b/gui/tests/data/uploads/members-dialog-unpublished-deleted-coauthor-group-author.json new file mode 100644 index 0000000000..2c41e62fe2 --- /dev/null +++ b/gui/tests/data/uploads/members-dialog-unpublished-deleted-coauthor-group-author.json @@ -0,0 +1,500 @@ +{ + "8aead418eab335225c1ae546e062aaec": [ + { + "request": { + "url": "http://localhost:8000/fairdi/nomad/latest/api/v1/groups?user_id=68878af7-6845-46c0-b2c1-250d4d8eb470", + "method": "GET", + "body": "", + "headers": { + "accept": "application/json", + "authorization": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJSWFFIV1YxSEJ6cmh5U3h3UmRDdkhCcUF1WVNKRzZWSEJSZXg0TW5oX293In0.eyJleHAiOjE3MjY3NzQ5NDcsImlhdCI6MTcyNjczODk1OSwianRpIjoiMjllY2VjNjgtOWVlNy00YTZhLTg0OWItODNmYjMwZDJhMDg2IiwiaXNzIjoiaHR0cHM6Ly9ub21hZC1sYWIuZXUvZmFpcmRpL2tleWNsb2FrL2F1dGgvcmVhbG1zL2ZhaXJkaV9ub21hZF90ZXN0IiwiYXVkIjoiYWNjb3VudCIsInN1YiI6IjY4ODc4YWY3LTY4NDUtNDZjMC1iMmMxLTI1MGQ0ZDhlYjQ3MCIsInR5cCI6IkJlYXJlciIsImF6cCI6Im5vbWFkX2d1aV9kZXYiLCJzZXNzaW9uX3N0YXRlIjoiNGExOWEzNjUtZmM1Ny00NWFmLWE1YWYtMGM0YTdlYmY0ODIzIiwiYWxsb3dlZC1vcmlnaW5zIjpbIioiXSwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbIm9mZmxpbmVfYWNjZXNzIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6ImVtYWlsIHByb2ZpbGUiLCJzaWQiOiI0YTE5YTM2NS1mYzU3LTQ1YWYtYTVhZi0wYzRhN2ViZjQ4MjMiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6Ik1hcmt1cyBTY2hlaWRnZW4iLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJ0ZXN0IiwiZ2l2ZW5fbmFtZSI6Ik1hcmt1cyIsImZhbWlseV9uYW1lIjoiU2NoZWlkZ2VuIiwiZW1haWwiOiJtYXJrdXMuc2NoZWlkZ2VuQGZoaS1iZXJsaW4uZGUifQ.ERo2dTvyK079-KQN9ExHeSAaPo7WI9kZUsialqvRYCuiUwO7zNI2Pue8p0Q28YnSDDEnMjhtdioVgw4jTyS2vCV-3KDDFlAc6XdT0anooVcOdoGbLQyP3TIjM6mDjWhqMRLsr8DEsgf_bjZ47y0i4IECPMaIv4GBg6P9pXTRTWxwnY58Pub9wU_wFDO0xzKi5qY_pZVqJDMxNdU0Cugvzn6KRQnkz55ms3iqBs-T40c1fm-EAbSFvWGEBlMC2aRzKi5bCoIZtmm5n1WFW9Nvxa10v0gLAXBmLlaAxgmrvt14b4_vZPcOwF5gyKIyYVx-izqV9vEsbOvQ3UfxHxBAyQ", + "cookie": null + } + }, + "response": { + "status": 200, + "body": { + "data": [ + { + "group_id": "group1", + "group_name": "Group Test", + "owner": "68878af7-6845-46c0-b2c1-250d4d8eb470", + "members": [] + } + ] + }, + "headers": { + "connection": "close", + "content-length": "168", + "content-type": "application/json", + "server": "uvicorn" + } + } + } + ], + "ff95b7af4ca8739b8ba0065e4de2b8d7": [ + { + "request": { + "url": "http://localhost:8000/fairdi/nomad/latest/api/v1/uploads/dft_upload/raw/README.md", + "method": "GET", + "body": "", + "headers": { + "accept": "application/json", + "authorization": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJSWFFIV1YxSEJ6cmh5U3h3UmRDdkhCcUF1WVNKRzZWSEJSZXg0TW5oX293In0.eyJleHAiOjE3MjY3NzQ5NDcsImlhdCI6MTcyNjczODk1OSwianRpIjoiMmY2ZjQwMGQtZTY3MC00N2U2LWI5ZWItNWUzNzRkNDhiNzQwIiwiaXNzIjoiaHR0cHM6Ly9ub21hZC1sYWIuZXUvZmFpcmRpL2tleWNsb2FrL2F1dGgvcmVhbG1zL2ZhaXJkaV9ub21hZF90ZXN0IiwiYXVkIjoiYWNjb3VudCIsInN1YiI6IjY4ODc4YWY3LTY4NDUtNDZjMC1iMmMxLTI1MGQ0ZDhlYjQ3MCIsInR5cCI6IkJlYXJlciIsImF6cCI6Im5vbWFkX2d1aV9kZXYiLCJzZXNzaW9uX3N0YXRlIjoiNGExOWEzNjUtZmM1Ny00NWFmLWE1YWYtMGM0YTdlYmY0ODIzIiwiYWxsb3dlZC1vcmlnaW5zIjpbIioiXSwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbIm9mZmxpbmVfYWNjZXNzIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6ImVtYWlsIHByb2ZpbGUiLCJzaWQiOiI0YTE5YTM2NS1mYzU3LTQ1YWYtYTVhZi0wYzRhN2ViZjQ4MjMiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6Ik1hcmt1cyBTY2hlaWRnZW4iLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJ0ZXN0IiwiZ2l2ZW5fbmFtZSI6Ik1hcmt1cyIsImZhbWlseV9uYW1lIjoiU2NoZWlkZ2VuIiwiZW1haWwiOiJtYXJrdXMuc2NoZWlkZ2VuQGZoaS1iZXJsaW4uZGUifQ.RyABjCv0kyNLCpiLHlCt3dsdKAFitht2rJ1vedoj49PlQAfz5lpTZNLssNGMWXPX_7kCiBxb1dWCUptqu8DCNuyHJzNJdk_aNYIRt0JHyRO_vIz6w3Y65B4nWh9fndpKbAZp9btUoSUNxH46vzo97kS0Sa0jtKenYL3ZZ81rix7eC2YsidqXPNyhPs0z-vARynKSa7E_ueJHaTfNeFrqyfSyXKL6k93ndKZHdR9CRN5U0PsgLKmoGPJExhYchnMbQAkgFo8PZ1A9fDCVxY5iQjSq78d0R_iCGPOL5s6lKzX3fm10YsGGahwlrUFnGb0ucArWdJ2VpYxbnZmMI_pilg", + "cookie": null + } + }, + "response": { + "status": 404, + "body": { + "detail": "Not found. Invalid path?" + }, + "headers": { + "connection": "close", + "content-length": "37", + "content-type": "application/json", + "server": "uvicorn" + } + } + }, + { + "request": { + "url": "http://localhost:8000/fairdi/nomad/latest/api/v1/uploads/dft_upload/raw/README.md", + "method": "GET", + "body": "", + "headers": { + "accept": "application/json", + "authorization": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJSWFFIV1YxSEJ6cmh5U3h3UmRDdkhCcUF1WVNKRzZWSEJSZXg0TW5oX293In0.eyJleHAiOjE3MjY3NzQ5NDcsImlhdCI6MTcyNjczODk2MCwianRpIjoiOTE0ZjA2M2QtZDM0YS00Y2QyLWI1MzgtYzg2NGNhOWRkZTQ0IiwiaXNzIjoiaHR0cHM6Ly9ub21hZC1sYWIuZXUvZmFpcmRpL2tleWNsb2FrL2F1dGgvcmVhbG1zL2ZhaXJkaV9ub21hZF90ZXN0IiwiYXVkIjoiYWNjb3VudCIsInN1YiI6IjY4ODc4YWY3LTY4NDUtNDZjMC1iMmMxLTI1MGQ0ZDhlYjQ3MCIsInR5cCI6IkJlYXJlciIsImF6cCI6Im5vbWFkX2d1aV9kZXYiLCJzZXNzaW9uX3N0YXRlIjoiNGExOWEzNjUtZmM1Ny00NWFmLWE1YWYtMGM0YTdlYmY0ODIzIiwiYWxsb3dlZC1vcmlnaW5zIjpbIioiXSwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbIm9mZmxpbmVfYWNjZXNzIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6ImVtYWlsIHByb2ZpbGUiLCJzaWQiOiI0YTE5YTM2NS1mYzU3LTQ1YWYtYTVhZi0wYzRhN2ViZjQ4MjMiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6Ik1hcmt1cyBTY2hlaWRnZW4iLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJ0ZXN0IiwiZ2l2ZW5fbmFtZSI6Ik1hcmt1cyIsImZhbWlseV9uYW1lIjoiU2NoZWlkZ2VuIiwiZW1haWwiOiJtYXJrdXMuc2NoZWlkZ2VuQGZoaS1iZXJsaW4uZGUifQ.FXRkWcnfgYVlBEcmS0SeI6PxVB0yyv0WP_Dhi9UVvny2gotOS7yZE6yga6f8jQB-nilowYdJt3KyPXCJ4OlZOgMEgUl_TIGr5JHICy6dL8pEEKSjdjnIXq1G-KJnkvzyzdPIWsHQd4isckXk3f4YogNBeHBLkpWET1_YeQ0j1UK3ybrRLuAhZLvLXcbczV6T-rBQZ0Utt2eD3SYAsPZXeAFHmcmhZvY0j5UAj-dwEH4TAd_UsM5hBmwFx11kOKP4rYrjRlviO__pq8lCGj8BQCRZR1n3Nf5M3C5ZGkuFBHQlX0vyzOCTQ2RBCsCBn-5qLe1oA3aCCEbh4Cc3M6FBgA", + "cookie": null + } + }, + "response": { + "status": 404, + "body": { + "detail": "Not found. Invalid path?" + }, + "headers": { + "connection": "close", + "content-length": "37", + "content-type": "application/json", + "server": "uvicorn" + } + } + } + ], + "ef176469409874c83459089471302b81": [ + { + "request": { + "url": "http://localhost:8000/fairdi/nomad/latest/api/v1/uploads/dft_upload/entries?order=asc&order_by=process_status&page=1&page_size=5", + "method": "GET", + "body": "", + "headers": { + "accept": "application/json", + "authorization": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJSWFFIV1YxSEJ6cmh5U3h3UmRDdkhCcUF1WVNKRzZWSEJSZXg0TW5oX293In0.eyJleHAiOjE3MjY3NzQ5NDcsImlhdCI6MTcyNjczODk1OSwianRpIjoiMmY2ZjQwMGQtZTY3MC00N2U2LWI5ZWItNWUzNzRkNDhiNzQwIiwiaXNzIjoiaHR0cHM6Ly9ub21hZC1sYWIuZXUvZmFpcmRpL2tleWNsb2FrL2F1dGgvcmVhbG1zL2ZhaXJkaV9ub21hZF90ZXN0IiwiYXVkIjoiYWNjb3VudCIsInN1YiI6IjY4ODc4YWY3LTY4NDUtNDZjMC1iMmMxLTI1MGQ0ZDhlYjQ3MCIsInR5cCI6IkJlYXJlciIsImF6cCI6Im5vbWFkX2d1aV9kZXYiLCJzZXNzaW9uX3N0YXRlIjoiNGExOWEzNjUtZmM1Ny00NWFmLWE1YWYtMGM0YTdlYmY0ODIzIiwiYWxsb3dlZC1vcmlnaW5zIjpbIioiXSwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbIm9mZmxpbmVfYWNjZXNzIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6ImVtYWlsIHByb2ZpbGUiLCJzaWQiOiI0YTE5YTM2NS1mYzU3LTQ1YWYtYTVhZi0wYzRhN2ViZjQ4MjMiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6Ik1hcmt1cyBTY2hlaWRnZW4iLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJ0ZXN0IiwiZ2l2ZW5fbmFtZSI6Ik1hcmt1cyIsImZhbWlseV9uYW1lIjoiU2NoZWlkZ2VuIiwiZW1haWwiOiJtYXJrdXMuc2NoZWlkZ2VuQGZoaS1iZXJsaW4uZGUifQ.RyABjCv0kyNLCpiLHlCt3dsdKAFitht2rJ1vedoj49PlQAfz5lpTZNLssNGMWXPX_7kCiBxb1dWCUptqu8DCNuyHJzNJdk_aNYIRt0JHyRO_vIz6w3Y65B4nWh9fndpKbAZp9btUoSUNxH46vzo97kS0Sa0jtKenYL3ZZ81rix7eC2YsidqXPNyhPs0z-vARynKSa7E_ueJHaTfNeFrqyfSyXKL6k93ndKZHdR9CRN5U0PsgLKmoGPJExhYchnMbQAkgFo8PZ1A9fDCVxY5iQjSq78d0R_iCGPOL5s6lKzX3fm10YsGGahwlrUFnGb0ucArWdJ2VpYxbnZmMI_pilg", + "cookie": null + } + }, + "response": { + "status": 200, + "body": { + "pagination": { + "page_size": 5, + "order_by": "process_status", + "order": "asc", + "page": 1, + "total": 1, + "page_url": "http://localhost:8000/fairdi/nomad/latest/api/v1/uploads/dft_upload/entries?order=asc&order_by=process_status&page=1&page_size=5", + "first_page_url": "http://localhost:8000/fairdi/nomad/latest/api/v1/uploads/dft_upload/entries?order=asc&order_by=process_status&page_size=5" + }, + "processing_successful": 1, + "processing_failed": 0, + "upload": { + "process_running": false, + "current_process": "process_upload", + "process_status": "SUCCESS", + "errors": [], + "warnings": [], + "complete_time": "2024-09-19T09:42:35.026000", + "upload_id": "dft_upload", + "upload_create_time": "2024-09-19T09:42:35.025000", + "main_author": "68878af7-6845-46c0-b2c1-250d4d8eb470", + "coauthors": [], + "coauthor_groups": [ + "group23" + ], + "reviewers": [], + "reviewer_groups": [], + "writers": [ + "68878af7-6845-46c0-b2c1-250d4d8eb470" + ], + "writer_groups": [ + "group23" + ], + "viewers": [ + "68878af7-6845-46c0-b2c1-250d4d8eb470" + ], + "viewer_groups": [ + "group23" + ], + "published": false, + "published_to": [], + "with_embargo": false, + "embargo_length": 0, + "license": "CC BY 4.0", + "entries": 1, + "upload_files_server_path": "/home/klawohns/work/code/nomad-FAIR/.volumes/test_fs/staging/df/dft_upload" + }, + "data": [ + { + "process_running": false, + "process_status": "SUCCESS", + "errors": [], + "warnings": [], + "entry_id": "dft_bulk", + "entry_create_time": "2024-09-19T09:42:35.028000", + "mainfile": "vasp.xml", + "upload_id": "dft_upload", + "parser_name": "parsers/vasp", + "entry_metadata": { + "upload_id": "dft_upload", + "references": [ + "doi" + ], + "origin": "Markus Scheidgen", + "datasets": [], + "n_quantities": 0, + "nomad_version": "0.10.0", + "upload_create_time": "2024-09-19T09:42:35.025886+00:00", + "nomad_commit": "bf3c06fa", + "results": { + "material": { + "symmetry": { + "bravais_lattice": "cP", + "space_group_symbol": "Fd-3m", + "structure_name": "rock salt", + "space_group_number": 227, + "point_group": "6mm", + "crystal_system": "cubic" + }, + "elements": [ + "Si" + ], + "elements_exclusive": "Si", + "chemical_formula_anonymous": "A", + "material_id": "bulk_material", + "structural_type": "bulk", + "chemical_formula_reduced": "Si", + "n_elements": 1, + "chemical_formula_descriptive": "Si2", + "material_name": "Silicon", + "chemical_formula_hill": "Si2" + }, + "method": { + "method_name": "DFT", + "simulation": { + "program_version": "1", + "dft": { + "basis_set_type": "plane waves", + "core_electron_treatment": "unavailable", + "xc_functional_type": "GGA", + "xc_functional_names": [ + "GGA_C_PBE", + "GGA_X_PBE" + ], + "van_der_Waals_method": "G06", + "jacobs_ladder": "not processed", + "relativity_method": "scalar_relativistic_atomic_ZORA" + }, + "program_version_internal": "not processed", + "program_name": "VASP" + } + }, + "properties": { + "available_properties": [ + "band_structure_electronic", + "band_structure_phonon", + "bulk_modulus", + "dos_electronic", + "dos_phonon", + "electronic.band_structure_electronic.band_gap", + "energy_free_helmholtz", + "energy_volume_curve", + "heat_capacity_constant_volume", + "shear_modulus", + "trajectory" + ], + "structures": { + "structure_primitive": { + "nperiodic_dimensions": 0, + "n_sites": 0, + "cell_volume": 1.25e-28, + "lattice_parameters": { + "a": 5e-10, + "b": 5e-10, + "c": 5e-10, + "alpha": 1.5707963267948966, + "beta": 1.5707963267948966, + "gamma": 1.5707963267948966 + } + }, + "structure_conventional": { + "nperiodic_dimensions": 0, + "n_sites": 0, + "cell_volume": 1.25e-35, + "lattice_parameters": { + "a": 5e-10, + "b": 5e-10, + "c": 5e-10, + "alpha": 1.5707963267948966, + "beta": 1.5707963267948966, + "gamma": 1.5707963267948966 + } + }, + "structure_original": { + "nperiodic_dimensions": 0, + "n_sites": 0, + "cell_volume": 1.25e-28, + "lattice_parameters": { + "a": 5e-10, + "b": 5e-10, + "c": 5e-10, + "alpha": 1.5707963267948966, + "beta": 1.5707963267948966, + "gamma": 1.5707963267948966 + } + } + }, + "electronic": { + "dos_electronic": [ + { + "band_gap": [] + } + ], + "band_structure_electronic": [ + { + "band_gap": [ + { + "type": "indirect", + "value": 1e-19 + } + ] + } + ] + }, + "thermodynamic": { + "trajectory": [ + { + "available_properties": [ + "pressure", + "temperature", + "volume" + ] + } + ] + }, + "mechanical": { + "energy_volume_curve": [ + { + "type": "murnaghan" + } + ], + "shear_modulus": [ + { + "type": "voigt_reuss_hill_average", + "value": 1 + } + ], + "bulk_modulus": [ + { + "type": "murnaghan", + "value": 1 + } + ] + } + } + }, + "last_processing_time": "2021-03-17T15:47:32.899000+00:00", + "parser_name": "parsers/vasp", + "calc_id": "dft_bulk", + "published": false, + "writers": [ + { + "user_id": "68878af7-6845-46c0-b2c1-250d4d8eb470", + "name": "Markus Scheidgen" + } + ], + "writer_groups": [ + "group23" + ], + "processed": true, + "mainfile": "vasp.xml", + "main_author": { + "user_id": "68878af7-6845-46c0-b2c1-250d4d8eb470", + "name": "Markus Scheidgen" + }, + "viewers": [ + { + "user_id": "68878af7-6845-46c0-b2c1-250d4d8eb470", + "name": "Markus Scheidgen" + } + ], + "viewer_groups": [ + "group23" + ], + "entry_create_time": "2024-09-19T09:42:35.028886+00:00", + "with_embargo": false, + "domain": "dft", + "comment": "Mocked", + "entry_id": "dft_bulk", + "authors": [ + { + "user_id": "68878af7-6845-46c0-b2c1-250d4d8eb470", + "name": "Markus Scheidgen" + } + ], + "license": "CC BY 4.0" + } + } + ] + }, + "headers": { + "connection": "close", + "content-length": "7936", + "content-type": "application/json", + "server": "uvicorn" + } + } + } + ], + "80ec323a29eee43f73e987f8f8980bcb": [ + { + "request": { + "url": "http://localhost:8000/fairdi/nomad/latest/api/v1/uploads/dft_upload/rawdir/?include_entry_info=true&page_size=500", + "method": "GET", + "body": "", + "headers": { + "accept": "application/json", + "authorization": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJSWFFIV1YxSEJ6cmh5U3h3UmRDdkhCcUF1WVNKRzZWSEJSZXg0TW5oX293In0.eyJleHAiOjE3MjY3NzQ5NDcsImlhdCI6MTcyNjczODk2MCwianRpIjoiMTM5NjVjY2ItZWYzNC00ZWZlLTkzNzUtMjg1NDE5MzYxZmNjIiwiaXNzIjoiaHR0cHM6Ly9ub21hZC1sYWIuZXUvZmFpcmRpL2tleWNsb2FrL2F1dGgvcmVhbG1zL2ZhaXJkaV9ub21hZF90ZXN0IiwiYXVkIjoiYWNjb3VudCIsInN1YiI6IjY4ODc4YWY3LTY4NDUtNDZjMC1iMmMxLTI1MGQ0ZDhlYjQ3MCIsInR5cCI6IkJlYXJlciIsImF6cCI6Im5vbWFkX2d1aV9kZXYiLCJzZXNzaW9uX3N0YXRlIjoiNGExOWEzNjUtZmM1Ny00NWFmLWE1YWYtMGM0YTdlYmY0ODIzIiwiYWxsb3dlZC1vcmlnaW5zIjpbIioiXSwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbIm9mZmxpbmVfYWNjZXNzIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6ImVtYWlsIHByb2ZpbGUiLCJzaWQiOiI0YTE5YTM2NS1mYzU3LTQ1YWYtYTVhZi0wYzRhN2ViZjQ4MjMiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6Ik1hcmt1cyBTY2hlaWRnZW4iLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJ0ZXN0IiwiZ2l2ZW5fbmFtZSI6Ik1hcmt1cyIsImZhbWlseV9uYW1lIjoiU2NoZWlkZ2VuIiwiZW1haWwiOiJtYXJrdXMuc2NoZWlkZ2VuQGZoaS1iZXJsaW4uZGUifQ.Hyl9_cQI6fwLhmWCgrv3eV54s1K7rYm9UD6G2vEsiEQ3XgfWALhOR_tBjRJ-p6R_po4OcbKzzT-iDug693DwzoLGivni2p_NB1aemN68iRKBAPzz2LBeiA6P6H8vZo8CMO62i8iTY2Um-84GJ082Oua24RN3w_yTJhO2jnSoc8nlwYw50Zq2tk5iPVlO8zhNd1GOfSjKSZsfMPe69IXRebz6nbF2d-dW3QQvETGLz4Tfh_Buyw2V7yaIEcqk_a-G61BBZDTdfMaKwbRMhA8nJAJ-v5YS9RC8dng2NDX2k2NFWF75K_GcBRa8GtFAVnc59auYtI17BLloubjDi4a2Ow", + "cookie": null + } + }, + "response": { + "status": 200, + "body": { + "path": "", + "access": "unpublished", + "directory_metadata": { + "name": "", + "size": 3259, + "content": [ + { + "name": "1.aux", + "size": 8, + "is_file": true + }, + { + "name": "2.aux", + "size": 8, + "is_file": true + }, + { + "name": "3.aux", + "size": 8, + "is_file": true + }, + { + "name": "4.aux", + "size": 8, + "is_file": true + }, + { + "name": "vasp.xml", + "size": 3227, + "entry_id": "dft_bulk", + "parser_name": "parsers/vasp", + "is_file": true + } + ] + }, + "pagination": { + "page_size": 500, + "order": "asc", + "page": 1, + "total": 5, + "page_url": "http://localhost:8000/fairdi/nomad/latest/api/v1/uploads/dft_upload/rawdir/?include_entry_info=true&page_size=500", + "first_page_url": "http://localhost:8000/fairdi/nomad/latest/api/v1/uploads/dft_upload/rawdir/?include_entry_info=true&page_size=500" + } + }, + "headers": { + "connection": "close", + "content-length": "999", + "content-type": "application/json", + "server": "uvicorn" + } + } + } + ], + "995d2a55225a57fe571cb4270b672ab1": [ + { + "request": { + "url": "http://localhost:8000/fairdi/nomad/latest/api/v1/groups?group_id=group23", + "method": "GET", + "body": "", + "headers": { + "accept": "application/json", + "authorization": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJSWFFIV1YxSEJ6cmh5U3h3UmRDdkhCcUF1WVNKRzZWSEJSZXg0TW5oX293In0.eyJleHAiOjE3MjY3NzQ5NDcsImlhdCI6MTcyNjczODk2MCwianRpIjoiYzA5ZTkxOGItNmUxYS00YTBiLWI5MzctZGMxYmQ3ZWRkNzI2IiwiaXNzIjoiaHR0cHM6Ly9ub21hZC1sYWIuZXUvZmFpcmRpL2tleWNsb2FrL2F1dGgvcmVhbG1zL2ZhaXJkaV9ub21hZF90ZXN0IiwiYXVkIjoiYWNjb3VudCIsInN1YiI6IjY4ODc4YWY3LTY4NDUtNDZjMC1iMmMxLTI1MGQ0ZDhlYjQ3MCIsInR5cCI6IkJlYXJlciIsImF6cCI6Im5vbWFkX2d1aV9kZXYiLCJzZXNzaW9uX3N0YXRlIjoiNGExOWEzNjUtZmM1Ny00NWFmLWE1YWYtMGM0YTdlYmY0ODIzIiwiYWxsb3dlZC1vcmlnaW5zIjpbIioiXSwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbIm9mZmxpbmVfYWNjZXNzIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6ImVtYWlsIHByb2ZpbGUiLCJzaWQiOiI0YTE5YTM2NS1mYzU3LTQ1YWYtYTVhZi0wYzRhN2ViZjQ4MjMiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6Ik1hcmt1cyBTY2hlaWRnZW4iLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJ0ZXN0IiwiZ2l2ZW5fbmFtZSI6Ik1hcmt1cyIsImZhbWlseV9uYW1lIjoiU2NoZWlkZ2VuIiwiZW1haWwiOiJtYXJrdXMuc2NoZWlkZ2VuQGZoaS1iZXJsaW4uZGUifQ.g_NCwvzfGK0evfH6p-vJ8GRiXAne1Hf1qQNpYWqj4BKeWQ3S5Sz9mAFwJgdblQopZZxCkUtfZpy10jiVCP1nxO8dx0tB73RgOPxShx6gopa4lm76zyR10XYSKLTCY1Box-TqQ7Z6exXTfq-Ed8X8ZCeQiMykIHapnw-a6MRk1NZvMW6PxIrDKtRM1bR6Xm1AID4QhzuXtg5y9pDBxMp8ppqne6vrBrHck4E3MCOOf8MP7ixSh84eO8-u9yK7REed1UAFFLbs9UcrfBsZG7dk3zDdBPFbR_7UI-e3cfnE3mqPHUxjYFTM78EmVygyNwZQAqa6IiuTzmIUrwXjvJLH7g", + "cookie": null + } + }, + "response": { + "status": 200, + "body": { + "data": [] + }, + "headers": { + "connection": "close", + "content-length": "16", + "content-type": "application/json", + "server": "uvicorn" + } + } + } + ], + "82995eaf98cb80ee956949f3401abb09": [ + { + "request": { + "url": "http://localhost:8000/fairdi/nomad/latest/api/v1/users?user_id=68878af7-6845-46c0-b2c1-250d4d8eb470", + "method": "GET", + "body": "", + "headers": { + "accept": "application/json", + "authorization": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJSWFFIV1YxSEJ6cmh5U3h3UmRDdkhCcUF1WVNKRzZWSEJSZXg0TW5oX293In0.eyJleHAiOjE3MjY3NzQ5NDcsImlhdCI6MTcyNjczODk2MSwianRpIjoiMmJlZjJlMDMtOTEyMC00ZWFlLWE4YTYtMWJmZjljOTE3NTM0IiwiaXNzIjoiaHR0cHM6Ly9ub21hZC1sYWIuZXUvZmFpcmRpL2tleWNsb2FrL2F1dGgvcmVhbG1zL2ZhaXJkaV9ub21hZF90ZXN0IiwiYXVkIjoiYWNjb3VudCIsInN1YiI6IjY4ODc4YWY3LTY4NDUtNDZjMC1iMmMxLTI1MGQ0ZDhlYjQ3MCIsInR5cCI6IkJlYXJlciIsImF6cCI6Im5vbWFkX2d1aV9kZXYiLCJzZXNzaW9uX3N0YXRlIjoiNGExOWEzNjUtZmM1Ny00NWFmLWE1YWYtMGM0YTdlYmY0ODIzIiwiYWxsb3dlZC1vcmlnaW5zIjpbIioiXSwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbIm9mZmxpbmVfYWNjZXNzIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6ImVtYWlsIHByb2ZpbGUiLCJzaWQiOiI0YTE5YTM2NS1mYzU3LTQ1YWYtYTVhZi0wYzRhN2ViZjQ4MjMiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6Ik1hcmt1cyBTY2hlaWRnZW4iLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJ0ZXN0IiwiZ2l2ZW5fbmFtZSI6Ik1hcmt1cyIsImZhbWlseV9uYW1lIjoiU2NoZWlkZ2VuIiwiZW1haWwiOiJtYXJrdXMuc2NoZWlkZ2VuQGZoaS1iZXJsaW4uZGUifQ.c7sEflX4Tg2Ke94iQ9_SxFb82CjZnR61PYDSTcxNykoD0ysvEMbGo7svnoRGm5HGZ5D5Mwl4Rfi7ZjDzRkGLp3zJClso7VvBCxpKlOYGhXhP9R6YLtIg4XCHIh9evfiqt3MZXzzRdGxAvQlyp2s4-LdVDz2ZTXQaEwD4D1vLAlHMqPBlaNj_Nwz83YDdUbOWLT19a4m3oUgNFoMsCyQapFfEzYg8F-n9KcvcZBOPr8bbXdp141fRZqPjRQJ_3nj-wf_nt-FYoptB-V0EtD7PllQ4fNwgcTjHm9J6XENujHZLOS-rqvLB4RufidKZ70v2t1UeUNzNvoQof7MRsqx0Dg", + "cookie": null + } + }, + "response": { + "status": 200, + "body": { + "data": [ + { + "name": "Markus Scheidgen", + "first_name": "Markus", + "last_name": "Scheidgen", + "user_id": "68878af7-6845-46c0-b2c1-250d4d8eb470", + "username": "test", + "created": "2021-09-21T12:00:27.257000+00:00", + "is_admin": false, + "is_oasis_admin": false + } + ] + }, + "headers": { + "connection": "close", + "content-length": "318", + "content-type": "application/json", + "server": "uvicorn" + } + } + } + ] +} \ No newline at end of file diff --git a/gui/tests/data/uploads/uploadpage-unpublished-deleted-coauthor-group-member.json b/gui/tests/data/uploads/uploadpage-unpublished-deleted-coauthor-group-member.json new file mode 100644 index 0000000000..b6c42b68c2 --- /dev/null +++ b/gui/tests/data/uploads/uploadpage-unpublished-deleted-coauthor-group-member.json @@ -0,0 +1,111 @@ +{ + "5b6de70afbfeec4bd1993514d31f8629": [ + { + "request": { + "url": "http://localhost:8000/fairdi/nomad/latest/api/v1/groups?user_id=54cb1f64-f84e-4815-9ade-440ce0b5430f", + "method": "GET", + "body": "", + "headers": { + "accept": "application/json", + "authorization": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJSWFFIV1YxSEJ6cmh5U3h3UmRDdkhCcUF1WVNKRzZWSEJSZXg0TW5oX293In0.eyJleHAiOjE3MjY3NzQ3OTksImlhdCI6MTcyNjczODgxMCwianRpIjoiZjFkMjFhMzUtNDZiZi00ZDFiLTkzMWMtYzI0NGFmZWFhYWEyIiwiaXNzIjoiaHR0cHM6Ly9ub21hZC1sYWIuZXUvZmFpcmRpL2tleWNsb2FrL2F1dGgvcmVhbG1zL2ZhaXJkaV9ub21hZF90ZXN0IiwiYXVkIjoiYWNjb3VudCIsInN1YiI6IjU0Y2IxZjY0LWY4NGUtNDgxNS05YWRlLTQ0MGNlMGI1NDMwZiIsInR5cCI6IkJlYXJlciIsImF6cCI6Im5vbWFkX2d1aV9kZXYiLCJzZXNzaW9uX3N0YXRlIjoiMzBhNTVmNzQtNjk4My00MDk1LTlkMmItYjQ5NmRlMDFjYzNhIiwiYWxsb3dlZC1vcmlnaW5zIjpbIioiXSwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbIm9mZmxpbmVfYWNjZXNzIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6ImVtYWlsIHByb2ZpbGUiLCJzaWQiOiIzMGE1NWY3NC02OTgzLTQwOTUtOWQyYi1iNDk2ZGUwMWNjM2EiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6IlRlc3QgVGVzdGVyIiwicHJlZmVycmVkX3VzZXJuYW1lIjoidHRlc3RlciIsImdpdmVuX25hbWUiOiJUZXN0IiwiZmFtaWx5X25hbWUiOiJUZXN0ZXIiLCJlbWFpbCI6InRlc3RAbm9tYWQtY29lLmV1In0.khHBhAsdWGcApbpD-8iYHgFxPoY9iGKN8jlxiY6SJOrt0Ba1gUQQ38wSdLuU8cOX13nBIPoy47Ut5Xv18dEK46deQ7mNJHLTtr6fAWALAqBde-e2MlE95uuQQTzCVsrNU7sIXWyLy9peK-LULm1HXT2I1Yp45Ht9bVNRzZ4GqxykWuKbGL2OOgYeqFhN291mMCYqd4o3CfHyuU9euYt6aSssrcCTONCnFPvFwHnvkj6-cyCL7MYGb4qMF1sJMO-s8rk-VBkw5w7eE1zJ23FYF67uWf_x4OkoSjItMIMjCRjSNPjUqaNHagYLZyDHWQ9M11HsbBHfCrqwYTBZXGcYMw", + "cookie": null + } + }, + "response": { + "status": 200, + "body": { + "data": [ + { + "group_id": "group3", + "group_name": "Group Tester", + "owner": "54cb1f64-f84e-4815-9ade-440ce0b5430f", + "members": [] + } + ] + }, + "headers": { + "connection": "close", + "content-length": "170", + "content-type": "application/json", + "server": "uvicorn" + } + } + } + ], + "ef176469409874c83459089471302b81": [ + { + "request": { + "url": "http://localhost:8000/fairdi/nomad/latest/api/v1/uploads/dft_upload/entries?order=asc&order_by=process_status&page=1&page_size=5", + "method": "GET", + "body": "", + "headers": { + "accept": "application/json", + "authorization": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJSWFFIV1YxSEJ6cmh5U3h3UmRDdkhCcUF1WVNKRzZWSEJSZXg0TW5oX293In0.eyJleHAiOjE3MjY3NzQ3OTksImlhdCI6MTcyNjczODgxMCwianRpIjoiZDUzYmU4YmMtZGU5MS00OTU0LWIxNmItZjcxNTYzOGVjZjQxIiwiaXNzIjoiaHR0cHM6Ly9ub21hZC1sYWIuZXUvZmFpcmRpL2tleWNsb2FrL2F1dGgvcmVhbG1zL2ZhaXJkaV9ub21hZF90ZXN0IiwiYXVkIjoiYWNjb3VudCIsInN1YiI6IjU0Y2IxZjY0LWY4NGUtNDgxNS05YWRlLTQ0MGNlMGI1NDMwZiIsInR5cCI6IkJlYXJlciIsImF6cCI6Im5vbWFkX2d1aV9kZXYiLCJzZXNzaW9uX3N0YXRlIjoiMzBhNTVmNzQtNjk4My00MDk1LTlkMmItYjQ5NmRlMDFjYzNhIiwiYWxsb3dlZC1vcmlnaW5zIjpbIioiXSwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbIm9mZmxpbmVfYWNjZXNzIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6ImVtYWlsIHByb2ZpbGUiLCJzaWQiOiIzMGE1NWY3NC02OTgzLTQwOTUtOWQyYi1iNDk2ZGUwMWNjM2EiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6IlRlc3QgVGVzdGVyIiwicHJlZmVycmVkX3VzZXJuYW1lIjoidHRlc3RlciIsImdpdmVuX25hbWUiOiJUZXN0IiwiZmFtaWx5X25hbWUiOiJUZXN0ZXIiLCJlbWFpbCI6InRlc3RAbm9tYWQtY29lLmV1In0.JP69OGNiE78_KFA1wMbf9AxPedsdRSsmClt2OzYLvhqm1nT9SqkjKsEnYpoDaws3FRXSTH5dHqxF7MaUezm6rD7HHK7WDI2ijkuOzq4kwpFUlYDyb5SzWThkI8RHc474EDQJKygl8CgHsxdA4GRi4MLpJq4t6lf_eu4dbKol91pDEwFzCSetlg5ViLJ_2OiceuIVAAaK-306Oil6ZwqZ8PlgPEGiiMlwwg5ZWB4vS2ujpDkGgiek3fBXtiIicTarvYTI7MvdrclrvSnx6bu_WNRS5QWaCbb3Zq0ZJcb2isA2P2tVkUe5dYIUFPy7CUCRuoQ8RllOJlyLHptdTsxZGg", + "cookie": null + } + }, + "response": { + "status": 401, + "body": { + "detail": "You do not have access to the specified upload." + }, + "headers": { + "connection": "close", + "content-length": "60", + "content-type": "application/json", + "server": "uvicorn" + } + } + } + ], + "ff95b7af4ca8739b8ba0065e4de2b8d7": [ + { + "request": { + "url": "http://localhost:8000/fairdi/nomad/latest/api/v1/uploads/dft_upload/raw/README.md", + "method": "GET", + "body": "", + "headers": { + "accept": "application/json", + "authorization": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJSWFFIV1YxSEJ6cmh5U3h3UmRDdkhCcUF1WVNKRzZWSEJSZXg0TW5oX293In0.eyJleHAiOjE3MjY3NzQ3OTksImlhdCI6MTcyNjczODgxMCwianRpIjoiZDUzYmU4YmMtZGU5MS00OTU0LWIxNmItZjcxNTYzOGVjZjQxIiwiaXNzIjoiaHR0cHM6Ly9ub21hZC1sYWIuZXUvZmFpcmRpL2tleWNsb2FrL2F1dGgvcmVhbG1zL2ZhaXJkaV9ub21hZF90ZXN0IiwiYXVkIjoiYWNjb3VudCIsInN1YiI6IjU0Y2IxZjY0LWY4NGUtNDgxNS05YWRlLTQ0MGNlMGI1NDMwZiIsInR5cCI6IkJlYXJlciIsImF6cCI6Im5vbWFkX2d1aV9kZXYiLCJzZXNzaW9uX3N0YXRlIjoiMzBhNTVmNzQtNjk4My00MDk1LTlkMmItYjQ5NmRlMDFjYzNhIiwiYWxsb3dlZC1vcmlnaW5zIjpbIioiXSwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbIm9mZmxpbmVfYWNjZXNzIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6ImVtYWlsIHByb2ZpbGUiLCJzaWQiOiIzMGE1NWY3NC02OTgzLTQwOTUtOWQyYi1iNDk2ZGUwMWNjM2EiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6IlRlc3QgVGVzdGVyIiwicHJlZmVycmVkX3VzZXJuYW1lIjoidHRlc3RlciIsImdpdmVuX25hbWUiOiJUZXN0IiwiZmFtaWx5X25hbWUiOiJUZXN0ZXIiLCJlbWFpbCI6InRlc3RAbm9tYWQtY29lLmV1In0.JP69OGNiE78_KFA1wMbf9AxPedsdRSsmClt2OzYLvhqm1nT9SqkjKsEnYpoDaws3FRXSTH5dHqxF7MaUezm6rD7HHK7WDI2ijkuOzq4kwpFUlYDyb5SzWThkI8RHc474EDQJKygl8CgHsxdA4GRi4MLpJq4t6lf_eu4dbKol91pDEwFzCSetlg5ViLJ_2OiceuIVAAaK-306Oil6ZwqZ8PlgPEGiiMlwwg5ZWB4vS2ujpDkGgiek3fBXtiIicTarvYTI7MvdrclrvSnx6bu_WNRS5QWaCbb3Zq0ZJcb2isA2P2tVkUe5dYIUFPy7CUCRuoQ8RllOJlyLHptdTsxZGg", + "cookie": null + } + }, + "response": { + "status": 401, + "body": { + "detail": "You do not have access to the specified upload." + }, + "headers": { + "connection": "close", + "content-length": "60", + "content-type": "application/json", + "server": "uvicorn" + } + } + }, + { + "request": { + "url": "http://localhost:8000/fairdi/nomad/latest/api/v1/uploads/dft_upload/raw/README.md", + "method": "GET", + "body": "", + "headers": { + "accept": "application/json", + "authorization": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJSWFFIV1YxSEJ6cmh5U3h3UmRDdkhCcUF1WVNKRzZWSEJSZXg0TW5oX293In0.eyJleHAiOjE3MjY3NzQ3OTksImlhdCI6MTcyNjczODgxMCwianRpIjoiMTZkZDI5OTktMWVmOC00OWNhLWIwMmUtZDUxMWRlYTA0NWQxIiwiaXNzIjoiaHR0cHM6Ly9ub21hZC1sYWIuZXUvZmFpcmRpL2tleWNsb2FrL2F1dGgvcmVhbG1zL2ZhaXJkaV9ub21hZF90ZXN0IiwiYXVkIjoiYWNjb3VudCIsInN1YiI6IjU0Y2IxZjY0LWY4NGUtNDgxNS05YWRlLTQ0MGNlMGI1NDMwZiIsInR5cCI6IkJlYXJlciIsImF6cCI6Im5vbWFkX2d1aV9kZXYiLCJzZXNzaW9uX3N0YXRlIjoiMzBhNTVmNzQtNjk4My00MDk1LTlkMmItYjQ5NmRlMDFjYzNhIiwiYWxsb3dlZC1vcmlnaW5zIjpbIioiXSwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbIm9mZmxpbmVfYWNjZXNzIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6ImVtYWlsIHByb2ZpbGUiLCJzaWQiOiIzMGE1NWY3NC02OTgzLTQwOTUtOWQyYi1iNDk2ZGUwMWNjM2EiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6IlRlc3QgVGVzdGVyIiwicHJlZmVycmVkX3VzZXJuYW1lIjoidHRlc3RlciIsImdpdmVuX25hbWUiOiJUZXN0IiwiZmFtaWx5X25hbWUiOiJUZXN0ZXIiLCJlbWFpbCI6InRlc3RAbm9tYWQtY29lLmV1In0.ZjHvpHNQQ_ALnmJsMPRA-Cnxoa3i1WQ-sarVLwtMF2Bl8XpxCNKHo7eUkKpFAvxYHtEt5ZHJK4ovfTeIlF1WGr4YBNi7-_PiXUxj36Rom4QzwZKjpFhZxDLHrls2SfIhqTXQIuHu1qnZe4KvffOnksEDSEa9Pl3pgB9d3BArqTEb7pDToyRthpXQXN8rCVXR2QMfNjconamy7YPArNR0eEIovgaFjbRE060xkWIBBTmGVWN-jQkAW4GFC7GFX_-Pb-avlD4Pf4TY4Bl3WVFnO0ZXbFRHyxl8DZwdlmynJbnvOzUqh2xlbbRPHEyN2EpbrpFbq5XenkxboJ669LkAaA", + "cookie": null + } + }, + "response": { + "status": 401, + "body": { + "detail": "You do not have access to the specified upload." + }, + "headers": { + "connection": "close", + "content-length": "60", + "content-type": "application/json", + "server": "uvicorn" + } + } + } + ] +} \ No newline at end of file diff --git a/gui/tests/data/uploads/uploadpage-unpublished-deleted-coauthor-group-owner.json b/gui/tests/data/uploads/uploadpage-unpublished-deleted-coauthor-group-owner.json new file mode 100644 index 0000000000..e5aab28c1f --- /dev/null +++ b/gui/tests/data/uploads/uploadpage-unpublished-deleted-coauthor-group-owner.json @@ -0,0 +1,111 @@ +{ + "09c92ad277a6d0a0f0328049eeea3d01": [ + { + "request": { + "url": "http://localhost:8000/fairdi/nomad/latest/api/v1/groups?user_id=a03af8b6-3aa7-428a-b3b1-4a6317e576b6", + "method": "GET", + "body": "", + "headers": { + "accept": "application/json", + "authorization": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJSWFFIV1YxSEJ6cmh5U3h3UmRDdkhCcUF1WVNKRzZWSEJSZXg0TW5oX293In0.eyJleHAiOjE3MjY3NzQ3ODMsImlhdCI6MTcyNjczODc5NCwianRpIjoiMDQ1ZDEyYjktMmYzMS00NGMzLWJmZjUtNDdhZmJiZGQ0MzUxIiwiaXNzIjoiaHR0cHM6Ly9ub21hZC1sYWIuZXUvZmFpcmRpL2tleWNsb2FrL2F1dGgvcmVhbG1zL2ZhaXJkaV9ub21hZF90ZXN0IiwiYXVkIjpbInJlYWxtLW1hbmFnZW1lbnQiLCJhY2NvdW50Il0sInN1YiI6ImEwM2FmOGI2LTNhYTctNDI4YS1iM2IxLTRhNjMxN2U1NzZiNiIsInR5cCI6IkJlYXJlciIsImF6cCI6Im5vbWFkX2d1aV9kZXYiLCJzZXNzaW9uX3N0YXRlIjoiY2E1MDA5NTAtODhhNC00ZDg3LTg2Y2QtYzNkMjM0MGE5MzE4IiwiYWxsb3dlZC1vcmlnaW5zIjpbIioiXSwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbIm9mZmxpbmVfYWNjZXNzIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJyZWFsbS1tYW5hZ2VtZW50Ijp7InJvbGVzIjpbInZpZXctdXNlcnMiLCJxdWVyeS1ncm91cHMiLCJxdWVyeS11c2VycyJdfSwiYWNjb3VudCI6eyJyb2xlcyI6WyJtYW5hZ2UtYWNjb3VudCIsIm1hbmFnZS1hY2NvdW50LWxpbmtzIiwidmlldy1wcm9maWxlIl19fSwic2NvcGUiOiJlbWFpbCBwcm9maWxlIiwic2lkIjoiY2E1MDA5NTAtODhhNC00ZDg3LTg2Y2QtYzNkMjM0MGE5MzE4IiwiZW1haWxfdmVyaWZpZWQiOnRydWUsIm5hbWUiOiJTaGVsZG9uIENvb3BlciIsInByZWZlcnJlZF91c2VybmFtZSI6InNjb29wZXIiLCJnaXZlbl9uYW1lIjoiU2hlbGRvbiIsImZhbWlseV9uYW1lIjoiQ29vcGVyIiwiZW1haWwiOiJzaGVsZG9uLmNvb3BlckBub21hZC1jb2UuZXUifQ.DnXGktb54svfbkqnuYhcIFC1hhTViOKSL7YuFIbOEX9jLXViUQcSxuKqsUS_jAQ8opFS-lXSHRxG8qmTISId5kvsfW8ZbN45RZU0ays_WaudqbUtKDoXeJFFwMdj69uAoD1UkSmQWbTvqn-vdAW4thR_6TAVJ7LbNvzyDmYzaWhmv6nJGdeA9_vGc4fqflYhiOMkKYviRKi_NnwnE7Zt3GYRamWhECeoHxUZR_99LzifjlkgGeKRpQGEb8_v2zkHYDE93o1aMUitzExURbWpLJKaErO1tqColl029b8MoqsnIyHHfgyWYBx_W2Nzrrote4k2CV1OYVnpK2Q7-nB7TQ", + "cookie": null + } + }, + "response": { + "status": 200, + "body": { + "data": [ + { + "group_id": "group2", + "group_name": "Group Cooper", + "owner": "a03af8b6-3aa7-428a-b3b1-4a6317e576b6", + "members": [] + } + ] + }, + "headers": { + "connection": "close", + "content-length": "170", + "content-type": "application/json", + "server": "uvicorn" + } + } + } + ], + "ff95b7af4ca8739b8ba0065e4de2b8d7": [ + { + "request": { + "url": "http://localhost:8000/fairdi/nomad/latest/api/v1/uploads/dft_upload/raw/README.md", + "method": "GET", + "body": "", + "headers": { + "accept": "application/json", + "authorization": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJSWFFIV1YxSEJ6cmh5U3h3UmRDdkhCcUF1WVNKRzZWSEJSZXg0TW5oX293In0.eyJleHAiOjE3MjY3NzQ3ODMsImlhdCI6MTcyNjczODc5NCwianRpIjoiNzg0YjQxZTYtNTk4MS00NDhlLTkzNzAtZTY4MmVlMTA1OGU1IiwiaXNzIjoiaHR0cHM6Ly9ub21hZC1sYWIuZXUvZmFpcmRpL2tleWNsb2FrL2F1dGgvcmVhbG1zL2ZhaXJkaV9ub21hZF90ZXN0IiwiYXVkIjpbInJlYWxtLW1hbmFnZW1lbnQiLCJhY2NvdW50Il0sInN1YiI6ImEwM2FmOGI2LTNhYTctNDI4YS1iM2IxLTRhNjMxN2U1NzZiNiIsInR5cCI6IkJlYXJlciIsImF6cCI6Im5vbWFkX2d1aV9kZXYiLCJzZXNzaW9uX3N0YXRlIjoiY2E1MDA5NTAtODhhNC00ZDg3LTg2Y2QtYzNkMjM0MGE5MzE4IiwiYWxsb3dlZC1vcmlnaW5zIjpbIioiXSwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbIm9mZmxpbmVfYWNjZXNzIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJyZWFsbS1tYW5hZ2VtZW50Ijp7InJvbGVzIjpbInZpZXctdXNlcnMiLCJxdWVyeS1ncm91cHMiLCJxdWVyeS11c2VycyJdfSwiYWNjb3VudCI6eyJyb2xlcyI6WyJtYW5hZ2UtYWNjb3VudCIsIm1hbmFnZS1hY2NvdW50LWxpbmtzIiwidmlldy1wcm9maWxlIl19fSwic2NvcGUiOiJlbWFpbCBwcm9maWxlIiwic2lkIjoiY2E1MDA5NTAtODhhNC00ZDg3LTg2Y2QtYzNkMjM0MGE5MzE4IiwiZW1haWxfdmVyaWZpZWQiOnRydWUsIm5hbWUiOiJTaGVsZG9uIENvb3BlciIsInByZWZlcnJlZF91c2VybmFtZSI6InNjb29wZXIiLCJnaXZlbl9uYW1lIjoiU2hlbGRvbiIsImZhbWlseV9uYW1lIjoiQ29vcGVyIiwiZW1haWwiOiJzaGVsZG9uLmNvb3BlckBub21hZC1jb2UuZXUifQ.KC-OAJBJJ5gx4yzpI_qz_SHVmICazk9uPnfuWrRySKbLops2TL8iDA_WAMquxSJ296DWVl601rbapZBBhKa6URHeAgdLDQj0PwiW0xZkVjktWGZ_QG6DTR1tqp3pKSiB7TSHdfyfBjERsIH0egzOgYurmkmq6qDblGllg6swL4HoLo8VhtsX6s6QI3FnYb1_UHNpKIWNvpuWRq4xCcCVKvLC0j8OByKeETlG4P1L8NBptPSjBUNZXxjbyabrVX7P-LHTVOO9yEFUikkOHhhOuaiw0Ujj0vfJCd0HAza52MMRv0OUohR7R6tyrGgTp60MLl1hUiIMsSBAPMRsd3vM7w", + "cookie": null + } + }, + "response": { + "status": 401, + "body": { + "detail": "You do not have access to the specified upload." + }, + "headers": { + "connection": "close", + "content-length": "60", + "content-type": "application/json", + "server": "uvicorn" + } + } + }, + { + "request": { + "url": "http://localhost:8000/fairdi/nomad/latest/api/v1/uploads/dft_upload/raw/README.md", + "method": "GET", + "body": "", + "headers": { + "accept": "application/json", + "authorization": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJSWFFIV1YxSEJ6cmh5U3h3UmRDdkhCcUF1WVNKRzZWSEJSZXg0TW5oX293In0.eyJleHAiOjE3MjY3NzQ3ODMsImlhdCI6MTcyNjczODc5NCwianRpIjoiNDE5ZTgyZjMtNmMzMC00OGQxLTk0NzgtZjZjNTQyNTkxYmZmIiwiaXNzIjoiaHR0cHM6Ly9ub21hZC1sYWIuZXUvZmFpcmRpL2tleWNsb2FrL2F1dGgvcmVhbG1zL2ZhaXJkaV9ub21hZF90ZXN0IiwiYXVkIjpbInJlYWxtLW1hbmFnZW1lbnQiLCJhY2NvdW50Il0sInN1YiI6ImEwM2FmOGI2LTNhYTctNDI4YS1iM2IxLTRhNjMxN2U1NzZiNiIsInR5cCI6IkJlYXJlciIsImF6cCI6Im5vbWFkX2d1aV9kZXYiLCJzZXNzaW9uX3N0YXRlIjoiY2E1MDA5NTAtODhhNC00ZDg3LTg2Y2QtYzNkMjM0MGE5MzE4IiwiYWxsb3dlZC1vcmlnaW5zIjpbIioiXSwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbIm9mZmxpbmVfYWNjZXNzIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJyZWFsbS1tYW5hZ2VtZW50Ijp7InJvbGVzIjpbInZpZXctdXNlcnMiLCJxdWVyeS1ncm91cHMiLCJxdWVyeS11c2VycyJdfSwiYWNjb3VudCI6eyJyb2xlcyI6WyJtYW5hZ2UtYWNjb3VudCIsIm1hbmFnZS1hY2NvdW50LWxpbmtzIiwidmlldy1wcm9maWxlIl19fSwic2NvcGUiOiJlbWFpbCBwcm9maWxlIiwic2lkIjoiY2E1MDA5NTAtODhhNC00ZDg3LTg2Y2QtYzNkMjM0MGE5MzE4IiwiZW1haWxfdmVyaWZpZWQiOnRydWUsIm5hbWUiOiJTaGVsZG9uIENvb3BlciIsInByZWZlcnJlZF91c2VybmFtZSI6InNjb29wZXIiLCJnaXZlbl9uYW1lIjoiU2hlbGRvbiIsImZhbWlseV9uYW1lIjoiQ29vcGVyIiwiZW1haWwiOiJzaGVsZG9uLmNvb3BlckBub21hZC1jb2UuZXUifQ.ONjKcP-nHRK9oX69LjxWlAxNAe0x1-FiuQIJInhTMxCRB14jbPbPzaXoacPKwCBXsjvl45iP9QLqlM1uLizSM0gthnT9bYKM5XkojohcZ0Stj8r_e5OI_gB-bAsvavwKWRZF5tLI8ToLdpPeSwR2ckVPe7coGyp2lLMEEQLU1gTWNqByLGlzm-84aNE3LSSmd7ErvXblmO_zIuYaG-EJHaszpSoL1QvqyNz1TZULfEjM9RvitsZ9Ne5JKEoS-GxtdAhqAe62Dm2eovX_qateL6wSxwvua16V-GvrfK0SHOnFyMZvM272Dzl0qzv0pIjxcspJm74kx31stD8q5wDdxw", + "cookie": null + } + }, + "response": { + "status": 401, + "body": { + "detail": "You do not have access to the specified upload." + }, + "headers": { + "connection": "close", + "content-length": "60", + "content-type": "application/json", + "server": "uvicorn" + } + } + } + ], + "ef176469409874c83459089471302b81": [ + { + "request": { + "url": "http://localhost:8000/fairdi/nomad/latest/api/v1/uploads/dft_upload/entries?order=asc&order_by=process_status&page=1&page_size=5", + "method": "GET", + "body": "", + "headers": { + "accept": "application/json", + "authorization": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJSWFFIV1YxSEJ6cmh5U3h3UmRDdkhCcUF1WVNKRzZWSEJSZXg0TW5oX293In0.eyJleHAiOjE3MjY3NzQ3ODMsImlhdCI6MTcyNjczODc5NCwianRpIjoiNzg0YjQxZTYtNTk4MS00NDhlLTkzNzAtZTY4MmVlMTA1OGU1IiwiaXNzIjoiaHR0cHM6Ly9ub21hZC1sYWIuZXUvZmFpcmRpL2tleWNsb2FrL2F1dGgvcmVhbG1zL2ZhaXJkaV9ub21hZF90ZXN0IiwiYXVkIjpbInJlYWxtLW1hbmFnZW1lbnQiLCJhY2NvdW50Il0sInN1YiI6ImEwM2FmOGI2LTNhYTctNDI4YS1iM2IxLTRhNjMxN2U1NzZiNiIsInR5cCI6IkJlYXJlciIsImF6cCI6Im5vbWFkX2d1aV9kZXYiLCJzZXNzaW9uX3N0YXRlIjoiY2E1MDA5NTAtODhhNC00ZDg3LTg2Y2QtYzNkMjM0MGE5MzE4IiwiYWxsb3dlZC1vcmlnaW5zIjpbIioiXSwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbIm9mZmxpbmVfYWNjZXNzIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJyZWFsbS1tYW5hZ2VtZW50Ijp7InJvbGVzIjpbInZpZXctdXNlcnMiLCJxdWVyeS1ncm91cHMiLCJxdWVyeS11c2VycyJdfSwiYWNjb3VudCI6eyJyb2xlcyI6WyJtYW5hZ2UtYWNjb3VudCIsIm1hbmFnZS1hY2NvdW50LWxpbmtzIiwidmlldy1wcm9maWxlIl19fSwic2NvcGUiOiJlbWFpbCBwcm9maWxlIiwic2lkIjoiY2E1MDA5NTAtODhhNC00ZDg3LTg2Y2QtYzNkMjM0MGE5MzE4IiwiZW1haWxfdmVyaWZpZWQiOnRydWUsIm5hbWUiOiJTaGVsZG9uIENvb3BlciIsInByZWZlcnJlZF91c2VybmFtZSI6InNjb29wZXIiLCJnaXZlbl9uYW1lIjoiU2hlbGRvbiIsImZhbWlseV9uYW1lIjoiQ29vcGVyIiwiZW1haWwiOiJzaGVsZG9uLmNvb3BlckBub21hZC1jb2UuZXUifQ.KC-OAJBJJ5gx4yzpI_qz_SHVmICazk9uPnfuWrRySKbLops2TL8iDA_WAMquxSJ296DWVl601rbapZBBhKa6URHeAgdLDQj0PwiW0xZkVjktWGZ_QG6DTR1tqp3pKSiB7TSHdfyfBjERsIH0egzOgYurmkmq6qDblGllg6swL4HoLo8VhtsX6s6QI3FnYb1_UHNpKIWNvpuWRq4xCcCVKvLC0j8OByKeETlG4P1L8NBptPSjBUNZXxjbyabrVX7P-LHTVOO9yEFUikkOHhhOuaiw0Ujj0vfJCd0HAza52MMRv0OUohR7R6tyrGgTp60MLl1hUiIMsSBAPMRsd3vM7w", + "cookie": null + } + }, + "response": { + "status": 401, + "body": { + "detail": "You do not have access to the specified upload." + }, + "headers": { + "connection": "close", + "content-length": "60", + "content-type": "application/json", + "server": "uvicorn" + } + } + } + ] +} \ No newline at end of file diff --git a/tests/states/groups.py b/tests/states/groups.py index 93d6f1b4b8..3dae035171 100644 --- a/tests/states/groups.py +++ b/tests/states/groups.py @@ -1,5 +1,5 @@ from nomad import infrastructure -from nomad.groups import create_user_group +from nomad.groups import create_user_group, get_user_group def _create(group_id, group_name, owner, members=None): @@ -9,6 +9,10 @@ def _create(group_id, group_name, owner, members=None): ) +def delete_group(group_id): + get_user_group(group_id).delete() + + def init_gui_test_groups(): user0 = infrastructure.user_management.get_user(username='admin').user_id user1 = infrastructure.user_management.get_user(username='test').user_id diff --git a/tests/states/uploads.py b/tests/states/uploads.py index 15d6cc4542..52ae1ed4e9 100644 --- a/tests/states/uploads.py +++ b/tests/states/uploads.py @@ -20,7 +20,7 @@ from nomad import infrastructure, files from nomad.processing import Upload from nomad.utils.exampledata import ExampleData from .archives.create_archives import archive_dft_bulk -from .groups import init_gui_test_groups +from .groups import init_gui_test_groups, delete_group default_access = {'coauthors': ['scooper'], 'reviewers': ['ttester']} twin_access = { @@ -173,6 +173,15 @@ def unpublished_reviewer_group(): _create_vasp_upload(access=access, published=False, embargo_length=0) +def unpublished_deleted_coauthor_group(): + """ + 1 upload, unpublished, 1 entry, 1 coauthor group (deleted) + """ + access = {'coauthor_groups': ['group23']} + _create_vasp_upload(access=access, published=False, embargo_length=0) + delete_group('group23') + + def multiple_entries(): """ State published upload containing multiple entries -- GitLab