Beispiel #1
0
 def test_checked_out_merge(self):
     user = factories.AuthUserFactory()
     node = ProjectFactory(creator=user)
     osfstorage = node.get_addon('osfstorage')
     root_node = osfstorage.get_root()
     file = root_node.append_file('test_file')
     user_merge_target = factories.AuthUserFactory()
     file.checkout = user
     file.save()
     user_merge_target.merge_user(user)
     file.reload()
     assert_equal(user_merge_target, file.checkout)
Beispiel #2
0
    def test_checkout_logs(self):
        non_admin = factories.AuthUserFactory()
        self.node.add_contributor(non_admin, permissions=['read', 'write'])
        self.node.save()
        self.file.check_in_or_out(non_admin, non_admin, save=True)
        self.file.reload()
        self.node.reload()
        assert_equal(self.file.checkout, non_admin)
        assert_equal(self.node.logs[-1].action, 'checked_out')
        assert_equal(self.node.logs[-1].user, non_admin)

        self.file.check_in_or_out(self.user, None, save=True)
        self.file.reload()
        self.node.reload()
        assert_equal(self.file.checkout, None)
        assert_equal(self.node.logs[-1].action, 'checked_in')
        assert_equal(self.node.logs[-1].user, self.user)

        self.file.check_in_or_out(self.user, self.user, save=True)
        self.file.reload()
        self.node.reload()
        assert_equal(self.file.checkout, self.user)
        assert_equal(self.node.logs[-1].action, 'checked_out')
        assert_equal(self.node.logs[-1].user, self.user)

        with assert_raises(FileNodeCheckedOutError):
            self.file.check_in_or_out(non_admin, None, save=True)

        with assert_raises(FileNodeCheckedOutError):
            self.file.check_in_or_out(non_admin, non_admin, save=True)
Beispiel #3
0
 def setUp(self):
     super(TestOsfStorageCheckout, self).setUp()
     self.user = factories.AuthUserFactory()
     self.node = ProjectFactory(creator=self.user)
     self.osfstorage = self.node.get_addon('osfstorage')
     self.root_node = self.osfstorage.get_root()
     self.file = self.root_node.append_file('3005')
Beispiel #4
0
    def test_attempt_delete_rented_file(self):
        user = factories.AuthUserFactory()
        file_checked = self.root_node.append_file('Newfile')
        file_checked.checkout = user
        file_checked.save()

        res = self.delete(file_checked, expect_errors=True)
        assert_equal(res.status_code, 403)
Beispiel #5
0
 def test_remove_contributor_with_checked_file(self):
     user = factories.AuthUserFactory()
     self.node.contributors.append(user)
     self.node.add_permission(user, 'admin')
     self.node.visible_contributor_ids.append(user._id)
     self.node.save()
     self.file.checkout = self.user
     self.file.save()
     self.file.node.remove_contributors([self.user], save=True)
     self.file.reload()
     assert_equal(self.file.checkout, None)
Beispiel #6
0
    def test_upload_fail_to_create_version_due_to_checkout(self):
        user = factories.AuthUserFactory()
        name = 'Gunter\'s noise.mp3'
        self.node_settings.get_root().append_file(name)
        root = self.node_settings.get_root()
        file = root.find_child_by_name(name)
        file.checkout = user
        file.save()
        res = self.send_upload_hook(root, self.make_payload(name=name), expect_errors=True)

        assert_equal(res.status_code, 403)
Beispiel #7
0
 def setUp(self):
     super(TestOsfStorageFileVersion, self).setUp()
     self.user = factories.AuthUserFactory()
     self.mock_date = datetime.datetime(1991, 10, 31)
Beispiel #8
0
 def setUp(self):
     super(OsfTestCase, self).setUp()
     self.user = factories.AuthUserFactory()
     self.project = ProjectFactory(creator=self.user)
     self.node_addon = self.project.get_addon('osfstorage')