awspec 1.3.1 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
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