rspec-terraform 0.1.0.pre.19 → 0.1.0.pre.20

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
  SHA256:
3
- metadata.gz: d18507e1fb2c9cb75f1d78660709319e3addcc1eeee92538c2b3134d6c3c6783
4
- data.tar.gz: 794b11b381d232bbbfa5e61ca2a759e8240366768ce7462ad2ea5e6489dddada
3
+ metadata.gz: c33bac6bc11ec62bb0dd06035958076661a9ba193446ddad9c9299c7fc7c1c87
4
+ data.tar.gz: f03c579d40424f7b3eeb1d11b2f354e5709148ab71b491702e0c5dd5277893fb
5
5
  SHA512:
6
- metadata.gz: b7bcc363f2779b425e544abd7065263e974d36351ed4526b7e768f3d93cc66bd2241c8afc81a65c7ede3418df35eb70bb3fd0cdfca77b3dcca629f20ab9091a1
7
- data.tar.gz: 9fd86d2510ffcd78213d9ebf8770a1fa70ed4a3a18fca758a2824388e61afcad802d4f1c3bfa85c9612f4abfefb10307a0c5f282e432ea7d490ff9d1c991d8a6
6
+ metadata.gz: f75e6299fa46e44d2ff7c525529495e492346d88c8ae0a9634395d4a623871496487b517710177151e9ae871843506d41be8b57581e67785bdaf9f0efe11cf32
7
+ data.tar.gz: 9f44c320439d80991c33e86f075fa4012e88c31cec8c66caaeba2486cf03785a272363e7141ab5a1949ee26837bb41e97db1a93e914e99335399879e20344d85
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rspec-terraform (0.1.0.pre.19)
4
+ rspec-terraform (0.1.0.pre.20)
5
5
  rspec (>= 3.0)
6
6
  ruby-terraform (= 1.7.0.pre.13)
7
7
 
@@ -16,6 +16,7 @@ GEM
16
16
  addressable (2.8.0)
17
17
  public_suffix (>= 2.0.2, < 5.0)
18
18
  ast (2.4.2)
19
+ coderay (1.1.3)
19
20
  colored2 (3.1.2)
20
21
  concurrent-ruby (1.1.10)
21
22
  diff-lcs (1.5.0)
@@ -27,7 +28,26 @@ GEM
27
28
  faraday-net_http (~> 2.0)
28
29
  ruby2_keywords (>= 0.0.4)
29
30
  faraday-net_http (2.0.3)
31
+ ffi (1.15.5)
32
+ formatador (1.1.0)
30
33
  gem-release (2.2.2)
34
+ guard (2.18.0)
35
+ formatador (>= 0.2.4)
36
+ listen (>= 2.7, < 4.0)
37
+ lumberjack (>= 1.0.12, < 2.0)
38
+ nenv (~> 0.1)
39
+ notiffany (~> 0.0)
40
+ pry (>= 0.13.0)
41
+ shellany (~> 0.0)
42
+ thor (>= 0.18.1)
43
+ guard-compat (1.2.1)
44
+ guard-rspec (4.7.3)
45
+ guard (~> 2.1)
46
+ guard-compat (~> 1.1)
47
+ rspec (>= 2.99.0, < 4.0)
48
+ guard-rubocop (1.5.0)
49
+ guard (~> 2.0)
50
+ rubocop (< 2.0)
31
51
  hamster (3.0.0)
32
52
  concurrent-ruby (~> 1.0)
33
53
  i18n (1.12.0)
@@ -37,7 +57,16 @@ GEM
37
57
  lino (3.0.0)
38
58
  hamster (~> 3.0)
39
59
  open4 (~> 1.3)
60
+ listen (3.7.1)
61
+ rb-fsevent (~> 0.10, >= 0.10.3)
62
+ rb-inotify (~> 0.9, >= 0.9.10)
63
+ lumberjack (1.2.8)
64
+ method_source (1.0.0)
40
65
  minitest (5.16.2)
66
+ nenv (0.3.0)
67
+ notiffany (0.1.3)
68
+ nenv (~> 0.1)
69
+ shellany (~> 0.0)
41
70
  octokit (4.25.1)
42
71
  faraday (>= 1, < 3)
43
72
  sawyer (~> 0.9)
@@ -45,6 +74,9 @@ GEM
45
74
  parallel (1.22.1)
46
75
  parser (3.1.2.1)
47
76
  ast (~> 2.4.1)
77
+ pry (0.14.1)
78
+ coderay (~> 1.1)
79
+ method_source (~> 1.0)
48
80
  public_suffix (4.0.7)
49
81
  rainbow (3.1.1)
50
82
  rake (13.0.6)
@@ -68,6 +100,9 @@ GEM
68
100
  colored2 (~> 3.1)
69
101
  rake_factory (~> 0.23)
70
102
  sshkey (~> 2.0)
103
+ rb-fsevent (0.11.1)
104
+ rb-inotify (0.10.1)
105
+ ffi (~> 1.0)
71
106
  regexp_parser (2.5.0)
72
107
  rexml (3.2.5)
73
108
  rspec (3.11.0)
@@ -109,6 +144,7 @@ GEM
109
144
  sawyer (0.9.2)
110
145
  addressable (>= 2.3.5)
111
146
  faraday (>= 0.17.3, < 3)
147
+ shellany (0.0.1)
112
148
  simplecov (0.21.2)
113
149
  docile (~> 1.1)
114
150
  simplecov-html (~> 0.11)
@@ -116,13 +152,14 @@ GEM
116
152
  simplecov-html (0.12.3)
117
153
  simplecov_json_formatter (0.1.4)
118
154
  sshkey (2.0.0)
155
+ terminal-notifier-guard (1.7.0)
156
+ thor (1.2.1)
119
157
  tzinfo (2.0.5)
120
158
  concurrent-ruby (~> 1.0)
121
159
  unicode-display_width (2.2.0)
122
160
 
123
161
  PLATFORMS
124
162
  arm64-darwin-21
125
- ruby
126
163
  x86_64-darwin-19
127
164
  x86_64-linux
128
165
 
@@ -130,6 +167,9 @@ DEPENDENCIES
130
167
  bundler
131
168
  faker
132
169
  gem-release
170
+ guard
171
+ guard-rspec
172
+ guard-rubocop
133
173
  rake
134
174
  rake_circle_ci
135
175
  rake_github
@@ -140,6 +180,7 @@ DEPENDENCIES
140
180
  rubocop-rake
141
181
  rubocop-rspec
142
182
  simplecov
183
+ terminal-notifier-guard
143
184
 
144
185
  BUNDLED WITH
145
186
  2.3.20
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'ruby_terraform'
4
+
5
+ module RSpec
6
+ module Terraform
7
+ module Configuration
8
+ module Providers
9
+ class Identity
10
+ def resolve(overrides)
11
+ overrides
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'ruby_terraform'
4
+
5
+ module RSpec
6
+ module Terraform
7
+ module Configuration
8
+ module Providers
9
+ class InMemory
10
+ attr_reader(:configuration)
11
+
12
+ def initialize(configuration = {})
13
+ @configuration = configuration
14
+ end
15
+
16
+ def resolve(overrides = {})
17
+ left_vars = configuration[:vars] || {}
18
+ right_vars = overrides[:vars] || {}
19
+ vars = left_vars.merge(right_vars)
20
+
21
+ top_level_merge = configuration.merge(overrides)
22
+
23
+ if left_vars == {} && right_vars == {}
24
+ top_level_merge
25
+ else
26
+ top_level_merge.merge(vars: vars)
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'providers/identity'
4
+ require_relative 'providers/in_memory'
5
+
6
+ module RSpec
7
+ module Terraform
8
+ module Configuration
9
+ module Providers
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'configuration/providers'
4
+
5
+ module RSpec
6
+ module Terraform
7
+ module Configuration
8
+ class << self
9
+ def identity_provider
10
+ Providers::Identity.new
11
+ end
12
+
13
+ def in_memory_provider(overrides)
14
+ Providers::InMemory.new(overrides)
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'ruby_terraform'
4
+
5
+ module RSpec
6
+ module Terraform
7
+ module Helpers
8
+ class Apply
9
+ attr_reader(:overrides, :configuration_provider)
10
+
11
+ def initialize(overrides = {}, configuration_provider = nil)
12
+ @overrides = overrides
13
+ @configuration_provider =
14
+ configuration_provider || Configuration.identity_provider
15
+ end
16
+
17
+ def execute
18
+ parameters = configuration_provider.resolve(overrides)
19
+ parameters = parameters.merge(
20
+ input: false,
21
+ auto_approve: true
22
+ )
23
+
24
+ do_apply(parameters)
25
+ end
26
+
27
+ private
28
+
29
+ def do_apply(parameters)
30
+ RubyTerraform.apply(
31
+ chdir: parameters[:configuration_directory],
32
+ state: parameters[:state_file],
33
+ vars: parameters[:vars],
34
+ input: parameters[:input],
35
+ auto_approve: parameters[:auto_approve]
36
+ )
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative './helpers/apply'
4
+
5
+ module RSpec
6
+ module Terraform
7
+ module Helpers
8
+ end
9
+ end
10
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module RSpec
4
4
  module Terraform
5
- VERSION = '0.1.0.pre.19'
5
+ VERSION = '0.1.0.pre.20'
6
6
  end
7
7
  end
@@ -4,7 +4,9 @@ require 'rspec/core'
4
4
  require 'ruby_terraform'
5
5
 
6
6
  require_relative 'terraform/version'
7
+ require_relative 'terraform/configuration'
7
8
  require_relative 'terraform/matchers'
9
+ require_relative 'terraform/helpers'
8
10
 
9
11
  RSpec.configure do |config|
10
12
  config.include(RSpec::Terraform::Matchers)
@@ -43,6 +43,9 @@ Gem::Specification.new do |spec|
43
43
  spec.add_development_dependency 'bundler'
44
44
  spec.add_development_dependency 'faker'
45
45
  spec.add_development_dependency 'gem-release'
46
+ spec.add_development_dependency 'guard'
47
+ spec.add_development_dependency 'guard-rspec'
48
+ spec.add_development_dependency 'guard-rubocop'
46
49
  spec.add_development_dependency 'rake'
47
50
  spec.add_development_dependency 'rake_circle_ci'
48
51
  spec.add_development_dependency 'rake_github'
@@ -52,6 +55,7 @@ Gem::Specification.new do |spec|
52
55
  spec.add_development_dependency 'rubocop-rake'
53
56
  spec.add_development_dependency 'rubocop-rspec'
54
57
  spec.add_development_dependency 'simplecov'
58
+ spec.add_development_dependency 'terminal-notifier-guard'
55
59
 
56
60
  spec.metadata['rubygems_mfa_required'] = 'false'
57
61
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-terraform
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.pre.19
4
+ version: 0.1.0.pre.20
5
5
  platform: ruby
6
6
  authors:
7
7
  - InfraBlocks Maintainers
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-08-17 00:00:00.000000000 Z
11
+ date: 2022-08-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -80,6 +80,48 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: guard
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: guard-rspec
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: guard-rubocop
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
83
125
  - !ruby/object:Gem::Dependency
84
126
  name: rake
85
127
  requirement: !ruby/object:Gem::Requirement
@@ -206,6 +248,20 @@ dependencies:
206
248
  - - ">="
207
249
  - !ruby/object:Gem::Version
208
250
  version: '0'
251
+ - !ruby/object:Gem::Dependency
252
+ name: terminal-notifier-guard
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - ">="
256
+ - !ruby/object:Gem::Version
257
+ version: '0'
258
+ type: :development
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - ">="
263
+ - !ruby/object:Gem::Version
264
+ version: '0'
209
265
  description: Helpers, contexts and matchers to support using RSpec to test Terraform
210
266
  configurations and modules.
211
267
  email:
@@ -223,6 +279,12 @@ files:
223
279
  - bin/console
224
280
  - bin/setup
225
281
  - lib/rspec/terraform.rb
282
+ - lib/rspec/terraform/configuration.rb
283
+ - lib/rspec/terraform/configuration/providers.rb
284
+ - lib/rspec/terraform/configuration/providers/identity.rb
285
+ - lib/rspec/terraform/configuration/providers/in_memory.rb
286
+ - lib/rspec/terraform/helpers.rb
287
+ - lib/rspec/terraform/helpers/apply.rb
226
288
  - lib/rspec/terraform/matchers.rb
227
289
  - lib/rspec/terraform/matchers/include_output_change.rb
228
290
  - lib/rspec/terraform/matchers/include_resource_change.rb