proxy_rb 0.5.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/History.md +8 -1
- data/lib/proxy_rb/announcer.rb +2 -0
- data/lib/proxy_rb/api/http_proxy.rb +4 -0
- data/lib/proxy_rb/events.rb +6 -0
- data/lib/proxy_rb/rspec.rb +2 -0
- data/lib/proxy_rb/setup.rb +7 -0
- data/lib/proxy_rb/simple_table.rb +43 -0
- data/lib/proxy_rb/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d9e7207bd7f86b0c2ea177e5806cf5a2588d3cb3
|
4
|
+
data.tar.gz: 0162f94083dc363cc0f219b277f72114abfa846c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8b934c3f3d8df5727a58341c9293ecff2c6ec6fec6bed89f6d61ad3a3d41bedc1c60d424601693faf7cbe9c90ffc86fbe032837def162845736a348f2e76cd53
|
7
|
+
data.tar.gz: 974c031e6bd71d40ce0f16f74bb8da5a877cb9d47092af592588ec92a7ba938aca0fa9f721c4be41660759472f90fb0b7359c63feede795bd7fae63f7963feaf
|
data/History.md
CHANGED
@@ -1,5 +1,13 @@
|
|
1
1
|
# UNRELEASED
|
2
2
|
|
3
|
+
Empty
|
4
|
+
|
5
|
+
# RELEASED
|
6
|
+
|
7
|
+
## [v0.6.0](https://github.com/cucumber/aruba/compare/v0.5.0...v0.6.0)
|
8
|
+
|
9
|
+
* Added announcer for response headers
|
10
|
+
|
3
11
|
## [v0.5.0](https://github.com/cucumber/aruba/compare/v0.4.0...v0.5.0)
|
4
12
|
|
5
13
|
* Added initializer to bootstrap `proxy_prb`
|
@@ -10,7 +18,6 @@
|
|
10
18
|
configured user, proxy and resource
|
11
19
|
* Addd new matchers to output better error messages
|
12
20
|
|
13
|
-
# RELEASED
|
14
21
|
|
15
22
|
## [v0.4.0](https://github.com/cucumber/aruba/compare/v0.1.0...v0.4.0)
|
16
23
|
|
data/lib/proxy_rb/announcer.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
require 'shellwords'
|
3
3
|
require 'proxy_rb/colorizer'
|
4
|
+
require 'proxy_rb/simple_table'
|
4
5
|
|
5
6
|
ProxyRb::AnsiColor.coloring = false if !STDOUT.tty? && !ENV.key?('AUTOTEST')
|
6
7
|
|
@@ -77,6 +78,7 @@ module ProxyRb
|
|
77
78
|
output_format :proxy_user, proc { |v| format('Proxy User: %s', v) }
|
78
79
|
output_format :resource_user, proc { |v| format('Resource User: %s', v) }
|
79
80
|
output_format :resource, proc { |v| format('Resource: %s', v) }
|
81
|
+
output_format :http_response_headers, proc { |v| format("<<-HTTP_RESPONSE_HEADERS\n%s\nHTTP_RESPONSE_HEADERS", SimpleTable.new(v)) }
|
80
82
|
end
|
81
83
|
|
82
84
|
def output_format(channel, string = '%s', &block)
|
@@ -63,6 +63,8 @@ module ProxyRb
|
|
63
63
|
|
64
64
|
NonIncludes.register_capybara_driver_for_proxy(proxy)
|
65
65
|
|
66
|
+
proxy_rb.event_bus.notify Events::BeforeResourceFetched.new(page)
|
67
|
+
|
66
68
|
begin
|
67
69
|
super(resource.to_s)
|
68
70
|
rescue *ProxyRb.config.driver.timeout_errors
|
@@ -72,6 +74,8 @@ module ProxyRb
|
|
72
74
|
rescue => e
|
73
75
|
raise ProxyRb::ResourceNotDownloadableError, "An unexpected error occured while fetching #{resource}: #{e.message}."
|
74
76
|
end
|
77
|
+
|
78
|
+
proxy_rb.event_bus.notify Events::AfterResourceFetched.new(page)
|
75
79
|
end
|
76
80
|
# rubocop:enable Metrics/AbcSize
|
77
81
|
|
data/lib/proxy_rb/events.rb
CHANGED
@@ -30,5 +30,11 @@ module ProxyRb
|
|
30
30
|
|
31
31
|
# The configuration was changed
|
32
32
|
class ChangedConfiguration < BasicEvent; end
|
33
|
+
|
34
|
+
# Before the resource was fetched
|
35
|
+
class BeforeResourceFetched < BasicEvent; end
|
36
|
+
|
37
|
+
# After the resource was fetched
|
38
|
+
class AfterResourceFetched < BasicEvent; end
|
33
39
|
end
|
34
40
|
end
|
data/lib/proxy_rb/rspec.rb
CHANGED
@@ -32,12 +32,14 @@ RSpec.configure do |config|
|
|
32
32
|
proxy_rb.announcer.activate(:proxy_user) if example.metadata[:announce_proxy_user]
|
33
33
|
proxy_rb.announcer.activate(:resource) if example.metadata[:announce_resource]
|
34
34
|
proxy_rb.announcer.activate(:resource_user) if example.metadata[:announce_resource_user]
|
35
|
+
proxy_rb.announcer.activate(:http_response_headers) if example.metadata[:announce_http_response_headers]
|
35
36
|
|
36
37
|
if example.metadata[:announce]
|
37
38
|
proxy_rb.announcer.activate(:proxy)
|
38
39
|
proxy_rb.announcer.activate(:proxy_user)
|
39
40
|
proxy_rb.announcer.activate(:resource)
|
40
41
|
proxy_rb.announcer.activate(:resource_user)
|
42
|
+
proxy_rb.announcer.activate(:http_response_headers)
|
41
43
|
end
|
42
44
|
end
|
43
45
|
end
|
data/lib/proxy_rb/setup.rb
CHANGED
@@ -54,6 +54,13 @@ module ProxyRb
|
|
54
54
|
runtime.announcer.announce :resource_user, event.entity
|
55
55
|
end
|
56
56
|
)
|
57
|
+
|
58
|
+
runtime.event_bus.register(
|
59
|
+
:after_resource_fetched,
|
60
|
+
proc do |event|
|
61
|
+
runtime.announcer.announce :http_response_headers, event.entity.driver.response_headers
|
62
|
+
end
|
63
|
+
)
|
57
64
|
end
|
58
65
|
# enable Metrics/MethodLength
|
59
66
|
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# Aruba
|
2
|
+
module ProxyRb
|
3
|
+
# Generate simple table
|
4
|
+
class SimpleTable
|
5
|
+
private
|
6
|
+
|
7
|
+
attr_reader :hash, :opts
|
8
|
+
|
9
|
+
public
|
10
|
+
|
11
|
+
# Create
|
12
|
+
#
|
13
|
+
# @param [Hash] hash
|
14
|
+
# Input
|
15
|
+
def initialize(hash, opts = {})
|
16
|
+
@hash = hash
|
17
|
+
@opts = {
|
18
|
+
:sort => true
|
19
|
+
}.merge opts
|
20
|
+
end
|
21
|
+
|
22
|
+
# Generate table
|
23
|
+
#
|
24
|
+
# @return [String]
|
25
|
+
# The table
|
26
|
+
def to_s
|
27
|
+
longest_key = hash.keys.map(&:to_s).max_by(&:length)
|
28
|
+
return '' if longest_key.nil?
|
29
|
+
|
30
|
+
name_size = longest_key.length
|
31
|
+
|
32
|
+
rows = hash.each_with_object([]) do |(k,v), a|
|
33
|
+
a << format("# %-#{name_size}s => %s", k, v)
|
34
|
+
end
|
35
|
+
|
36
|
+
if opts[:sort] == true
|
37
|
+
rows.sort.join("\n")
|
38
|
+
else
|
39
|
+
rows.join("\n")
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
data/lib/proxy_rb/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: proxy_rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Max Meyer
|
@@ -189,6 +189,7 @@ files:
|
|
189
189
|
- lib/proxy_rb/rspec.rb
|
190
190
|
- lib/proxy_rb/runtime.rb
|
191
191
|
- lib/proxy_rb/setup.rb
|
192
|
+
- lib/proxy_rb/simple_table.rb
|
192
193
|
- lib/proxy_rb/user_passwords.rb
|
193
194
|
- lib/proxy_rb/user_passwords/environment_user_password.rb
|
194
195
|
- lib/proxy_rb/user_passwords/vault_user_password.rb
|