def test_query_by_owner(self): """Test query by owner.""" from zenodo_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)
def test_query_by_owner(app, db, users): """Test query by owner.""" with app.test_request_context(): datastore = current_app.extensions['security'].datastore receiver = datastore.get_user(users['receiver']['id']) sender = datastore.get_user(users['sender']['id']) assert SecretLink.query_by_owner(receiver).count() == 0 assert SecretLink.query_by_owner(sender).count() == 0 SecretLink.create("Testing", receiver, dict(recid='1')) assert SecretLink.query_by_owner(receiver).count() == 1 assert SecretLink.query_by_owner(sender).count() == 0
def test_query_by_owner(app, db, users): """Test query by owner.""" with app.test_request_context(): datastore = current_app.extensions['security'].datastore receiver = datastore.get_user(users['receiver']['id']) sender = datastore.get_user(users['sender']['id']) assert SecretLink.query_by_owner(receiver).count() == 0 assert SecretLink.query_by_owner(sender).count() == 0 SecretLink.create("Testing", receiver, dict(recid='1')) assert SecretLink.query_by_owner(receiver).count() == 1 assert SecretLink.query_by_owner(sender).count() == 0
def test_creation(app, db, users, record_example): """Test link creation.""" mock_link_created = Mock() pid_value, record = record_example with app.test_request_context(): with link_created.connected_to(mock_link_created): datastore = current_app.extensions['security'].datastore receiver = datastore.get_user(users['receiver']['id']) l = SecretLink.create("Test title", receiver, dict(recid=pid_value), description="Test description") assert l.title == "Test title" assert l.description == "Test description" assert l.expires_at is None assert l.token != '' assert mock_link_created.called db.session.commit() l = SecretLink.query.get(l.id) assert SecretLink.validate_token( l.token, dict(recid=pid_value), ) assert not SecretLink.validate_token(l.token, dict(recid='-1'))
def test_get_absolute_url(self): """Test absolute url.""" from zenodo_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
def test_expired(self): """Test link expiry date.""" from zenodo_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()
def test_get_absolute_url(self): """Test absolute url.""" from zenodo_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
def test_get_absolute_url(app, db, users): """Test absolute url.""" with app.test_request_context(): datastore = current_app.extensions['security'].datastore receiver = datastore.get_user(users['receiver']['id']) l = SecretLink.create("Testing", receiver, dict(recid='1')) url = l.get_absolute_url('invenio_records_ui.recid') assert "/records/1?" in url assert "token={0}".format(l.token) in url
def test_get_absolute_url(app, db, users): """Test absolute url.""" with app.test_request_context(): datastore = current_app.extensions['security'].datastore receiver = datastore.get_user(users['receiver']['id']) l = SecretLink.create("Testing", receiver, dict(recid='1')) url = l.get_absolute_url('invenio_records_ui.recid') assert "/records/1?" in url assert "token={0}".format(l.token) in url
def test_expired(app, db, users): """Test link expiry date.""" with app.test_request_context(): datastore = current_app.extensions['security'].datastore receiver = datastore.get_user(users['receiver']['id']) l = SecretLink.create( "Test title", receiver, dict(recid='123456'), description="Test description", expires_at=datetime.utcnow() - timedelta(days=1)) assert l.is_expired() assert not l.is_valid() l = SecretLink.create( "Test title", receiver, dict(recid='123456'), description="Test description", expires_at=datetime.utcnow() + timedelta(days=1)) assert not l.is_expired() assert l.is_valid()
def test_expired(self): """Test link expiry date.""" from zenodo_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()
def test_query_by_owner(self): """Test query by owner.""" from zenodo_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)
def test_expired(app, db, users): """Test link expiry date.""" with app.test_request_context(): datastore = current_app.extensions['security'].datastore receiver = datastore.get_user(users['receiver']['id']) l = SecretLink.create("Test title", receiver, dict(recid='123456'), description="Test description", expires_at=datetime.utcnow() - timedelta(days=1)) assert l.is_expired() assert not l.is_valid() l = SecretLink.create("Test title", receiver, dict(recid='123456'), description="Test description", expires_at=datetime.utcnow() + timedelta(days=1)) assert not l.is_expired() assert l.is_valid()
def test_creation(self): """Test link creation.""" from zenodo_accessrequests.models import SecretLink from zenodo_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))
def test_revoked(self): """Test link revocation.""" from zenodo_accessrequests.models import SecretLink from zenodo_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())
def test_revoked(app, db, users): """Test link revocation.""" mock_link_revoked = Mock() with app.test_request_context(): with link_revoked.connected_to(mock_link_revoked): datastore = current_app.extensions['security'].datastore receiver = datastore.get_user(users['receiver']['id']) l = SecretLink.create( "Test title", 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() assert mock_link_revoked.called assert l.revoke() is False
def test_revoked(self): """Test link revocation.""" from zenodo_accessrequests.models import SecretLink from zenodo_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())
def test_revoked(app, db, users): """Test link revocation.""" mock_link_revoked = Mock() with app.test_request_context(): with link_revoked.connected_to(mock_link_revoked): datastore = current_app.extensions['security'].datastore receiver = datastore.get_user(users['receiver']['id']) l = SecretLink.create("Test title", 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() assert mock_link_revoked.called assert l.revoke() is False
def test_creation(app, db, users, record_example): """Test link creation.""" mock_link_created = Mock() pid_value, record = record_example with app.test_request_context(): with link_created.connected_to(mock_link_created): datastore = current_app.extensions['security'].datastore receiver = datastore.get_user(users['receiver']['id']) l = SecretLink.create("Test title", receiver, dict(recid=pid_value), description="Test description") assert l.title == "Test title" assert l.description == "Test description" assert l.expires_at is None assert l.token != '' assert mock_link_created.called db.session.commit() l = SecretLink.query.get(l.id) assert SecretLink.validate_token(l.token, dict(recid=pid_value),) assert not SecretLink.validate_token(l.token, dict(recid='-1'))
def test_creation(self): """Test link creation.""" from zenodo_accessrequests.models import SecretLink from zenodo_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))