| @@ 511-621 (lines=111) @@ | ||
| 508 | eq_('', c.label) |
|
| 509 | eq_(ActionDescription.COMMENT, c.revision_type) |
|
| 510 | ||
| 511 | def test_unit_copy_file_different_label_different_parent_ok(self): |
|
| 512 | uapi = UserApi( |
|
| 513 | session=self.session, |
|
| 514 | config=self.app_config, |
|
| 515 | current_user=None, |
|
| 516 | ) |
|
| 517 | group_api = GroupApi( |
|
| 518 | current_user=None, |
|
| 519 | session=self.session |
|
| 520 | ) |
|
| 521 | groups = [group_api.get_one(Group.TIM_USER), |
|
| 522 | group_api.get_one(Group.TIM_MANAGER), |
|
| 523 | group_api.get_one(Group.TIM_ADMIN)] |
|
| 524 | ||
| 525 | user = uapi.create_user( |
|
| 526 | email='user1@user', |
|
| 527 | groups=groups, |
|
| 528 | save_now=True |
|
| 529 | ) |
|
| 530 | user2 = uapi.create_user( |
|
| 531 | email='user2@user', |
|
| 532 | groups=groups, |
|
| 533 | save_now=True |
|
| 534 | ) |
|
| 535 | workspace = WorkspaceApi( |
|
| 536 | current_user=user, |
|
| 537 | session=self.session |
|
| 538 | ).create_workspace( |
|
| 539 | 'test workspace', |
|
| 540 | save_now=True |
|
| 541 | ) |
|
| 542 | RoleApi(current_user=user, session=self.session).create_one( |
|
| 543 | user2, |
|
| 544 | workspace, |
|
| 545 | UserRoleInWorkspace.WORKSPACE_MANAGER, |
|
| 546 | with_notif=False |
|
| 547 | ) |
|
| 548 | api = ContentApi( |
|
| 549 | current_user=user, |
|
| 550 | session=self.session, |
|
| 551 | config=self.app_config, |
|
| 552 | ) |
|
| 553 | foldera = api.create( |
|
| 554 | ContentType.Folder, |
|
| 555 | workspace, |
|
| 556 | None, |
|
| 557 | 'folder a', |
|
| 558 | True |
|
| 559 | ) |
|
| 560 | with self.session.no_autoflush: |
|
| 561 | text_file = api.create( |
|
| 562 | content_type=ContentType.File, |
|
| 563 | workspace=workspace, |
|
| 564 | parent=foldera, |
|
| 565 | label='test_file', |
|
| 566 | do_save=False, |
|
| 567 | ) |
|
| 568 | api.update_file_data( |
|
| 569 | text_file, |
|
| 570 | 'test_file', |
|
| 571 | 'text/plain', |
|
| 572 | b'test_content' |
|
| 573 | ) |
|
| 574 | ||
| 575 | api.save(text_file, ActionDescription.CREATION) |
|
| 576 | api2 = ContentApi( |
|
| 577 | current_user=user2, |
|
| 578 | session=self.session, |
|
| 579 | config=self.app_config, |
|
| 580 | ) |
|
| 581 | workspace2 = WorkspaceApi( |
|
| 582 | current_user=user2, |
|
| 583 | session=self.session, |
|
| 584 | ).create_workspace( |
|
| 585 | 'test workspace2', |
|
| 586 | save_now=True |
|
| 587 | ) |
|
| 588 | folderb = api2.create( |
|
| 589 | ContentType.Folder, |
|
| 590 | workspace2, |
|
| 591 | None, |
|
| 592 | 'folder b', |
|
| 593 | True |
|
| 594 | ) |
|
| 595 | ||
| 596 | api2.copy( |
|
| 597 | item=text_file, |
|
| 598 | new_parent=folderb, |
|
| 599 | new_label='test_file_copy' |
|
| 600 | ) |
|
| 601 | ||
| 602 | transaction.commit() |
|
| 603 | text_file_copy = api2.get_one_by_label_and_parent( |
|
| 604 | 'test_file_copy', |
|
| 605 | folderb, |
|
| 606 | ) |
|
| 607 | ||
| 608 | assert text_file != text_file_copy |
|
| 609 | assert text_file_copy.content_id != text_file.content_id |
|
| 610 | assert text_file_copy.workspace_id == workspace2.workspace_id |
|
| 611 | assert text_file_copy.depot_file.file.read() == text_file.depot_file.file.read() # nopep8 |
|
| 612 | assert text_file_copy.depot_file.path != text_file.depot_file.path |
|
| 613 | assert text_file_copy.label == 'test_file_copy' |
|
| 614 | assert text_file_copy.type == text_file.type |
|
| 615 | assert text_file_copy.parent.content_id == folderb.content_id |
|
| 616 | assert text_file_copy.owner.user_id == user.user_id |
|
| 617 | assert text_file_copy.description == text_file.description |
|
| 618 | assert text_file_copy.file_extension == text_file.file_extension |
|
| 619 | assert text_file_copy.file_mimetype == text_file.file_mimetype |
|
| 620 | assert text_file_copy.revision_type == ActionDescription.COPY |
|
| 621 | assert len(text_file_copy.revisions) == len(text_file.revisions) + 1 |
|
| 622 | ||
| 623 | def test_unit_copy_file__same_label_different_parent_ok(self): |
|
| 624 | uapi = UserApi( |
|
| @@ 623-731 (lines=109) @@ | ||
| 620 | assert text_file_copy.revision_type == ActionDescription.COPY |
|
| 621 | assert len(text_file_copy.revisions) == len(text_file.revisions) + 1 |
|
| 622 | ||
| 623 | def test_unit_copy_file__same_label_different_parent_ok(self): |
|
| 624 | uapi = UserApi( |
|
| 625 | session=self.session, |
|
| 626 | config=self.app_config, |
|
| 627 | current_user=None, |
|
| 628 | ) |
|
| 629 | group_api = GroupApi( |
|
| 630 | current_user=None, |
|
| 631 | session=self.session |
|
| 632 | ) |
|
| 633 | groups = [group_api.get_one(Group.TIM_USER), |
|
| 634 | group_api.get_one(Group.TIM_MANAGER), |
|
| 635 | group_api.get_one(Group.TIM_ADMIN)] |
|
| 636 | ||
| 637 | user = uapi.create_user( |
|
| 638 | email='user1@user', |
|
| 639 | groups=groups, |
|
| 640 | save_now=True |
|
| 641 | ) |
|
| 642 | user2 = uapi.create_user( |
|
| 643 | email='user2@user', |
|
| 644 | groups=groups, |
|
| 645 | save_now=True |
|
| 646 | ) |
|
| 647 | workspace = WorkspaceApi( |
|
| 648 | current_user=user, |
|
| 649 | session=self.session |
|
| 650 | ).create_workspace( |
|
| 651 | 'test workspace', |
|
| 652 | save_now=True |
|
| 653 | ) |
|
| 654 | RoleApi(current_user=user, session=self.session).create_one( |
|
| 655 | user2, |
|
| 656 | workspace, |
|
| 657 | UserRoleInWorkspace.WORKSPACE_MANAGER, |
|
| 658 | with_notif=False |
|
| 659 | ) |
|
| 660 | api = ContentApi( |
|
| 661 | current_user=user, |
|
| 662 | session=self.session, |
|
| 663 | config=self.app_config, |
|
| 664 | ) |
|
| 665 | foldera = api.create( |
|
| 666 | ContentType.Folder, |
|
| 667 | workspace, |
|
| 668 | None, |
|
| 669 | 'folder a', |
|
| 670 | True |
|
| 671 | ) |
|
| 672 | with self.session.no_autoflush: |
|
| 673 | text_file = api.create( |
|
| 674 | content_type=ContentType.File, |
|
| 675 | workspace=workspace, |
|
| 676 | parent=foldera, |
|
| 677 | label='test_file', |
|
| 678 | do_save=False, |
|
| 679 | ) |
|
| 680 | api.update_file_data( |
|
| 681 | text_file, |
|
| 682 | 'test_file', |
|
| 683 | 'text/plain', |
|
| 684 | b'test_content' |
|
| 685 | ) |
|
| 686 | ||
| 687 | api.save(text_file, ActionDescription.CREATION) |
|
| 688 | api2 = ContentApi( |
|
| 689 | current_user=user2, |
|
| 690 | session=self.session, |
|
| 691 | config=self.app_config, |
|
| 692 | ) |
|
| 693 | workspace2 = WorkspaceApi( |
|
| 694 | current_user=user2, |
|
| 695 | session=self.session |
|
| 696 | ).create_workspace( |
|
| 697 | 'test workspace2', |
|
| 698 | save_now=True |
|
| 699 | ) |
|
| 700 | folderb = api2.create( |
|
| 701 | ContentType.Folder, |
|
| 702 | workspace2, |
|
| 703 | None, |
|
| 704 | 'folder b', |
|
| 705 | True |
|
| 706 | ) |
|
| 707 | api2.copy( |
|
| 708 | item=text_file, |
|
| 709 | new_parent=folderb, |
|
| 710 | ) |
|
| 711 | ||
| 712 | transaction.commit() |
|
| 713 | text_file_copy = api2.get_one_by_label_and_parent( |
|
| 714 | 'test_file', |
|
| 715 | folderb, |
|
| 716 | ) |
|
| 717 | ||
| 718 | assert text_file != text_file_copy |
|
| 719 | assert text_file_copy.content_id != text_file.content_id |
|
| 720 | assert text_file_copy.workspace_id == workspace2.workspace_id |
|
| 721 | assert text_file_copy.depot_file.file.read() == text_file.depot_file.file.read() # nopep8 |
|
| 722 | assert text_file_copy.depot_file.path != text_file.depot_file.path |
|
| 723 | assert text_file_copy.label == text_file.label |
|
| 724 | assert text_file_copy.type == text_file.type |
|
| 725 | assert text_file_copy.parent.content_id == folderb.content_id |
|
| 726 | assert text_file_copy.owner.user_id == user.user_id |
|
| 727 | assert text_file_copy.description == text_file.description |
|
| 728 | assert text_file_copy.file_extension == text_file.file_extension |
|
| 729 | assert text_file_copy.file_mimetype == text_file.file_mimetype |
|
| 730 | assert text_file_copy.revision_type == ActionDescription.COPY |
|
| 731 | assert len(text_file_copy.revisions) == len(text_file.revisions) + 1 |
|
| 732 | ||
| 733 | def test_unit_copy_file_different_label_same_parent_ok(self): |
|
| 734 | uapi = UserApi( |
|