|
2 | 2 | def test_search_saving(as_admin, data_builder): |
3 | 3 |
|
4 | 4 | # Try posting a malformed search |
5 | | - r = as_admin.post('/savesearch', json={"not-label":"random-string"}) |
| 5 | + r = as_admin.post('/savesearches', json={"not-label":"random-string"}) |
6 | 6 | assert r.status_code == 400 |
7 | 7 |
|
8 | 8 | # Try getting a non-existent saved search |
9 | | - r = as_admin.get('/savesearch/000000000000000000000000') |
| 9 | + r = as_admin.get('/savesearches/000000000000000000000000') |
10 | 10 | assert r.status_code == 404 |
11 | 11 |
|
12 | 12 | # Save a search |
13 | | - r = as_admin.post('/savesearch', json={'label': 'search1', 'search': {'return_type': 'session'}}) |
| 13 | + r = as_admin.post('/savesearches', json={'label': 'search1', 'search': {'return_type': 'session'}}) |
14 | 14 | assert r.ok |
15 | 15 | search = r.json()['_id'] |
16 | 16 |
|
17 | 17 | # Get all searched user has access to |
18 | | - r = as_admin.get('/savesearch') |
| 18 | + r = as_admin.get('/savesearches') |
19 | 19 | assert r.ok |
20 | 20 |
|
21 | 21 | # Get the saved search by id |
22 | | - r = as_admin.get('/savesearch/' + search) |
| 22 | + r = as_admin.get('/savesearches/' + search) |
23 | 23 | assert r.ok |
24 | 24 | assert r.json()['label'] == 'search1' |
25 | 25 |
|
26 | 26 | # Malformed search replace |
27 | 27 | payload = {'label': 'good-label', 'search' : { 'not-return-type' : 'not-container'}} |
28 | | - r = as_admin.post('/savesearch/' + search, json=payload) |
| 28 | + r = as_admin.post('/savesearches/' + search, json=payload) |
29 | 29 | assert r.status_code == 400 |
30 | 30 |
|
31 | 31 | # Replace search |
32 | | - r = as_admin.get('/savesearch/' + search) |
| 32 | + r = as_admin.get('/savesearches/' + search) |
33 | 33 | assert r.ok |
34 | 34 | assert r.json()['label'] == 'search1' |
35 | 35 | payload = r.json() |
36 | 36 | payload['label'] = 'newSearch' |
37 | | - r = as_admin.post('/savesearch/' + search, json=payload) |
| 37 | + r = as_admin.post('/savesearches/' + search, json=payload) |
38 | 38 | assert r.ok |
39 | 39 | assert r.json()['_id'] == search |
40 | | - r = as_admin.get('/savesearch/' + search) |
| 40 | + r = as_admin.get('/savesearches/' + search) |
41 | 41 | assert r.ok |
42 | 42 | assert r.json()['label'] == 'newSearch' |
43 | 43 |
|
| 44 | + # Add permission to search |
| 45 | + r = as_admin. post( '/savesearches/' + search + '/permissions', json={ 'access': 'admin', '_id': '[email protected]'}) |
| 46 | + assert r.ok |
| 47 | + r = as_admin.get('/savesearches/' + search) |
| 48 | + assert r.ok |
| 49 | + assert r. json()[ 'permissions'][ 1][ '_id'] == '[email protected]' |
| 50 | + |
| 51 | + # Modify permission |
| 52 | + r = as_admin. put( '/savesearches/' + search + '/permissions/[email protected]', json={ 'access': 'ro'}) |
| 53 | + assert r.ok |
| 54 | + r = as_admin.get('/savesearches/' + search) |
| 55 | + assert r.ok |
| 56 | + assert r.json()['permissions'][1]['access'] == 'ro' |
| 57 | + |
| 58 | + # Remove permission |
| 59 | + r = as_admin. delete( '/savesearches/' + search + '/permissions/[email protected]') |
| 60 | + assert r.ok |
| 61 | + r = as_admin.get('/savesearches/' + search) |
| 62 | + assert r.ok |
| 63 | + assert len(r.json()['permissions']) == 1 |
| 64 | + |
44 | 65 | # Delete saved search |
45 | | - r = as_admin.delete('/savesearch/' + search) |
| 66 | + r = as_admin.delete('/savesearches/' + search) |
46 | 67 | assert r.ok |
47 | | - r = as_admin.get('/savesearch') |
| 68 | + r = as_admin.get('/savesearches') |
48 | 69 | assert r.ok |
49 | 70 | assert len(r.json()) == 0 |
0 commit comments