[973924]: / qiita_pet / test / test_public.py

Download this file

67 lines (50 with data), 2.4 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# -----------------------------------------------------------------------------
# Copyright (c) 2014--, The Qiita Development Team.
#
# Distributed under the terms of the BSD 3-clause License.
#
# The full license is in the file LICENSE, distributed with this software.
# -----------------------------------------------------------------------------
from unittest import main
from qiita_pet.test.tornado_test_base import TestHandlerBase
from qiita_db.artifact import Artifact
class TestPublicHandler(TestHandlerBase):
def test_public(self):
response = self.get('/public/')
self.assertEqual(response.code, 422)
self.assertIn("You need to specify study_id or artifact_id",
response.body.decode('ascii'))
response = self.get('/public/?study_id=100')
self.assertEqual(response.code, 422)
self.assertIn("Study 100 doesn't exist",
response.body.decode('ascii'))
response = self.get('/public/?artifact_id=100')
self.assertEqual(response.code, 422)
self.assertIn("Artifact 100 doesn't exist",
response.body.decode('ascii'))
response = self.get('/public/?artifact_id=1')
self.assertEqual(response.code, 422)
self.assertIn("Artifact 1 is not public",
response.body.decode('ascii'))
response = self.get('/public/?study_id=1')
self.assertEqual(response.code, 422)
self.assertIn("Not a public study",
response.body.decode('ascii'))
# artifact 1 is the first artifact within Study 1
Artifact(1).visibility = 'public'
response = self.get('/public/?study_id=1')
self.assertEqual(response.code, 200)
response = self.get('/public/?artifact_id=1')
self.assertEqual(response.code, 200)
response = self.get('/public/?artifact_id=7')
self.assertEqual(response.code, 422)
self.assertIn("Artifact 7 is not public",
response.body.decode('ascii'))
# artifact 8 is part of an analysis
Artifact(8).visibility = 'public'
response = self.get('/public/?artifact_id=8')
self.assertEqual(response.code, 422)
self.assertIn("Artifact 8 doesn't belong to a study",
response.body.decode('ascii'))
if __name__ == '__main__':
main()