def test_regression_hard_delete_record_with_string_pid_value(inspire_app): record_factory = create_record_factory("lit", with_indexing=True) create_pidstore(record_factory.id, "pid1", "STRING") pid_value_rec = record_factory.json["control_number"] record_uuid = record_factory.id record = InspireRecord.get_record(record_uuid) record_pids = PersistentIdentifier.query.filter_by(object_uuid=record.id).all() assert 2 == len(record_pids) assert record_factory.json == record record.hard_delete() record = RecordMetadata.query.filter_by(id=record_uuid).one_or_none() record_pids = PersistentIdentifier.query.filter_by( object_uuid=record_uuid ).one_or_none() record_identifier = RecordIdentifier.query.filter_by( recid=pid_value_rec ).one_or_none() assert record is None assert record_pids is None assert record_identifier is None
def test_journals_create_with_existing_control_number(inspire_app): data = faker.record("jou", with_control_number=True) existing_object_uuid = uuid.uuid4() create_pidstore( object_uuid=existing_object_uuid, pid_type="jou", pid_value=data["control_number"], ) with pytest.raises(PIDAlreadyExists): JournalsRecord.create(data)
def test_hard_delete_record(inspire_app): record_factory = create_record_factory("lit") create_pidstore(record_factory.id, "pid1", faker.control_number()) create_pidstore(record_factory.id, "pid2", faker.control_number()) create_pidstore(record_factory.id, "pid3", faker.control_number()) pid_value_rec = record_factory.json["control_number"] record_uuid = record_factory.id record = InspireRecord.get_record(record_uuid) record_pids = PersistentIdentifier.query.filter_by(object_uuid=record.id).all() assert 4 == len(record_pids) assert record_factory.json == record record.hard_delete() record = RecordMetadata.query.filter_by(id=record_uuid).one_or_none() record_pids = PersistentIdentifier.query.filter_by( object_uuid=record_uuid ).one_or_none() record_identifier = RecordIdentifier.query.filter_by( recid=pid_value_rec ).one_or_none() assert record is None assert record_pids is None assert record_identifier is None