-
Notifications
You must be signed in to change notification settings - Fork 70
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unable to set response body to "falsey" values #99
Comments
This is tricky. What are you expecting the HTTP request to look like? |
Indeed! In this case, the body is a literal |
Any updates here? This issue makes it impossible to write pact tests for endpoints returning only a boolean. |
I've changed it to |
Thanks Beth. @NiklasEi what language are you using that needs it? |
Thanks for the update!
Javascript |
Yep, will get a new release out this week. Thanks |
* feat: allow mock service host to be configured pact-foundation/pact-ruby#186 * chore(release): version 3.0.0 * fix: add missing host argument to server spawn fixes: pact-foundation#102 * chore(release): version 3.0.1 * Improve logging robustness Do not pretty print a JSON object when serialization or serialization fail, for details see pact-foundation#103. * Update interaction_replay.rb * Initial version of the unit test * Move the test to appropriate context * Update interaction_replay_spec.rb * Update interaction_replay_spec.rb * Update interaction_replay_spec.rb * Update interaction_replay_spec.rb * Update interaction_replay.rb * Update interaction_replay_spec.rb * Update interaction_replay_spec.rb * feat: pact-stub-service log level cli opt * chore(release): version 3.1.0 * chore(release): version 3.1.1 * feat(skip writing to pact): Use writable_interactions when writing to pact file * Add test for #as_json * Add feature spec * Bump pact-support dependency * Fix tests * chore(release): version 3.2.0 * CI: Add 2.7 to travis ci * fix: remove apparently unused require for thwait * chore(release): version 3.2.1 * feat: log a warning when too many interactions are set on the mock service at once * chore(release): version 3.3.0 * fix: put metadata on the correct decorator * chore(release): version 3.3.1 * chore: remove jruby until somebody shows they're actually using it * chore(release): version 3.4.0 * feat: add token, username and password options to stub service (pact-foundation#118) Co-authored-by: Beth Skurrie <bethesque@users.noreply.github.com> * chore(release): version 3.5.0 * docs: document that you can set the broker token via an env var [ci-skip] * chore: separate test and deploy stages * chore: update .travis.yml [ci-skip] * chore: update .travis.yml * test: add expectations to make sure metadata: nil isn't stored in the pact (pact-foundation#119) * feat: add 'Access-Control-Allow-Headers' = true to cors response headers (pact-foundation#121) * chore(release): version 3.6.0 * fix: fix Ruby 2.7 kwargs warning (pact-foundation#122) * chore(release): version 3.6.1 * fix: update thor dependency (pact-foundation#124) Co-authored-by: Lindsey Hattamer <lindsey.hattamer@oddball.io> Co-authored-by: Lindsey Hattamer <lindsey.hattamer@oddball.io> * chore: add github workflow for gem release * chore: disable tests as they're not running properly on github workflow * chore(release): version 3.6.2 * feat: do not require files until command is executing * chore: update release workflow [ci-skip] * feat: use Pact::Query.parse_string to parse query string * chore(deps): update rake * docs: update travis badge * chore(release): version 3.7.0 * feat: include interaction diffs in verification response cc: @TimothyJones * chore: add tests to github actions * chore: allow workflow dispatch to release * chore(release): version 3.8.0 * chore: tests are hanging. try a subset * chore: try rspec * chore: disabling tests, they hang * chore: create issue template * feat: pass host into WEBrick options to allow configuration (pact-foundation#128) Co-authored-by: Matthew Hall <matthew.hall@partnerize.com> * chore(release): version 3.9.0 * chore: handle http 2 * fix: check for nil body rather than falsey body when determining how to render mocked response Fixes: pact-foundation#99 * chore(release): version 3.9.1 Co-authored-by: Beth Skurrie <beth@bethesque.com> Co-authored-by: Alexander Bolshakov <lextiz@gmail.com> Co-authored-by: YOU54F <yousafn@gmail.com> Co-authored-by: Beth Skurrie <bethesque@users.noreply.github.com> Co-authored-by: Simon Nizov <simon.nizov@gmail.com> Co-authored-by: Chavez <matthew@el-chavez.me> Co-authored-by: Chavez <mtchavez@users.noreply.github.com> Co-authored-by: Matt Fellows <matt.fellows@onegeek.com.au> Co-authored-by: vandemark <jnvbeach@gmail.com> Co-authored-by: Bartek Bułat <barthez@users.noreply.github.com> Co-authored-by: Michael R. Fleet <f1337@users.noreply.github.com> Co-authored-by: Lindsey Hattamer <lindsey.hattamer@oddball.io> Co-authored-by: mhall58 <matthewhall58@gmail.com> Co-authored-by: Matthew Hall <matthew.hall@partnerize.com>
Setting the response body directly to a
null
orfalse
value results in an empty response from the mock server.How to reproduce:
I believe the
render_body
method is to blame, specifically this line which checks for a falsey value of the body, meaning if the body isnil
orfalse
it returns an empty string.I couldn't glean from the tests the exact behaviour as to why this statement existed in the first place, but my suspicion is that we need to be able to deal with the 'body not present' case to avoid returning
null
. However, this is presenting the explicitnull
/false
case.FWIW removing that line didn't cause in test failures, so perhaps we need to get some coverage on it.
See pact-foundation/pact-js#257 for background.
The text was updated successfully, but these errors were encountered: