74 lines
3.4 KiB
Ruby
Generated
74 lines
3.4 KiB
Ruby
Generated
# This file is auto-generated by alef — DO NOT EDIT.
|
|
# alef:hash:4e15143f4af1ae8bafbdb1506ef057da924484c66a19483966333558ad437e75
|
|
# To regenerate: alef generate
|
|
# To verify freshness: alef verify --exit-code
|
|
# Issues & docs: https://github.com/kreuzberg-dev/alef
|
|
# frozen_string_literal: true
|
|
|
|
# RSpec hooks to isolate plugin registry state between tests.
|
|
# Unregisters any test-prefixed backends (test-*, test_*) after each test
|
|
# to prevent pollution from one test affecting subsequent tests.
|
|
begin
|
|
require 'kreuzberg'
|
|
RSpec.configure do |config|
|
|
# Track initial registry state before each test
|
|
config.before(:each) do
|
|
begin
|
|
@_initial_ocr_backends = Kreuzberg.list_ocr_backends.to_set rescue Set.new
|
|
@_initial_embedding_backends = Kreuzberg.list_embedding_backends.to_set rescue Set.new
|
|
@_initial_document_extractors = Kreuzberg.list_document_extractors.to_set rescue Set.new
|
|
@_initial_renderers = Kreuzberg.list_renderers.to_set rescue Set.new
|
|
@_initial_validators = Kreuzberg.list_validators.to_set rescue Set.new
|
|
@_initial_post_processors = Kreuzberg.list_post_processors.to_set rescue Set.new
|
|
rescue
|
|
# If registry functions aren't available, skip cleanup
|
|
end
|
|
end
|
|
|
|
# Clean up test-prefixed backends after each test
|
|
config.after(:each) do
|
|
begin
|
|
current_ocr = Kreuzberg.list_ocr_backends.to_set rescue Set.new
|
|
(current_ocr - @_initial_ocr_backends).each do |name|
|
|
Kreuzberg.unregister_ocr_backend(name) if name.to_s.start_with?('test-', 'test_')
|
|
end
|
|
|
|
current_embedding = Kreuzberg.list_embedding_backends.to_set rescue Set.new
|
|
(current_embedding - @_initial_embedding_backends).each do |name|
|
|
Kreuzberg.unregister_embedding_backend(name) if name.to_s.start_with?('test-', 'test_')
|
|
end
|
|
|
|
current_extractors = Kreuzberg.list_document_extractors.to_set rescue Set.new
|
|
(current_extractors - @_initial_document_extractors).each do |name|
|
|
Kreuzberg.unregister_document_extractor(name) if name.to_s.start_with?('test-', 'test_')
|
|
end
|
|
|
|
current_renderers = Kreuzberg.list_renderers.to_set rescue Set.new
|
|
(current_renderers - @_initial_renderers).each do |name|
|
|
Kreuzberg.unregister_renderer(name) if name.to_s.start_with?('test-', 'test_')
|
|
end
|
|
|
|
current_validators = Kreuzberg.list_validators.to_set rescue Set.new
|
|
(current_validators - @_initial_validators).each do |name|
|
|
Kreuzberg.unregister_validator(name) if name.to_s.start_with?('test-', 'test_')
|
|
end
|
|
|
|
current_processors = Kreuzberg.list_post_processors.to_set rescue Set.new
|
|
(current_processors - @_initial_post_processors).each do |name|
|
|
Kreuzberg.unregister_post_processor(name) if name.to_s.start_with?('test-', 'test_')
|
|
end
|
|
rescue
|
|
# Cleanup failures are non-fatal; continue silently
|
|
end
|
|
end
|
|
end
|
|
rescue LoadError
|
|
# Kreuzberg not available; skip registry cleanup
|
|
end
|
|
|
|
# Change to the configured test-documents directory so that fixture file paths like
|
|
# "pdf/fake_memo.pdf" resolve correctly when running rspec from e2e/ruby/.
|
|
# spec_helper.rb lives in e2e/ruby/spec/; the fixtures dir resolves three directories up.
|
|
_test_documents = File.expand_path('../../../test_documents', __dir__)
|
|
Dir.chdir(_test_documents) if Dir.exist?(_test_documents)
|