Skip to content

Instantly share code, notes, and snippets.

@zts
Created October 13, 2016 12:31
Show Gist options
  • Save zts/5fecf4fa082dd362bb1427e191861aa7 to your computer and use it in GitHub Desktop.
Save zts/5fecf4fa082dd362bb1427e191861aa7 to your computer and use it in GitHub Desktop.
nginx rspec matcher
RSpec::Matchers.define :upstream_to do |server|
match do |content|
escaped_server = Regexp.escape(server)
!(content=~/upstream #{@upstreamer} \{[^}]+server #{escaped_server};/m).nil?
end
chain :through do |upstreamer|
@upstreamer = upstreamer
end
failure_message do |content|
"expected Nginx to upstream to '#{server}' via '#{@upstreamer}'"
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment