spec/tasks.rake in pact-provider-proxy-2.1.0 vs spec/tasks.rake in pact-provider-proxy-2.2.0
- old
+ new
@@ -3,29 +3,49 @@
Pact::ProxyVerificationTask.new :monolith do | task |
task.pact_url './spec/support/pact.json', :pact_helper => './spec/support/custom_pact_helper'
task.provider_base_url 'http://localhost:9292'
end
+Pact::ProxyVerificationTask.new :monolith_ssl do | task |
+ task.pact_url './spec/support/pact.json', :pact_helper => './spec/support/custom_pact_helper'
+ task.provider_base_url 'https://localhost:9393'
+end
+
+desc 'Shutdown SSL monolith server after pact:verify'
+task 'pact:verify:monolith_ssl' do | foo, bar |
+ Process.kill('INT', @@ssl_server_pid) if @@ssl_server_pid
+end
+
Pact::ProxyVerificationTask.new :monolith_no_pact_helper do | task |
task.pact_url './spec/support/pact-with-no-provider-states.json'
task.provider_base_url 'http://localhost:9292'
end
namespace :pact do
namespace :test do
task :spawn_test_monolith do
require 'pact/mock_service/app_manager'
- app = lambda { | env |
- if env['PATH_INFO'] == '/some-path' && env['QUERY_STRING'] == 'foo=bar'
- [200, {}, ["Monolith!"]]
- else
- [500, {}, []]
- end
- }
+ app = lambda { | env | [200, {}, ["Monolith!"]] }
Pact::MockService::AppManager.instance.register app, 9292
Pact::MockService::AppManager.instance.spawn_all
end
+
+ task :spawn_test_monolith_ssl do
+ @@ssl_server_pid = fork do
+ trap 'INT' do @server.shutdown end
+ require 'rack'
+ require 'rack/handler/webrick'
+ require 'webrick/https'
+
+ app = lambda { | env | [200, {}, ["Monolith!"]] }
+ webrick_opts = {:Port => 9393, :SSLEnable => true, :SSLCertName => [%w[CN localhost]]}
+ Rack::Handler::WEBrick.run(app, webrick_opts) do |server|
+ @server = server
+ end
+ end
+ sleep 2
+ end
end
end
task 'delete_pact_helper' do
FileUtils.rm_rf './spec/support/pact_helper.rb'
@@ -42,14 +62,13 @@
task 'create_custom_pact_helper' do
FileUtils.cp './spec/fixtures/template_pact_helper.rb', './spec/support/custom_pact_helper.rb'
end
task 'pact:verify:monolith' => ['pact:test:spawn_test_monolith', 'delete_pact_helper', 'create_custom_pact_helper']
+task 'pact:verify:monolith_ssl' => ['pact:test:spawn_test_monolith_ssl', 'delete_pact_helper', 'create_custom_pact_helper']
task 'pact:verify:monolith_no_pact_helper' => ['pact:test:spawn_test_monolith', 'delete_pact_helper', 'create_pact_helper_that_should_not_be_loaded']
require 'rspec/core/rake_task'
RSpec::Core::RakeTask.new(:spec)
-task :default => [:spec, 'pact:verify:monolith_no_pact_helper','pact:verify:monolith']
-
-
+task :default => [:spec, 'pact:verify:monolith_no_pact_helper','pact:verify:monolith', 'pact:verify:monolith_ssl']