pact-provider-proxy 2.1.0 → 2.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -0
- data/README.md +2 -0
- data/lib/pact/provider/proxy/version.rb +1 -1
- data/spec/tasks.rake +29 -10
- data/vendor/rack-reverse-proxy/lib/rack/reverse_proxy.rb +1 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0fff4c4e689274a735a1c2790a49b418508a477f
|
4
|
+
data.tar.gz: 62a90848138e3bdcd67d0328f20581615a7aad01
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7745ed6e4c846342d9569601dd7ae087d4e1c9622cf70d330aed46ac274caa85c11e060574315ff60742278e779d47f15e1364fb9926e57be5aa6ff8186e1ded
|
7
|
+
data.tar.gz: 98daf31e5a6f7239d447c4a74c8ceb018acc4dc0189a407c1b940a2137351454927bb77fa53c0f8c6f8a4e2e6016c6f08567db57b9e73e430ae7e4c3d70c4937
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
git log --pretty=format:' * %h - %s (%an, %ad)'
|
2
2
|
|
3
|
+
### 2.2.0 (3 Aug 2017)
|
4
|
+
* 8a872c2 - feat(ssl verify none): Turn off SSL verification so that servers can run using self signed certificates. (Beth Skurrie, Thu Aug 3 14:04:26 2017 +1000)
|
5
|
+
|
3
6
|
### 2.1.0 (21 April 2015)
|
4
7
|
|
5
8
|
* c94657c - Pass through PACT_DESCRIPTION, PACT_PROVIDER_STATE and BACKTRACE env vars to pact verify command (Beth Skurrie, Tue Apr 21 14:31:47 2015 +1000)
|
data/README.md
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# Pact::Provider::Proxy
|
2
2
|
|
3
|
+
[![Build Status](https://travis-ci.org/pact-foundation/pact-provider-proxy.svg?branch=master)](https://travis-ci.org/pact-foundation/pact-provider-proxy)
|
4
|
+
|
3
5
|
Allows pact verification against a running provider at a configurable base URL (normal pact verification is run against a code base using Rack::Test::Methods - no process is actually spawned).
|
4
6
|
|
5
7
|
This allows testing against providers where you have access to a running instance of a provider, but you do not have access to its code base, or where the provider is not a ruby application.
|
data/spec/tasks.rake
CHANGED
@@ -5,6 +5,16 @@ Pact::ProxyVerificationTask.new :monolith do | task |
|
|
5
5
|
task.provider_base_url 'http://localhost:9292'
|
6
6
|
end
|
7
7
|
|
8
|
+
Pact::ProxyVerificationTask.new :monolith_ssl do | task |
|
9
|
+
task.pact_url './spec/support/pact.json', :pact_helper => './spec/support/custom_pact_helper'
|
10
|
+
task.provider_base_url 'https://localhost:9393'
|
11
|
+
end
|
12
|
+
|
13
|
+
desc 'Shutdown SSL monolith server after pact:verify'
|
14
|
+
task 'pact:verify:monolith_ssl' do | foo, bar |
|
15
|
+
Process.kill('INT', @@ssl_server_pid) if @@ssl_server_pid
|
16
|
+
end
|
17
|
+
|
8
18
|
Pact::ProxyVerificationTask.new :monolith_no_pact_helper do | task |
|
9
19
|
task.pact_url './spec/support/pact-with-no-provider-states.json'
|
10
20
|
task.provider_base_url 'http://localhost:9292'
|
@@ -14,16 +24,26 @@ namespace :pact do
|
|
14
24
|
namespace :test do
|
15
25
|
task :spawn_test_monolith do
|
16
26
|
require 'pact/mock_service/app_manager'
|
17
|
-
app = lambda { | env |
|
18
|
-
if env['PATH_INFO'] == '/some-path' && env['QUERY_STRING'] == 'foo=bar'
|
19
|
-
[200, {}, ["Monolith!"]]
|
20
|
-
else
|
21
|
-
[500, {}, []]
|
22
|
-
end
|
23
|
-
}
|
27
|
+
app = lambda { | env | [200, {}, ["Monolith!"]] }
|
24
28
|
Pact::MockService::AppManager.instance.register app, 9292
|
25
29
|
Pact::MockService::AppManager.instance.spawn_all
|
26
30
|
end
|
31
|
+
|
32
|
+
task :spawn_test_monolith_ssl do
|
33
|
+
@@ssl_server_pid = fork do
|
34
|
+
trap 'INT' do @server.shutdown end
|
35
|
+
require 'rack'
|
36
|
+
require 'rack/handler/webrick'
|
37
|
+
require 'webrick/https'
|
38
|
+
|
39
|
+
app = lambda { | env | [200, {}, ["Monolith!"]] }
|
40
|
+
webrick_opts = {:Port => 9393, :SSLEnable => true, :SSLCertName => [%w[CN localhost]]}
|
41
|
+
Rack::Handler::WEBrick.run(app, webrick_opts) do |server|
|
42
|
+
@server = server
|
43
|
+
end
|
44
|
+
end
|
45
|
+
sleep 2
|
46
|
+
end
|
27
47
|
end
|
28
48
|
end
|
29
49
|
|
@@ -44,12 +64,11 @@ task 'create_custom_pact_helper' do
|
|
44
64
|
end
|
45
65
|
|
46
66
|
task 'pact:verify:monolith' => ['pact:test:spawn_test_monolith', 'delete_pact_helper', 'create_custom_pact_helper']
|
67
|
+
task 'pact:verify:monolith_ssl' => ['pact:test:spawn_test_monolith_ssl', 'delete_pact_helper', 'create_custom_pact_helper']
|
47
68
|
task 'pact:verify:monolith_no_pact_helper' => ['pact:test:spawn_test_monolith', 'delete_pact_helper', 'create_pact_helper_that_should_not_be_loaded']
|
48
69
|
|
49
70
|
require 'rspec/core/rake_task'
|
50
71
|
|
51
72
|
RSpec::Core::RakeTask.new(:spec)
|
52
73
|
|
53
|
-
task :default => [:spec, 'pact:verify:monolith_no_pact_helper','pact:verify:monolith']
|
54
|
-
|
55
|
-
|
74
|
+
task :default => [:spec, 'pact:verify:monolith_no_pact_helper','pact:verify:monolith', 'pact:verify:monolith_ssl']
|
@@ -72,6 +72,7 @@ module Rack
|
|
72
72
|
target_response = HttpStreamingResponse.new(target_request, uri.host, uri.port)
|
73
73
|
|
74
74
|
target_response.use_ssl = "https" == uri.scheme
|
75
|
+
target_response.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
75
76
|
|
76
77
|
# Let rack set the transfer-encoding header
|
77
78
|
response_headers = target_response.headers
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pact-provider-proxy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Beth
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-08-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pact
|
@@ -167,7 +167,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
167
167
|
version: '0'
|
168
168
|
requirements: []
|
169
169
|
rubyforge_project:
|
170
|
-
rubygems_version: 2.
|
170
|
+
rubygems_version: 2.4.5.2
|
171
171
|
signing_key:
|
172
172
|
specification_version: 4
|
173
173
|
summary: Allows verification of a pact against a running provider
|