Example #1
0
    def test_query_by_owner(self):
        """Test query by owner."""
        from zenodo.modules.accessrequests.models import SecretLink

        self.assertEqual(SecretLink.query_by_owner(self.receiver).count(), 0)
        self.assertEqual(SecretLink.query_by_owner(self.sender).count(), 0)

        SecretLink.create("Testing", self.receiver, dict(recid=1))

        self.assertEqual(SecretLink.query_by_owner(self.receiver).count(), 1)
        self.assertEqual(SecretLink.query_by_owner(self.sender).count(), 0)
Example #2
0
    def test_get_absolute_url(self):
        """Test absolute url."""
        from zenodo.modules.accessrequests.models import SecretLink

        l = SecretLink.create("Testing", self.receiver, dict(recid=1))
        url = l.get_absolute_url('record.metadata')
        assert "/record/1?" in url
        assert "token={0}".format(l.token) in url
Example #3
0
    def test_get_absolute_url(self):
        """Test absolute url."""
        from zenodo.modules.accessrequests.models import SecretLink

        l = SecretLink.create("Testing", self.receiver, dict(recid=1))
        url = l.get_absolute_url('record.metadata')
        assert "/record/1?" in url
        assert "token={0}".format(l.token) in url
Example #4
0
    def test_expired(self):
        """Test link expiry date."""
        from zenodo.modules.accessrequests.models import SecretLink

        l = SecretLink.create(
            "Test title", self.receiver, dict(recid=123456),
            description="Test description",
            expires_at=datetime.now()-timedelta(days=1))
        assert l.is_expired()
        assert not l.is_valid()

        l = SecretLink.create(
            "Test title", self.receiver, dict(recid=123456),
            description="Test description",
            expires_at=datetime.now()+timedelta(days=1))
        assert not l.is_expired()
        assert l.is_valid()
Example #5
0
    def test_expired(self):
        """Test link expiry date."""
        from zenodo.modules.accessrequests.models import SecretLink

        l = SecretLink.create("Test title",
                              self.receiver,
                              dict(recid=123456),
                              description="Test description",
                              expires_at=datetime.now() - timedelta(days=1))
        assert l.is_expired()
        assert not l.is_valid()

        l = SecretLink.create("Test title",
                              self.receiver,
                              dict(recid=123456),
                              description="Test description",
                              expires_at=datetime.now() + timedelta(days=1))
        assert not l.is_expired()
        assert l.is_valid()
Example #6
0
    def test_query_by_owner(self):
        """Test query by owner."""
        from zenodo.modules.accessrequests.models import SecretLink

        self.assertEqual(
            SecretLink.query_by_owner(self.receiver).count(),
            0)
        self.assertEqual(
            SecretLink.query_by_owner(self.sender).count(),
            0)

        SecretLink.create("Testing", self.receiver, dict(recid=1))

        self.assertEqual(
            SecretLink.query_by_owner(self.receiver).count(),
            1)
        self.assertEqual(
            SecretLink.query_by_owner(self.sender).count(),
            0)
Example #7
0
    def test_creation(self):
        """Test link creation."""
        from zenodo.modules.accessrequests.models import SecretLink

        from zenodo.modules.accessrequests.signals import \
            link_created

        with link_created.connected_to(self.get_receiver('created')):
            l = SecretLink.create("Test title", self.receiver, dict(recid=1),
                                  description="Test description")

            self.assertEqual(l.title, "Test title")
            self.assertEqual(l.description, "Test description")
            self.assertIsNone(l.expires_at)
            self.assertNotEqual(l.token, "")
            self.assertIsNotNone(self.called['created'])

            assert SecretLink.validate_token(l.token, dict(recid=1),)
            assert not SecretLink.validate_token(l.token, dict(recid=2))
Example #8
0
    def test_revoked(self):
        """Test link revocation."""
        from zenodo.modules.accessrequests.models import SecretLink

        from zenodo.modules.accessrequests.signals import \
            link_revoked

        with link_revoked.connected_to(self.get_receiver('revoked')):
            l = SecretLink.create("Test title",
                                  self.receiver,
                                  dict(recid=123456),
                                  description="Test description")
            assert not l.is_revoked()
            assert l.is_valid()
            l.revoke()
            assert l.is_revoked()
            assert not l.is_valid()

            self.assertIsNotNone(self.called['revoked'])

            self.assertFalse(l.revoke())
Example #9
0
    def test_revoked(self):
        """Test link revocation."""
        from zenodo.modules.accessrequests.models import SecretLink

        from zenodo.modules.accessrequests.signals import \
            link_revoked

        with link_revoked.connected_to(self.get_receiver('revoked')):
            l = SecretLink.create(
                "Test title", self.receiver, dict(recid=123456),
                description="Test description"
            )
            assert not l.is_revoked()
            assert l.is_valid()
            l.revoke()
            assert l.is_revoked()
            assert not l.is_valid()

            self.assertIsNotNone(self.called['revoked'])

            self.assertFalse(l.revoke())
Example #10
0
    def test_creation(self):
        """Test link creation."""
        from zenodo.modules.accessrequests.models import SecretLink

        from zenodo.modules.accessrequests.signals import \
            link_created

        with link_created.connected_to(self.get_receiver('created')):
            l = SecretLink.create("Test title",
                                  self.receiver,
                                  dict(recid=1),
                                  description="Test description")

            self.assertEqual(l.title, "Test title")
            self.assertEqual(l.description, "Test description")
            self.assertIsNone(l.expires_at)
            self.assertNotEqual(l.token, "")
            self.assertIsNotNone(self.called['created'])

            assert SecretLink.validate_token(
                l.token,
                dict(recid=1),
            )
            assert not SecretLink.validate_token(l.token, dict(recid=2))