|
a/ForgeBlog/forgeblog/tests/functional/test_rest.py |
|
b/ForgeBlog/forgeblog/tests/functional/test_rest.py |
|
... |
|
... |
41 |
'text': 'test text',
|
41 |
'text': 'test text',
|
42 |
'state': 'published',
|
42 |
'state': 'published',
|
43 |
'labels': 'label1, label2'
|
43 |
'labels': 'label1, label2'
|
44 |
}
|
44 |
}
|
45 |
r = self.api_post('/rest/p/test/blog/', **data)
|
45 |
r = self.api_post('/rest/p/test/blog/', **data)
|
46 |
assert_equal(r.status_int, 200)
|
46 |
assert_equal(r.status_int, 201)
|
47 |
url = '/rest' + BM.BlogPost.query.find().first().url()
|
47 |
url = '/rest' + BM.BlogPost.query.find().first().url()
|
48 |
r = self.api_get('/rest/p/test/blog/')
|
48 |
r = self.api_get('/rest/p/test/blog/')
|
49 |
assert_equal(r.json['posts'][0]['title'], 'test')
|
49 |
assert_equal(r.json['posts'][0]['title'], 'test')
|
50 |
assert_equal(r.json['posts'][0]['url'], h.absurl(url))
|
50 |
assert_equal(r.json['posts'][0]['url'], h.absurl(url))
|
51 |
|
51 |
|
52 |
r = self.api_get(url)
|
52 |
r = self.api_get(url)
|
53 |
assert_equal(r.json['title'], 'test')
|
53 |
assert_equal(r.json['title'], data['title'])
|
54 |
assert_equal(r.json['text'], data['text'])
|
54 |
assert_equal(r.json['text'], data['text'])
|
|
|
55 |
assert_equal(r.json['author'], 'test-admin')
|
55 |
assert_equal(r.json['state'], data['state'])
|
56 |
assert_equal(r.json['state'], data['state'])
|
56 |
assert_equal(r.json['labels'], data['labels'].split(','))
|
57 |
assert_equal(r.json['labels'], data['labels'].split(','))
|
57 |
|
58 |
|
58 |
def test_update_post(self):
|
59 |
def test_update_post(self):
|
59 |
data = {
|
60 |
data = {
|
|
... |
|
... |
61 |
'text': 'test text',
|
62 |
'text': 'test text',
|
62 |
'state': 'published',
|
63 |
'state': 'published',
|
63 |
'labels': 'label1, label2'
|
64 |
'labels': 'label1, label2'
|
64 |
}
|
65 |
}
|
65 |
r = self.api_post('/rest/p/test/blog/', **data)
|
66 |
r = self.api_post('/rest/p/test/blog/', **data)
|
66 |
assert_equal(r.status_int, 200)
|
67 |
assert_equal(r.status_int, 201)
|
67 |
url = '/rest' + BM.BlogPost.query.find().first().url()
|
68 |
url = '/rest' + BM.BlogPost.query.find().first().url()
|
68 |
data = {
|
69 |
data = {
|
69 |
'text': 'test text2',
|
70 |
'text': 'test text2',
|
70 |
'state': 'draft',
|
71 |
'state': 'draft',
|
71 |
'labels': 'label3'
|
72 |
'labels': 'label3'
|
|
... |
|
... |
82 |
'title': 'test',
|
83 |
'title': 'test',
|
83 |
'state': 'published',
|
84 |
'state': 'published',
|
84 |
'labels': 'label1, label2'
|
85 |
'labels': 'label1, label2'
|
85 |
}
|
86 |
}
|
86 |
r = self.api_post('/rest/p/test/blog/', **data)
|
87 |
r = self.api_post('/rest/p/test/blog/', **data)
|
87 |
assert_equal(r.status_int, 200)
|
88 |
assert_equal(r.status_int, 201)
|
88 |
url = '/rest' + BM.BlogPost.query.find().first().url()
|
89 |
url = '/rest' + BM.BlogPost.query.find().first().url()
|
89 |
self.api_post(url, delete='')
|
90 |
self.api_post(url, delete='')
|
90 |
r = self.api_get(url)
|
91 |
r = self.api_get(url)
|
91 |
assert_equal(r.status_int, 404)
|
92 |
assert_equal(r.status_int, 404)
|
92 |
|
93 |
|
|
... |
|
... |
117 |
anon_write = M.ACE.allow(anon, 'write')
|
118 |
anon_write = M.ACE.allow(anon, 'write')
|
118 |
acl.append(anon_write)
|
119 |
acl.append(anon_write)
|
119 |
self.app.post('/rest/p/test/blog/',
|
120 |
self.app.post('/rest/p/test/blog/',
|
120 |
params=dict(title='test', text='test text', state='published'),
|
121 |
params=dict(title='test', text='test text', state='published'),
|
121 |
extra_environ={'username': '*anonymous'},
|
122 |
extra_environ={'username': '*anonymous'},
|
122 |
status=200)
|
123 |
status=201)
|
123 |
|
124 |
|
124 |
def test_update_post_permissons(self):
|
125 |
def test_update_post_permissons(self):
|
125 |
self.api_post('/rest/p/test/blog/', title='test', text='test text', state='published')
|
126 |
self.api_post('/rest/p/test/blog/', title='test', text='test text', state='published')
|
126 |
url = '/rest' + BM.BlogPost.query.find().first().url()
|
127 |
url = '/rest' + BM.BlogPost.query.find().first().url()
|
127 |
self.app.post(url.encode('utf-8'),
|
128 |
self.app.post(url.encode('utf-8'),
|
|
... |
|
... |
143 |
assert_equal(r.json['state'], 'published')
|
144 |
assert_equal(r.json['state'], 'published')
|
144 |
|
145 |
|
145 |
def test_permission_draft_post(self):
|
146 |
def test_permission_draft_post(self):
|
146 |
self.api_post('/rest/p/test/blog/', title='test', text='test text', state='draft')
|
147 |
self.api_post('/rest/p/test/blog/', title='test', text='test text', state='draft')
|
147 |
r = self.app.get('/rest/p/test/blog/', extra_environ={'username': '*anonymous'})
|
148 |
r = self.app.get('/rest/p/test/blog/', extra_environ={'username': '*anonymous'})
|
148 |
assert_equal(r.json, {'posts': []})
|
149 |
assert_equal(r.json['posts'], [])
|
149 |
url = '/rest' + BM.BlogPost.query.find().first().url()
|
150 |
url = '/rest' + BM.BlogPost.query.find().first().url()
|
150 |
self.app.post(url.encode('utf-8'),
|
151 |
self.app.post(url.encode('utf-8'),
|
151 |
params=dict(title='test2', text='test text2', state='published'),
|
152 |
params=dict(title='test2', text='test text2', state='published'),
|
152 |
extra_environ={'username': '*anonymous'},
|
153 |
extra_environ={'username': '*anonymous'},
|
153 |
status=401)
|
154 |
status=401)
|
|
... |
|
... |
160 |
assert_equal(r.json['posts'][0]['title'], 'test')
|
161 |
assert_equal(r.json['posts'][0]['title'], 'test')
|
161 |
|
162 |
|
162 |
def test_draft_post(self):
|
163 |
def test_draft_post(self):
|
163 |
self.api_post('/rest/p/test/blog/', title='test', text='test text', state='draft')
|
164 |
self.api_post('/rest/p/test/blog/', title='test', text='test text', state='draft')
|
164 |
r = self.app.get('/rest/p/test/blog/', extra_environ={'username': '*anonymous'})
|
165 |
r = self.app.get('/rest/p/test/blog/', extra_environ={'username': '*anonymous'})
|
165 |
assert_equal(r.json, {'posts': []})
|
166 |
assert_equal(r.json['posts'], [])
|
166 |
url = '/rest' + BM.BlogPost.query.find().first().url()
|
167 |
url = '/rest' + BM.BlogPost.query.find().first().url()
|
167 |
self.api_post(url, state='published')
|
168 |
self.api_post(url, state='published')
|
168 |
r = self.app.get('/rest/p/test/blog/', extra_environ={'username': '*anonymous'})
|
169 |
r = self.app.get('/rest/p/test/blog/', extra_environ={'username': '*anonymous'})
|
169 |
assert_equal(r.json['posts'][0]['title'], 'test')
|
170 |
assert_equal(r.json['posts'][0]['title'], 'test')
|
|
|
171 |
|
|
|
172 |
def test_pagination(self):
|
|
|
173 |
self.api_post('/rest/p/test/blog/', title='test1', text='test text1', state='published')
|
|
|
174 |
self.api_post('/rest/p/test/blog/', title='test2', text='test text2', state='published')
|
|
|
175 |
self.api_post('/rest/p/test/blog/', title='test3', text='test text3', state='published')
|
|
|
176 |
r = self.api_get('/rest/p/test/blog/', limit='1', page='0')
|
|
|
177 |
assert_equal(r.json['posts'][0]['title'], 'test3')
|
|
|
178 |
assert_equal(r.json['count'], 3)
|
|
|
179 |
assert_equal(r.json['limit'], 1)
|
|
|
180 |
assert_equal(r.json['page'], 0)
|
|
|
181 |
r = self.api_get('/rest/p/test/blog/', limit='2', page='0')
|
|
|
182 |
assert_equal(r.json['posts'][0]['title'], 'test3')
|
|
|
183 |
assert_equal(r.json['posts'][1]['title'], 'test2')
|
|
|
184 |
assert_equal(r.json['count'], 3)
|
|
|
185 |
assert_equal(r.json['limit'], 2)
|
|
|
186 |
assert_equal(r.json['page'], 0)
|
|
|
187 |
r = self.api_get('/rest/p/test/blog/', limit='1', page='2')
|
|
|
188 |
assert_equal(r.json['posts'][0]['title'], 'test1')
|
|
|
189 |
assert_equal(r.json['count'], 3)
|
|
|
190 |
assert_equal(r.json['limit'], 1)
|
|
|
191 |
assert_equal(r.json['page'], 2)
|