| @@ 591-668 (lines=78) @@ | ||
| 588 | assert res[0]['content_id'] == firstly_created_but_recently_updated.content_id |
|
| 589 | assert res[1]['content_id'] == secondly_created_but_not_updated.content_id |
|
| 590 | ||
| 591 | def test_api__get_recently_active_content__err__400__bad_before_content_id(self): # nopep8 |
|
| 592 | # TODO - G.M - 2018-07-20 - Better fix for this test, do not use sleep() |
|
| 593 | # anymore to fix datetime lack of precision. |
|
| 594 | ||
| 595 | # init DB |
|
| 596 | dbsession = get_tm_session(self.session_factory, transaction.manager) |
|
| 597 | admin = dbsession.query(models.User) \ |
|
| 598 | .filter(models.User.email == '[email protected]') \ |
|
| 599 | .one() |
|
| 600 | workspace_api = WorkspaceApi( |
|
| 601 | current_user=admin, |
|
| 602 | session=dbsession, |
|
| 603 | config=self.app_config |
|
| 604 | ||
| 605 | ) |
|
| 606 | workspace = WorkspaceApi( |
|
| 607 | current_user=admin, |
|
| 608 | session=dbsession, |
|
| 609 | config=self.app_config, |
|
| 610 | ).create_workspace( |
|
| 611 | 'test workspace', |
|
| 612 | save_now=True |
|
| 613 | ) |
|
| 614 | workspace2 = WorkspaceApi( |
|
| 615 | current_user=admin, |
|
| 616 | session=dbsession, |
|
| 617 | config=self.app_config, |
|
| 618 | ).create_workspace( |
|
| 619 | 'test workspace2', |
|
| 620 | save_now=True |
|
| 621 | ) |
|
| 622 | ||
| 623 | api = ContentApi( |
|
| 624 | current_user=admin, |
|
| 625 | session=dbsession, |
|
| 626 | config=self.app_config, |
|
| 627 | ) |
|
| 628 | main_folder_workspace2 = api.create(content_type_list.Folder.slug, workspace2, None, 'Hepla', '', True) # nopep8 |
|
| 629 | main_folder = api.create(content_type_list.Folder.slug, workspace, None, 'this is randomized folder', '', True) # nopep8 |
|
| 630 | # creation order test |
|
| 631 | firstly_created = api.create(content_type_list.Page.slug, workspace, main_folder, 'creation_order_test', '', True) # nopep8 |
|
| 632 | secondly_created = api.create(content_type_list.Page.slug, workspace, main_folder, 'another creation_order_test', '', True) # nopep8 |
|
| 633 | # update order test |
|
| 634 | firstly_created_but_recently_updated = api.create(content_type_list.Page.slug, workspace, main_folder, 'update_order_test', '', True) # nopep8 |
|
| 635 | secondly_created_but_not_updated = api.create(content_type_list.Page.slug, workspace, main_folder, 'another update_order_test', '', True) # nopep8 |
|
| 636 | with new_revision( |
|
| 637 | session=dbsession, |
|
| 638 | tm=transaction.manager, |
|
| 639 | content=firstly_created_but_recently_updated, |
|
| 640 | ): |
|
| 641 | firstly_created_but_recently_updated.description = 'Just an update' |
|
| 642 | api.save(firstly_created_but_recently_updated) |
|
| 643 | # comment change order |
|
| 644 | firstly_created_but_recently_commented = api.create(content_type_list.Page.slug, workspace, main_folder, 'this is randomized label content', '', True) # nopep8 |
|
| 645 | secondly_created_but_not_commented = api.create(content_type_list.Page.slug, workspace, main_folder, 'this is another randomized label content', '', True) # nopep8 |
|
| 646 | comments = api.create_comment(workspace, firstly_created_but_recently_commented, 'juste a super comment', True) # nopep8 |
|
| 647 | content_workspace_2 = api.create(content_type_list.Page.slug, workspace2, main_folder_workspace2, 'content_workspace_2', '', True) # nopep8 |
|
| 648 | dbsession.flush() |
|
| 649 | transaction.commit() |
|
| 650 | ||
| 651 | self.testapp.authorization = ( |
|
| 652 | 'Basic', |
|
| 653 | ( |
|
| 654 | '[email protected]', |
|
| 655 | '[email protected]' |
|
| 656 | ) |
|
| 657 | ) |
|
| 658 | params = { |
|
| 659 | 'before_content_id': 4000 |
|
| 660 | } |
|
| 661 | res = self.testapp.get( |
|
| 662 | '/api/v2/users/1/workspaces/{}/contents/recently_active'.format(workspace.workspace_id), # nopep8 |
|
| 663 | status=400, |
|
| 664 | params=params |
|
| 665 | ) |
|
| 666 | assert isinstance(res.json, dict) |
|
| 667 | assert 'code' in res.json.keys() |
|
| 668 | assert res.json_body['code'] == error.CONTENT_NOT_FOUND |
|
| 669 | ||
| 670 | ||
| 671 | class TestUserReadStatusEndpoint(FunctionalTest): |
|
| @@ 272-349 (lines=78) @@ | ||
| 269 | assert res[0]['content_id'] == firstly_created_but_recently_updated.content_id |
|
| 270 | assert res[1]['content_id'] == secondly_created_but_not_updated.content_id |
|
| 271 | ||
| 272 | def test_api__get_recently_active_content__err__400__bad_before_content_id(self): # nopep8 |
|
| 273 | # TODO - G.M - 2018-07-20 - Better fix for this test, do not use sleep() |
|
| 274 | # anymore to fix datetime lack of precision. |
|
| 275 | ||
| 276 | # init DB |
|
| 277 | dbsession = get_tm_session(self.session_factory, transaction.manager) |
|
| 278 | admin = dbsession.query(models.User) \ |
|
| 279 | .filter(models.User.email == '[email protected]') \ |
|
| 280 | .one() |
|
| 281 | workspace_api = WorkspaceApi( |
|
| 282 | current_user=admin, |
|
| 283 | session=dbsession, |
|
| 284 | config=self.app_config |
|
| 285 | ||
| 286 | ) |
|
| 287 | workspace = WorkspaceApi( |
|
| 288 | current_user=admin, |
|
| 289 | session=dbsession, |
|
| 290 | config=self.app_config, |
|
| 291 | ).create_workspace( |
|
| 292 | 'test workspace', |
|
| 293 | save_now=True |
|
| 294 | ) |
|
| 295 | workspace2 = WorkspaceApi( |
|
| 296 | current_user=admin, |
|
| 297 | session=dbsession, |
|
| 298 | config=self.app_config, |
|
| 299 | ).create_workspace( |
|
| 300 | 'test workspace2', |
|
| 301 | save_now=True |
|
| 302 | ) |
|
| 303 | ||
| 304 | api = ContentApi( |
|
| 305 | current_user=admin, |
|
| 306 | session=dbsession, |
|
| 307 | config=self.app_config, |
|
| 308 | ) |
|
| 309 | main_folder_workspace2 = api.create(content_type_list.Folder.slug, workspace2, None, 'Hepla', '', True) # nopep8 |
|
| 310 | main_folder = api.create(content_type_list.Folder.slug, workspace, None, 'this is randomized folder', '', True) # nopep8 |
|
| 311 | # creation order test |
|
| 312 | firstly_created = api.create(content_type_list.Page.slug, workspace, main_folder, 'creation_order_test', '', True) # nopep8 |
|
| 313 | secondly_created = api.create(content_type_list.Page.slug, workspace, main_folder, 'another creation_order_test', '', True) # nopep8 |
|
| 314 | # update order test |
|
| 315 | firstly_created_but_recently_updated = api.create(content_type_list.Page.slug, workspace, main_folder, 'update_order_test', '', True) # nopep8 |
|
| 316 | secondly_created_but_not_updated = api.create(content_type_list.Page.slug, workspace, main_folder, 'another update_order_test', '', True) # nopep8 |
|
| 317 | with new_revision( |
|
| 318 | session=dbsession, |
|
| 319 | tm=transaction.manager, |
|
| 320 | content=firstly_created_but_recently_updated, |
|
| 321 | ): |
|
| 322 | firstly_created_but_recently_updated.description = 'Just an update' |
|
| 323 | api.save(firstly_created_but_recently_updated) |
|
| 324 | # comment change order |
|
| 325 | firstly_created_but_recently_commented = api.create(content_type_list.Page.slug, workspace, main_folder, 'this is randomized label content', '', True) # nopep8 |
|
| 326 | secondly_created_but_not_commented = api.create(content_type_list.Page.slug, workspace, main_folder, 'this is another randomized label content', '', True) # nopep8 |
|
| 327 | comments = api.create_comment(workspace, firstly_created_but_recently_commented, 'juste a super comment', True) # nopep8 |
|
| 328 | content_workspace_2 = api.create(content_type_list.Page.slug, workspace2, main_folder_workspace2, 'content_workspace_2', '', True) # nopep8 |
|
| 329 | dbsession.flush() |
|
| 330 | transaction.commit() |
|
| 331 | ||
| 332 | self.testapp.authorization = ( |
|
| 333 | 'Basic', |
|
| 334 | ( |
|
| 335 | '[email protected]', |
|
| 336 | '[email protected]' |
|
| 337 | ) |
|
| 338 | ) |
|
| 339 | params = { |
|
| 340 | 'before_content_id': 4000 |
|
| 341 | } |
|
| 342 | res = self.testapp.get( |
|
| 343 | '/api/v2/users/me/workspaces/{}/contents/recently_active'.format(workspace.workspace_id), # nopep8 |
|
| 344 | status=400, |
|
| 345 | params=params |
|
| 346 | ) |
|
| 347 | assert isinstance(res.json, dict) |
|
| 348 | assert 'code' in res.json.keys() |
|
| 349 | assert res.json_body['code'] == error.CONTENT_NOT_FOUND |
|
| 350 | ||
| 351 | ||
| 352 | class TestUserReadStatusEndpoint(FunctionalTest): |
|