Code Duplication    Length = 145-146 lines in 2 locations

tracim/tests/library/test_content_api.py 2 locations

@@ 1632-1777 (lines=146) @@
1629
        eq_(ActionDescription.UNARCHIVING, updated2.revision_type)
1630
        eq_(u1id, updated2.owner_id)
1631
1632
    def test_delete_undelete(self):
1633
        uapi = UserApi(
1634
            session=self.session,
1635
            config=self.app_config,
1636
            current_user=None,
1637
        )
1638
        group_api = GroupApi(
1639
            current_user=None,
1640
            session=self.session
1641
        )
1642
        groups = [group_api.get_one(Group.TIM_USER),
1643
                  group_api.get_one(Group.TIM_MANAGER),
1644
                  group_api.get_one(Group.TIM_ADMIN)]
1645
1646
        user1 = uapi.create_user(
1647
            email='this.is@user',
1648
            groups=groups,
1649
            save_now=True
1650
        )
1651
        u1id = user1.user_id
1652
1653
        workspace_api = WorkspaceApi(current_user=user1, session=self.session)
1654
        workspace = workspace_api.create_workspace(
1655
            'test workspace',
1656
            save_now=True
1657
        )
1658
        wid = workspace.workspace_id
1659
1660
        user2 = uapi.create_user()
1661
        user2.email = '[email protected]'
1662
        uapi.save(user2)
1663
1664
        RoleApi(
1665
            current_user=user1,
1666
            session=self.session
1667
        ).create_one(
1668
            user2,
1669
            workspace,
1670
            UserRoleInWorkspace.CONTENT_MANAGER,
1671
            with_notif=True,
1672
            flush=True
1673
        )
1674
1675
        # show archived is used at the top end of the test
1676
        api = ContentApi(
1677
            current_user=user1,
1678
            session=self.session,
1679
            config=self.app_config,
1680
            show_deleted=True,
1681
        )
1682
        p = api.create(ContentType.File, workspace, None,
1683
                       'this_is_a_page', True)
1684
1685
        u1id = user1.user_id
1686
        u2id = user2.user_id
1687
        pcid = p.content_id
1688
        poid = p.owner_id
1689
1690
        transaction.commit()
1691
1692
        ####
1693
        user1 = UserApi(
1694
            current_user=None,
1695
            session=self.session,
1696
            config=self.app_config,
1697
        ).get_one(u1id)
1698
        workspace = WorkspaceApi(
1699
            current_user=user1,
1700
            session=self.session,
1701
        ).get_one(wid)
1702
1703
        content = api.get_one(pcid, ContentType.Any, workspace)
1704
        eq_(u1id, content.owner_id)
1705
        eq_(poid, content.owner_id)
1706
1707
        u2 = UserApi(
1708
            current_user=None,
1709
            session=self.session,
1710
            config=self.app_config,
1711
        ).get_one(u2id)
1712
        api2 = ContentApi(
1713
            current_user=u2,
1714
            session=self.session,
1715
            config=self.app_config,
1716
            show_deleted=True,
1717
        )
1718
        content2 = api2.get_one(pcid, ContentType.Any, workspace)
1719
        with new_revision(
1720
                session=self.session,
1721
                tm=transaction.manager,
1722
                content=content2,
1723
        ):
1724
            api2.delete(content2)
1725
        api2.save(content2)
1726
        transaction.commit()
1727
1728
        ####
1729
1730
        user1 = UserApi(
1731
            current_user=None,
1732
            session=self.session,
1733
            config=self.app_config,
1734
        ).get_one(u1id)
1735
        workspace = WorkspaceApi(
1736
            current_user=user1,
1737
            session=self.session,
1738
        ).get_one(wid)
1739
        # show archived is used at the top end of the test
1740
        api = ContentApi(
1741
            current_user=user1,
1742
            session=self.session,
1743
            config=self.app_config,
1744
            show_deleted=True,
1745
        )
1746
        u2 = UserApi(
1747
            current_user=None,
1748
            session=self.session,
1749
            config=self.app_config,
1750
        ).get_one(u2id)
1751
        api2 = ContentApi(
1752
            current_user=u2,
1753
            session=self.session,
1754
            config=self.app_config,
1755
            show_deleted=True
1756
        )
1757
1758
        updated = api2.get_one(pcid, ContentType.Any, workspace)
1759
        eq_(u2id, updated.owner_id,
1760
            'the owner id should be {} (found {})'.format(u2id,
1761
                                                          updated.owner_id))
1762
        eq_(True, updated.is_deleted)
1763
        eq_(ActionDescription.DELETION, updated.revision_type)
1764
1765
        ####
1766
1767
        updated2 = api.get_one(pcid, ContentType.Any, workspace)
1768
        with new_revision(
1769
            tm=transaction.manager,
1770
            session=self.session,
1771
            content=updated2,
1772
        ):
1773
            api.undelete(updated2)
1774
        api.save(updated2)
1775
        eq_(False, updated2.is_deleted)
1776
        eq_(ActionDescription.UNDELETION, updated2.revision_type)
1777
        eq_(u1id, updated2.owner_id)
1778
1779
    def test_search_in_label(self):
1780
        # HACK - D.A. - 2015-03-09
@@ 1486-1630 (lines=145) @@
1483
        api2.save(content2)
1484
        transaction.commit()
1485
1486
    def test_archive_unarchive(self):
1487
        uapi = UserApi(
1488
            session=self.session,
1489
            config=self.app_config,
1490
            current_user=None,
1491
        )
1492
        group_api = GroupApi(current_user=None, session=self.session)
1493
        groups = [group_api.get_one(Group.TIM_USER),
1494
                  group_api.get_one(Group.TIM_MANAGER),
1495
                  group_api.get_one(Group.TIM_ADMIN)]
1496
1497
        user1 = uapi.create_user(
1498
            email='this.is@user',
1499
            groups=groups,
1500
            save_now=True
1501
        )
1502
        u1id = user1.user_id
1503
1504
        workspace_api = WorkspaceApi(current_user=user1, session=self.session)
1505
        workspace = workspace_api.create_workspace(
1506
            'test workspace',
1507
            save_now=True
1508
        )
1509
        wid = workspace.workspace_id
1510
1511
        user2 = uapi.create_user()
1512
        user2.email = '[email protected]'
1513
        uapi.save(user2)
1514
1515
        RoleApi(
1516
            current_user=user1,
1517
            session=self.session
1518
        ).create_one(
1519
            user2,
1520
            workspace,
1521
            UserRoleInWorkspace.CONTENT_MANAGER,
1522
            with_notif=True,
1523
            flush=True
1524
        )
1525
1526
        # show archived is used at the top end of the test
1527
        api = ContentApi(
1528
            current_user=user1,
1529
            session=self.session,
1530
            show_archived=True,
1531
            config=self.app_config,
1532
        )
1533
        p = api.create(ContentType.File, workspace, None,
1534
                       'this_is_a_page', True)
1535
1536
        u1id = user1.user_id
1537
        u2id = user2.user_id
1538
        pcid = p.content_id
1539
        poid = p.owner_id
1540
1541
        transaction.commit()
1542
1543
        ####
1544
1545
        # refresh after commit
1546
        user1 = UserApi(
1547
            current_user=None,
1548
            config=self.app_config,
1549
            session=self.session
1550
        ).get_one(u1id)
1551
        workspace = WorkspaceApi(
1552
            current_user=user1,
1553
            session=self.session
1554
        ).get_one(wid)
1555
1556
        content = api.get_one(pcid, ContentType.Any, workspace)
1557
        eq_(u1id, content.owner_id)
1558
        eq_(poid, content.owner_id)
1559
1560
        u2api = UserApi(
1561
            session=self.session,
1562
            config=self.app_config,
1563
            current_user=None,
1564
        )
1565
        u2 = u2api.get_one(u2id)
1566
        api2 = ContentApi(
1567
            current_user=u2,
1568
            session=self.session,
1569
            config=self.app_config,
1570
            show_archived=True,
1571
        )
1572
        content2 = api2.get_one(pcid, ContentType.Any, workspace)
1573
        with new_revision(
1574
                session=self.session,
1575
                tm=transaction.manager,
1576
                content=content2,
1577
        ):
1578
            api2.archive(content2)
1579
        api2.save(content2)
1580
        transaction.commit()
1581
1582
        # refresh after commit
1583
        user1 = UserApi(
1584
            current_user=None,
1585
            session=self.session,
1586
            config=self.app_config,
1587
        ).get_one(u1id)
1588
        workspace = WorkspaceApi(
1589
            current_user=user1,
1590
            session=self.session,
1591
        ).get_one(wid)
1592
        u2 = UserApi(
1593
            current_user=None,
1594
            session=self.session,
1595
            config=self.app_config,
1596
        ).get_one(u2id)
1597
        api = ContentApi(
1598
            current_user=user1,
1599
            session=self.session,
1600
            config=self.app_config,
1601
            show_archived=True,
1602
        )
1603
        api2 = ContentApi(
1604
            current_user=u2,
1605
            session=self.session,
1606
            config=self.app_config,
1607
            show_archived=True,
1608
        )
1609
1610
        updated = api2.get_one(pcid, ContentType.Any, workspace)
1611
        eq_(u2id, updated.owner_id,
1612
            'the owner id should be {} (found {})'.format(u2id,
1613
                                                          updated.owner_id))
1614
        eq_(True, updated.is_archived)
1615
        eq_(ActionDescription.ARCHIVING, updated.revision_type)
1616
1617
        ####
1618
1619
        updated2 = api.get_one(pcid, ContentType.Any, workspace)
1620
        with new_revision(
1621
            session=self.session,
1622
            tm=transaction.manager,
1623
            content=updated,
1624
1625
        ):
1626
            api.unarchive(updated)
1627
        api.save(updated2)
1628
        eq_(False, updated2.is_archived)
1629
        eq_(ActionDescription.UNARCHIVING, updated2.revision_type)
1630
        eq_(u1id, updated2.owner_id)
1631
1632
    def test_delete_undelete(self):
1633
        uapi = UserApi(