1+ """ Test CMS API """
2+
13import pytest
24from tests .integration import asserts
35from threescale_api import errors
@@ -35,7 +37,7 @@ def test_file_can_be_updated(cms_file_data, cms_file):
3537 """ Can be file object updated? """
3638 updated_path = cms_file ['path' ] + 'up'
3739 cms_file ['path' ] = cms_file ['path' ] + 'up'
38- # TODO https://issues.redhat.com/browse/THREESCALE-9571
40+ # https://issues.redhat.com/browse/THREESCALE-9571
3941 for item in "created_at" , "updated_at" , "url" , "title" , "content_type" :
4042 cms_file .pop (item )
4143 cms_file .update ()
@@ -70,7 +72,7 @@ def test_section_can_be_updated(cms_section_params, cms_section):
7072 """ Can be section object updated? """
7173 updated_title = cms_section ['title' ] + 'up'
7274 cms_section ['title' ] = cms_section ['title' ] + 'up'
73- # TODO https://issues.redhat.com/browse/THREESCALE-9571
75+ # https://issues.redhat.com/browse/THREESCALE-9571
7476 for item in "created_at" , "updated_at" :
7577 cms_section .pop (item )
7678 cms_section .update ()
@@ -80,14 +82,11 @@ def test_section_can_be_updated(cms_section_params, cms_section):
8082 assert cms_section ['title' ] == updated_title
8183
8284
83- # # bug!!! TODO https://issues.redhat.com/browse/THREESCALE-9572
84- # def test_builtin_section_delete(api):
85- # """It is not possible to delete section partial."""
86- # with pytest.raises(errors.ApiClientError) as exc_info:
87- # api.cms_sections.list()[0].delete()
88- # assert exc_info.value.code == 423
89- # # TODO
90- # # assert exc_info.value.code == 400
85+ def test_builtin_section_delete (api ):
86+ """It is not possible to delete section partial."""
87+ with pytest .raises (errors .ApiClientError ) as exc_info :
88+ api .cms_sections .list ()[0 ].delete ()
89+ assert exc_info .value .code == 422
9190
9291
9392# Partials
@@ -109,16 +108,17 @@ def test_builtin_partial_delete(api):
109108 """It is not possible to delete builtin partial."""
110109 with pytest .raises (errors .ApiClientError ) as exc_info :
111110 api .cms_builtin_partials .list ()[0 ].delete ()
112- assert exc_info .value .code == 423
113- # TODO https://issues.redhat.com/browse/THREESCALE-9572
114- # assert exc_info.value.code == 400
111+ assert exc_info .value .code == 422
115112
116113# user
117114
118115
119116def test_partial_list (api , cms_partial ):
120117 """ List all user defined partials. """
121- assert len (api .cms_partials .list ()) >= 1
118+ parts_list = api .cms_partials .list ()
119+ assert len (parts_list ) >= 1
120+ assert all ('draft' in part .entity .keys () and 'published' in part .entity .keys ()
121+ for part in parts_list )
122122
123123
124124def test_partial_can_be_created (cms_partial_params , cms_partial ):
@@ -138,7 +138,7 @@ def test_partial_can_be_updated(cms_partial_params, cms_partial):
138138 """ Can be partial object updated? """
139139 updated_draft = cms_partial ['draft' ] + 'up'
140140 cms_partial ['draft' ] = cms_partial ['draft' ] + 'up'
141- # TODO https://issues.redhat.com/browse/THREESCALE-9571
141+ # https://issues.redhat.com/browse/THREESCALE-9571
142142 for item in "created_at" , "updated_at" , "published" :
143143 cms_partial .pop (item )
144144 cms_partial .update ()
@@ -153,8 +153,7 @@ def test_partial_publish(cms_partial):
153153 assert cms_partial .entity .get ('published' , None ) is None
154154 draft = cms_partial ['draft' ]
155155 cms_partial = cms_partial .publish ()
156- # assert draft == cms_partial['draft'] bug
157- # assert cms_partial['published'] == cms_partial['draft'] bug
156+ assert cms_partial ['draft' ] == None
158157 assert draft == cms_partial ['published' ]
159158
160159
@@ -178,9 +177,7 @@ def test_builtin_page_delete(api):
178177 """It is not possible to delete builtin page."""
179178 with pytest .raises (errors .ApiClientError ) as exc_info :
180179 api .cms_builtin_pages .list ()[0 ].delete ()
181- assert exc_info .value .code == 423
182- # TODO https://issues.redhat.com/browse/THREESCALE-9572
183- # assert exc_info.value.code == 400
180+ assert exc_info .value .code == 422
184181
185182
186183# user
@@ -208,7 +205,7 @@ def test_page_can_be_updated(cms_page_params, cms_page):
208205 """ Can be page object updated? """
209206 updated_draft = cms_page ['draft' ] + 'up'
210207 cms_page ['draft' ] = cms_page ['draft' ] + 'up'
211- # TODO https://issues.redhat.com/browse/THREESCALE-9571
208+ # https://issues.redhat.com/browse/THREESCALE-9571
212209 for item in "created_at" , "updated_at" , "hidden" , "published" :
213210 cms_page .pop (item )
214211 cms_page .update ()
@@ -223,8 +220,6 @@ def test_page_publish(cms_page):
223220 assert cms_page .entity .get ('published' , None ) is None
224221 draft = cms_page ['draft' ]
225222 cms_page = cms_page .publish ()
226- # assert draft == cms_page['draft'] bug
227- # assert cms_page['published'] == cms_page['draft'] bug
228223 assert draft == cms_page ['published' ]
229224
230225
@@ -253,7 +248,7 @@ def test_layout_can_be_updated(cms_layout_params, cms_layout):
253248 """ Can be layout object updated? """
254249 updated_draft = cms_layout ['draft' ] + 'up'
255250 cms_layout ['draft' ] = cms_layout ['draft' ] + 'up'
256- # TODO https://issues.redhat.com/browse/THREESCALE-9571
251+ # https://issues.redhat.com/browse/THREESCALE-9571
257252 for item in "created_at" , "updated_at" , "published" :
258253 cms_layout .pop (item )
259254 cms_layout .update ()
@@ -268,6 +263,32 @@ def test_layout_publish(cms_layout):
268263 assert cms_layout .entity .get ('published' , None ) is None
269264 draft = cms_layout ['draft' ]
270265 cms_layout = cms_layout .publish ()
271- # assert draft == cms_layout['draft'] bug
272- # assert cms_layout['published'] == cms_layout['draft'] bug
273266 assert draft == cms_layout ['published' ]
267+
268+ # filters
269+ def test_section_filter (api , cms_section ):
270+ """ Test section filtering """
271+ assert all (sec ['parent_id' ] == cms_section ['parent_id' ]
272+ for sec in api .cms_sections .select_by (parent_id = cms_section ['parent_id' ]))
273+ assert api .cms_sections .select_by (title = cms_section ['title' ])[0 ] == cms_section
274+
275+ def test_files_filter (api , cms_file , cms_section ):
276+ """ Test files filtering """
277+ assert api .cms_files .select_by (section_id = cms_section ['id' ])[0 ] == cms_file
278+ assert api .cms_files .select_by (path = cms_file ['path' ])[0 ] == cms_file
279+
280+ # https://issues.redhat.com/browse/THREESCALE-9191?focusedId=22406548&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-22406548
281+ #def test_partial_filter(api, cms_partial, cms_section):
282+ # """ Test partial filtering """
283+ # assert api.cms_partials.select_by(section_id=cms_section['id'])[0] == cms_partial
284+ # assert api.cms_partials.select_by(system_name=cms_partial['system_name'])[0] == cms_partial
285+
286+ #def test_layout_filter(api, cms_layout, cms_section):
287+ # """ Test layout filtering """
288+ # assert api.cms_layouts.select_by(section_id=cms_section['id'])[0] == cms_layout
289+ # assert api.cms_layouts.select_by(title=cms_layout['title'])[0] == cms_layout
290+
291+ def test_page_filter (api , cms_section , cms_page ):
292+ """ Test page filtering """
293+ assert api .cms_pages .select_by (section_id = cms_section ['id' ])[0 ] == cms_page
294+ assert api .cms_pages .select_by (title = cms_page ['title' ])[0 ] == cms_page
0 commit comments