Module: Julewire::Core::Testing::Contracts::Runtime
- Included in:
- Julewire::Core::Testing::Contracts
- Defined in:
- lib/julewire/core/testing/contracts/runtime.rb
Instance Method Summary collapse
- #assert_julewire_execution_boundary_contract(**options) ⇒ Object
- #assert_julewire_failure_containment_contract(configure:, destination_name: :default, emit: nil) ⇒ Object
- #assert_julewire_record_source_contract(records:, event:, source:, **options) ⇒ Object
- #assert_julewire_runtime_integration_contract(**options) ⇒ Object
Instance Method Details
#assert_julewire_execution_boundary_contract(**options) ⇒ Object
12 13 14 |
# File 'lib/julewire/core/testing/contracts/runtime.rb', line 12 def assert_julewire_execution_boundary_contract(**) run_julewire_execution_boundary_contract() end |
#assert_julewire_failure_containment_contract(configure:, destination_name: :default, emit: nil) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/julewire/core/testing/contracts/runtime.rb', line 16 def assert_julewire_failure_containment_contract(configure:, destination_name: :default, emit: nil) Julewire.configure(&configure) assert_nil((emit || default_failure_contract_emit).call) health = Julewire.health destination_health = health.dig(:pipeline, :destinations, destination_name.to_sym) assert_equal :degraded, health.fetch(:status) assert_kind_of Hash, destination_health [health, destination_health] end |
#assert_julewire_record_source_contract(records:, event:, source:, **options) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/julewire/core/testing/contracts/runtime.rb', line 30 def assert_julewire_record_source_contract( records:, event:, source:, ** ) record = find_contract_record(records, .fetch(:event_path, %w[event]), event) assert_equal source.to_s, fetch_contract_path(record, .fetch(:source_path, %w[source])).to_s assert_contract_optional_source_field(record, , :logger) assert_contract_optional_source_field(record, , :kind) record end |
#assert_julewire_runtime_integration_contract(**options) ⇒ Object
8 9 10 |
# File 'lib/julewire/core/testing/contracts/runtime.rb', line 8 def assert_julewire_runtime_integration_contract(**) run_julewire_runtime_contract() end |