awspec 1.3.1 → 1.4.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: 1f0e05bdb7f81c1c6d057475cba0c2242fefb41b
4
- data.tar.gz: d712b4dfceee380cbc758e5bbf9b542405af3522
3
+ metadata.gz: ceb17a3689dd2f5d09f7f6d81ea45a9c942acf1a
4
+ data.tar.gz: 5b366ffd176f57432191a0102eefebcb8b52156b
5
5
  SHA512:
6
- metadata.gz: eefb0c21ff3f7a982513ba7e6514ae03733ff5d08d1d6cc5dba3a8dfc69e1212755f467853bcf801b7135222234ec14a5f8bd64189d73bfdf9b6475da345b55d
7
- data.tar.gz: 8893028e99262a69db71d201eb8907659190b6f9c6691926b09420350bdd84e559877075c046a2edbb982189a69b9b960b30a5f128534d210768ff7e18a144c6
6
+ metadata.gz: dc5c81dc46b5d411610a4916eed9d5c70f9d3806cb0e1b209471358abe3797498a49ef36d8d10289b7b2b0d621705b3aa61f79414db9233787ca981d4761b85a
7
+ data.tar.gz: df1dc95e8bb583a2e4b8ffe5b57aedd52e255ccb77408a079828f9b209988b53239191f445611526033508a37756a88ff7e64bb92e7d3cb2c760bf66b6cca85c
@@ -14,6 +14,27 @@ describe cloudfront_distribution('123456789zyxw.cloudfront.net') do
14
14
  end
15
15
  ```
16
16
 
17
+ ### have_custom_response_error_code
18
+
19
+ ```ruby
20
+ it do
21
+ should have_custom_response_error_code(400)
22
+ .error_caching_min_ttl(60)
23
+ .response_page_path('/path/to/400.html')
24
+ .response_code(400)
25
+ end
26
+ it do
27
+ should have_custom_response_error_code(403)
28
+ .error_caching_min_ttl(60)
29
+ .response_page_path('/path/to/403.html')
30
+ .response_code('403')
31
+ end
32
+ it do
33
+ should have_custom_response_error_code(500)
34
+ .error_caching_min_ttl(60)
35
+ end
36
+ ```
37
+
17
38
  ### have_origin
18
39
 
19
40
  ```ruby
@@ -331,6 +331,28 @@ end
331
331
  ```
332
332
 
333
333
 
334
+ ### have_custom_response_error_code
335
+
336
+ ```ruby
337
+ it do
338
+ should have_custom_response_error_code(400)
339
+ .error_caching_min_ttl(60)
340
+ .response_page_path('/path/to/400.html')
341
+ .response_code(400)
342
+ end
343
+ it do
344
+ should have_custom_response_error_code(403)
345
+ .error_caching_min_ttl(60)
346
+ .response_page_path('/path/to/403.html')
347
+ .response_code('403')
348
+ end
349
+ it do
350
+ should have_custom_response_error_code(500)
351
+ .error_caching_min_ttl(60)
352
+ end
353
+ ```
354
+
355
+
334
356
  ### have_origin
335
357
 
336
358
  ```ruby
@@ -41,6 +41,7 @@ require 'awspec/matcher/have_private_ip_address'
41
41
 
42
42
  # CloudFront
43
43
  require 'awspec/matcher/have_origin'
44
+ require 'awspec/matcher/have_custom_response_error_code'
44
45
 
45
46
  # Kms
46
47
  require 'awspec/matcher/have_key_policy'
@@ -0,0 +1,21 @@
1
+ RSpec::Matchers.define :have_custom_response_error_code do |error_code|
2
+ match do |cloudfront_distribution|
3
+ cloudfront_distribution.has_custom_response_error_code?(error_code,
4
+ response_page_path: @response_page_path,
5
+ response_code: @response_code,
6
+ error_caching_min_ttl: @error_caching_min_ttl
7
+ )
8
+ end
9
+
10
+ chain :response_page_path do |response_page_path|
11
+ @response_page_path = response_page_path
12
+ end
13
+
14
+ chain :response_code do |response_code|
15
+ @response_code = response_code
16
+ end
17
+
18
+ chain :error_caching_min_ttl do |error_caching_min_ttl|
19
+ @error_caching_min_ttl = error_caching_min_ttl
20
+ end
21
+ end
@@ -176,7 +176,27 @@ Aws.config[:cloudfront] = {
176
176
  },
177
177
  custom_error_responses: {
178
178
  quantity: 0,
179
- items: []
179
+ items:
180
+ [
181
+ {
182
+ error_code: 400,
183
+ response_page_path: '/path/to/400.html',
184
+ response_code: '400',
185
+ error_caching_min_ttl: 60
186
+ },
187
+ {
188
+ error_code: 403,
189
+ response_page_path: '/path/to/403.html',
190
+ response_code: '403',
191
+ error_caching_min_ttl: 60
192
+ },
193
+ {
194
+ error_code: 500,
195
+ response_page_path: '',
196
+ response_code: '',
197
+ error_caching_min_ttl: 60
198
+ }
199
+ ]
180
200
  },
181
201
  comment: 'cf-s3-origin-hosting.dev.example.com',
182
202
  price_class: 'PriceClass_200',
@@ -42,5 +42,19 @@ module Awspec::Type
42
42
  origin_path = domain_name_and_path.gsub(%r(\A[^/]*), '')
43
43
  has_origin?(nil, domain_name: domain_name, origin_path: origin_path)
44
44
  end
45
+
46
+ def has_custom_response_error_code?(error_code,
47
+ response_page_path: nil,
48
+ response_code: nil,
49
+ error_caching_min_ttl: nil)
50
+ return false unless [error_code, domain_name].any?
51
+ resource_via_client.custom_error_responses.items.find do |error|
52
+ next false if !error_code.nil? && error.error_code != error_code
53
+ next false if !response_page_path.nil? && error.response_page_path != response_page_path
54
+ next false if !response_code.nil? && error.response_code != response_code.to_s
55
+ next false if !error_caching_min_ttl.nil? && error.error_caching_min_ttl != error_caching_min_ttl
56
+ true
57
+ end
58
+ end
45
59
  end
46
60
  end
@@ -1,3 +1,3 @@
1
1
  module Awspec
2
- VERSION = '1.3.1'
2
+ VERSION = '1.4.0'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: awspec
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.1
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - k1LoW
@@ -444,6 +444,7 @@ files:
444
444
  - lib/awspec/matcher/belong_to_subnet.rb
445
445
  - lib/awspec/matcher/belong_to_vpc.rb
446
446
  - lib/awspec/matcher/have_attribute_definition.rb
447
+ - lib/awspec/matcher/have_custom_response_error_code.rb
447
448
  - lib/awspec/matcher/have_inline_policy.rb
448
449
  - lib/awspec/matcher/have_key_policy.rb
449
450
  - lib/awspec/matcher/have_key_schema.rb