akamai_rspec 1.0.1 → 1.1.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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 07fe4b6c45db380b71ff544f77ae226a4cc74809
|
4
|
+
data.tar.gz: b1f5f15809c6003669937c1466db669c6b9a4c27
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a1c3e9b1f6bfa2ad4aa0c1b72f0775c1dae149e20dac1ac07b306b2763b2b240285b1e1af7eb470a9f740e2d7be16bf5de8617f2170f44d34b00131d511dabf2
|
7
|
+
data.tar.gz: 8116ec3976984834df9d42218aa284960cd2aed54b1379f6b47dfba0524acb28b348fbb3dc2a17298073e69caa6fd9d54395347c57212bf3c86123db7f32ee66
|
@@ -15,8 +15,8 @@ module AkamaiRSpec
|
|
15
15
|
return secure, url
|
16
16
|
end
|
17
17
|
|
18
|
-
def redirect(url, expected_location, expected_response_code)
|
19
|
-
response = AkamaiRSpec::Request.get(url)
|
18
|
+
def redirect(url, expected_location, expected_response_code, headers)
|
19
|
+
response = AkamaiRSpec::Request.get(url, headers)
|
20
20
|
fail "Response was #{response.inspect}, expected code #{expected_response_code}" unless response.code == expected_response_code
|
21
21
|
unless expected_location === response.headers[:location]
|
22
22
|
fail "redirect location was #{response.headers[:location]} (expected #{expected_location})"
|
@@ -32,8 +32,15 @@ module AkamaiRSpec
|
|
32
32
|
url = "https://#{url}" unless URI(url).scheme
|
33
33
|
begin
|
34
34
|
# Avoid AkamaiRspec::Request as it turns off SSL checking
|
35
|
-
@response = RestClient::Request.execute(
|
35
|
+
@response = RestClient::Request.execute(
|
36
|
+
method: :get,
|
37
|
+
url: url,
|
38
|
+
max_redirects: 0,
|
39
|
+
verify_ssl: OpenSSL::SSL::VERIFY_PEER
|
40
|
+
)
|
36
41
|
return true
|
42
|
+
rescue RestClient::MaxRedirectsReached
|
43
|
+
return true # Securely sent a redirect
|
37
44
|
rescue => e
|
38
45
|
@error = e
|
39
46
|
return false
|
@@ -4,49 +4,59 @@ require 'akamai_rspec/helpers/chainable_redirect'
|
|
4
4
|
|
5
5
|
module AkamaiRSpec
|
6
6
|
module Matchers
|
7
|
-
define :be_permanently_redirected_to do |expected_location|
|
7
|
+
define :be_permanently_redirected_to do |expected_location, headers: {}|
|
8
8
|
include AkamaiRSpec::Helpers::ChainableRedirect
|
9
9
|
match do |url|
|
10
|
-
redirect(url, expected_location, 301)
|
10
|
+
redirect(url, expected_location, 301, headers)
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
14
|
-
define :be_temporarily_redirected_to do |expected_location|
|
14
|
+
define :be_temporarily_redirected_to do |expected_location, headers: {}|
|
15
15
|
include AkamaiRSpec::Helpers::ChainableRedirect
|
16
16
|
match do |url|
|
17
|
-
redirect(url, expected_location, 302)
|
17
|
+
redirect(url, expected_location, 302, headers)
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
|
-
define :redirect_http_to_https do |with: 301|
|
21
|
+
define :redirect_http_to_https do |with: 301, headers: {}|
|
22
22
|
include AkamaiRSpec::Helpers::ChainableRedirect
|
23
23
|
match do |url|
|
24
24
|
secure, url = with_and_without_tls(url)
|
25
|
-
redirect(url, secure, with)
|
25
|
+
redirect(url, secure, with, headers)
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
29
|
-
define :redirect_https_to_http do |with: 301|
|
29
|
+
define :redirect_https_to_http do |with: 301, headers: {}|
|
30
30
|
include AkamaiRSpec::Helpers::ChainableRedirect
|
31
31
|
match do |url|
|
32
32
|
secure, url = with_and_without_tls(url)
|
33
|
-
redirect(secure, url, with)
|
33
|
+
redirect(secure, url, with, headers)
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
37
|
-
define :
|
37
|
+
define :redirect_to_remove_trailing_slash do |with: 301, headers: {}|
|
38
38
|
include AkamaiRSpec::Helpers::ChainableRedirect
|
39
39
|
match do |url|
|
40
40
|
without_trailing_slash = url.gsub(/\/+$/, '')
|
41
41
|
with_trailing_slash = without_trailing_slash + "/"
|
42
|
-
redirect(without_trailing_slash,
|
42
|
+
redirect(with_trailing_slash, without_trailing_slash, with, headers)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
define :redirect_to_add_trailing_slash do |with: 301, headers: {}|
|
47
|
+
include AkamaiRSpec::Helpers::ChainableRedirect
|
48
|
+
match do |url|
|
49
|
+
without_trailing_slash = url.gsub(/\/+$/, '')
|
50
|
+
with_trailing_slash = without_trailing_slash + "/"
|
51
|
+
redirect(without_trailing_slash, with_trailing_slash, with, headers)
|
43
52
|
end
|
44
53
|
end
|
45
54
|
|
46
55
|
define :be_temporarily_redirected_with_trailing_slash do
|
47
56
|
include AkamaiRSpec::Helpers::ChainableRedirect
|
48
57
|
match do |url|
|
49
|
-
|
58
|
+
puts "be_temporarily_redirected_with_trailing_slash is deprecated and will be removed in 2.0; use redirect_to_add_trailing_slash(with: 302)"
|
59
|
+
redirect(url, url + '/', 302, {})
|
50
60
|
end
|
51
61
|
end
|
52
62
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: akamai_rspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bianca Gibson
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-11-
|
12
|
+
date: 2016-11-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rest-client
|