Hi everybody. Can it be that there are still some "blank?" problems left in 2.102.1, e.g. when a consumer version selector contains {"mainBranch":true}?
When running pact-broker-docker/blob/master/docker-compose.yml with pactfoundation/pact-broker:2.102.1.0
with an empty database
a POST to
http://localhost:9292/pacts/provider/bit-jme-cdc-provider-service-test-pact/for-verification
with body
{"consumerVersionSelectors":[{"mainBranch":true}],"providerVersionBranch":"feature/test-pact"}
results in
HTTP 500
{"error":{"message":"An error has occurred. The details have been logged with the reference JVbxfuyZqD","reference":"JVbxfuyZqD"}}
with the error log
pact-broker_1 | 2022-07-14 08
4134.430032 E [7:puma srv tp 001 logging.rb:48] PactBroker:
Errors:ErrorLogger -- Error reference JVbxfuyZqD -- Exception: NoMethodError: undefined method `blank?' for true:TrueClass
pact-broker_1 | /pact_broker/vendor/bundle/ruby/2.7.0/gems/pact_broker-2.102.1/lib/pact_broker/api/contracts/pacts_for_verification_json_query_schema.rb
79in `not_provided?'
pact-broker_1 | /pact_broker/vendor/bundle/ruby/2.7.0/gems/pact_broker-2.102.1/lib/pact_broker/api/contracts/pacts_for_verification_json_query_schema.rb
97in `validate_consumer_version_selector'
pact-broker_1 | /pact_broker/vendor/bundle/ruby/2.7.0/gems/pact_broker-2.102.1/lib/pact_broker/api/contracts/pacts_for_verification_json_query_schema.rb
69in `block in add_cross_field_validation_errors'
pact-broker_1 | /pact_broker/vendor/bundle/ruby/2.7.0/gems/pact_broker-2.102.1/lib/pact_broker/api/contracts/pacts_for_verification_json_query_schema.rb
68in `each'
pact-broker_1 | /pact_broker/vendor/bundle/ruby/2.7.0/gems/pact_broker-2.102.1/lib/pact_broker/api/contracts/pacts_for_verification_json_query_schema.rb
68in `each_with_index'
pact-broker_1 | /pact_broker/vendor/bundle/ruby/2.7.0/gems/pact_broker-2.102.1/lib/pact_broker/api/contracts/pacts_for_verification_json_query_schema.rb
68in `each'
pact-broker_1 | /pact_broker/vendor/bundle/ruby/2.7.0/gems/pact_broker-2.102.1/lib/pact_broker/api/contracts/pacts_for_verification_json_query_schema.rb
68in `flat_map'
pact-broker_1 | /pact_broker/vendor/bundle/ruby/2.7.0/gems/pact_broker-2.102.1/lib/pact_broker/api/contracts/pacts_for_verification_json_query_schema.rb
68in `add_cross_field_validation_errors'
pact-broker_1 | /pact_broker/vendor/bundle/ruby/2.7.0/gems/pact_broker-2.102.1/lib/pact_broker/api/contracts/pacts_for_verification_json_query_schema.rb
61in `call'
pact-broker_1 | /pact_broker/vendor/bundle/ruby/2.7.0/gems/pact_broker-2.102.1/lib/pact_broker/api/resources/provider_pacts_for_verification.rb💯in `schema_validation_errors?'
pact-broker_1 | /pact_broker/vendor/bundle/ruby/2.7.0/gems/pact_broker-2.102.1/lib/pact_broker/api/resources/provider_pacts_for_verification.rb
23in `malformed_request?'
When running pactfoundation/pact-broker:2.101.0.1 the same request results in { "error": "No provider with name 'bit-jme-cdc-provider-service-test-pact' found" } which is OK.