akamai_rspec 0.2.3 → 0.2.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/akamai_rspec/matchers/matchers.rb +39 -9
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d43da91b99bffdb375af2895ae8c06ee21ef5c2b
|
4
|
+
data.tar.gz: 0e2550fbd977588675e38cdeafd3c2c2d98b3fea
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8e830785e239ca8a42dbbd2fbbad8c3f265a2de8a8c720a04dd16ad4c03fbcc2e164583aaaa80ab01d376b5f1e483cd1f0c967b211a81b8d7a39e3ab7c6f0d0f
|
7
|
+
data.tar.gz: 158112f7fd65328f5804e93340412f321103045bb67f3ac4772a55591318b3a3e3ddf8e82e4cc74d00ce87e63d87b9cab2c02e2824b63c84529cf09bf9876657
|
@@ -6,25 +6,55 @@ require_relative 'non_akamai'
|
|
6
6
|
require_relative 'honour_origin_headers'
|
7
7
|
include AkamaiHeaders
|
8
8
|
|
9
|
+
X_CACHE_HEADERS = [:x_true_cache_key, :x_cache_key]
|
10
|
+
|
9
11
|
RSpec::Matchers.define :be_served_from_origin do |contents|
|
10
12
|
match do |url|
|
11
13
|
response = RestClient::Request.responsify url
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
response.code == 200
|
14
|
+
return true if x_cache_headers_from_origin(response, contents)
|
15
|
+
missing_x_cache_error(response, contents)
|
16
|
+
expect(response).to be_successful
|
17
|
+
has_x_cache_headers(response)
|
17
18
|
end
|
18
19
|
end
|
19
20
|
|
20
21
|
RSpec::Matchers.define :have_cp_code do |contents|
|
21
22
|
match do |url|
|
22
23
|
response = RestClient::Request.responsify url
|
23
|
-
|
24
|
-
|
25
|
-
|
24
|
+
has_x_cache_headers(response)
|
25
|
+
return true if x_cache_headers_contain(response, contents)
|
26
|
+
missing_x_cache_error(response, contents)
|
27
|
+
expect(response).to be_successful
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def has_x_cache_headers(response)
|
32
|
+
unless X_CACHE_HEADERS.inject(false) { |bool, header| bool || response.headers.include?(header) }
|
33
|
+
fail "Response does not contain the debug headers"
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def x_cache_headers_contain(response, contents)
|
38
|
+
X_CACHE_HEADERS.each do |key|
|
39
|
+
return true if response.headers[key] && response.headers[key].include?(contents)
|
40
|
+
end
|
41
|
+
false
|
42
|
+
end
|
43
|
+
|
44
|
+
|
45
|
+
def x_cache_headers_from_origin(response, contents)
|
46
|
+
X_CACHE_HEADERS.each do |key|
|
47
|
+
header = response.headers[key]
|
48
|
+
return true if (header && header =~ /\/#{contents}\//)
|
49
|
+
end
|
50
|
+
return false
|
51
|
+
end
|
52
|
+
|
53
|
+
def missing_x_cache_error(response, contents)
|
54
|
+
X_CACHE_HEADERS.each do |key|
|
55
|
+
if (response.headers[key])
|
56
|
+
fail("#{key} has value '#{response.headers[key]}' which doesn't match '#{contents}'")
|
26
57
|
end
|
27
|
-
response.code == 200
|
28
58
|
end
|
29
59
|
end
|
30
60
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: akamai_rspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bianca Gibson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-07-
|
11
|
+
date: 2015-07-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|