rspec-terraspace 0.3.0 → 0.3.2
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 +4 -4
- data/CHANGELOG.md +8 -0
- data/Gemfile +2 -2
- data/README.md +1 -1
- data/lib/rspec/terraspace/project.rb +25 -2
- data/lib/rspec/terraspace/ts.rb +11 -0
- data/lib/rspec/terraspace/version.rb +1 -1
- data/lib/rspec/terraspace.rb +1 -0
- data/rspec-terraspace.gemspec +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3b24652382c4bd7642216f608a6c09a125a06b8a8387efc455c86a25799d1ac4
|
4
|
+
data.tar.gz: ddff030a229f8270e8bd2e9bb84ff9a66df1ee384ab41788ef36c7a547825b90
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8c2625f88ae1869a308011773366450dc2c58c312442367fdc48e883e85684e14f3434d55c661ffcc8c48e84ff34d19df0120469d7c837ffc7bb97ad120dd836
|
7
|
+
data.tar.gz: '023913866e83e5da03ce8090f82bc84ffd6cc7457eab9e43e65cbdf7e960dd71a86c2168665b960a7ba8589f2b3f079b3f0dc1fe9389bf74d11b90fdc8930e4b'
|
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,14 @@
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
This project *tries* to adhere to [Semantic Versioning](http://semver.org/).
|
5
5
|
|
6
|
+
## [0.3.2] - 2022-10-19
|
7
|
+
- [#10](https://github.com/boltops-tools/rspec-terraspace/pull/10) Fix for 'detect_type' failing when Dir.pwd returns a path without trailing slash
|
8
|
+
- clear logs
|
9
|
+
- require ruby 2.6+
|
10
|
+
|
11
|
+
## [0.3.1] - 2021-12-29
|
12
|
+
- [#8](https://github.com/boltops-tools/rspec-terraspace/pull/8) provider autodetection
|
13
|
+
|
6
14
|
## [0.3.0] - 2021-07-26
|
7
15
|
- [#5](https://github.com/boltops-tools/rspec-terraspace/pull/5) Improvements
|
8
16
|
- detect module or stack type so module specs can be written
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -21,7 +21,7 @@ So if you set it: `export TS_RSPEC_BUILD_ROOT=~/environment/terraspace-test-harn
|
|
21
21
|
|
22
22
|
The test helpers support both module-level and project-level tests. See:
|
23
23
|
|
24
|
-
* [Terraspace Testing](https://
|
24
|
+
* [Terraspace Testing](https://terraspace.cloud/docs/testing/)
|
25
25
|
|
26
26
|
## Installation
|
27
27
|
|
@@ -11,6 +11,7 @@ module RSpec::Terraspace
|
|
11
11
|
@stacks = options[:stacks]
|
12
12
|
@tfvars = options[:tfvars]
|
13
13
|
@folders = options[:folders]
|
14
|
+
@plugin = options[:plugin]
|
14
15
|
|
15
16
|
@remove_test_folder = options[:remove_test_folder].nil? ? true : options[:remove_test_folder]
|
16
17
|
end
|
@@ -44,7 +45,29 @@ module RSpec::Terraspace
|
|
44
45
|
FileUtils.mkdir_p(parent_dir)
|
45
46
|
Dir.chdir(parent_dir) do
|
46
47
|
project_name = File.basename(build_dir)
|
47
|
-
|
48
|
+
args = [project_name, "--no-config", "--quiet"] + plugin_option
|
49
|
+
::Terraspace::CLI::New::Project.start(args)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def plugin_option
|
54
|
+
if @plugin
|
55
|
+
["-p", @plugin]
|
56
|
+
else
|
57
|
+
provider = autodetect_provider || "none"
|
58
|
+
["-p", provider]
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
def autodetect_provider
|
63
|
+
providers = Terraspace::Plugin.meta.keys
|
64
|
+
if providers.size == 1
|
65
|
+
providers.first
|
66
|
+
else
|
67
|
+
precedence = %w[aws azurerm google]
|
68
|
+
precedence.find do |p|
|
69
|
+
providers.include?(p)
|
70
|
+
end
|
48
71
|
end
|
49
72
|
end
|
50
73
|
|
@@ -110,7 +133,7 @@ module RSpec::Terraspace
|
|
110
133
|
# Returns: modules or stacks
|
111
134
|
def detected_type
|
112
135
|
dir = Dir.pwd
|
113
|
-
md = dir.match(%r{app/(stacks|modules)/(.*)
|
136
|
+
md = dir.match(%r{app/(stacks|modules)/(.*)?/?})
|
114
137
|
md[1]
|
115
138
|
end
|
116
139
|
|
data/lib/rspec/terraspace/ts.rb
CHANGED
@@ -8,18 +8,29 @@ module RSpec::Terraspace
|
|
8
8
|
CLI = ::Terraspace::CLI
|
9
9
|
|
10
10
|
def build_test_harness(options={})
|
11
|
+
setup
|
11
12
|
project = Project.new(options)
|
12
13
|
root = project.create
|
13
14
|
Terraspace.root = root # switch root to the generated test harness
|
14
15
|
end
|
15
16
|
|
17
|
+
def setup
|
18
|
+
# Require gems in Gemfile so terraspace_plugin_* gets loaded and registered
|
19
|
+
# This it test Gemfile. IE: app/stacks/demo/test/Gemfile
|
20
|
+
Kernel.require "bundler/setup"
|
21
|
+
Bundler.require # Same as Bundler.require(:default)
|
22
|
+
Terraspace.check_project = false
|
23
|
+
end
|
24
|
+
|
16
25
|
def up(args)
|
26
|
+
Terraspace::Logger.clear
|
17
27
|
run("up #{args} -y")
|
18
28
|
mod = args.split(' ').first
|
19
29
|
@mod = ::Terraspace::Mod.new(mod)
|
20
30
|
end
|
21
31
|
|
22
32
|
def down(args)
|
33
|
+
Terraspace::Logger.clear
|
23
34
|
run("down #{args} -y")
|
24
35
|
end
|
25
36
|
|
data/lib/rspec/terraspace.rb
CHANGED
data/rspec-terraspace.gemspec
CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.summary = "Terraspace RSpec support"
|
10
10
|
spec.homepage = "https://github.com/boltops-tools/rspec-terraspace"
|
11
11
|
spec.license = "Apache-2.0"
|
12
|
-
spec.required_ruby_version = Gem::Requirement.new(">= 2.
|
12
|
+
spec.required_ruby_version = Gem::Requirement.new(">= 2.6.0")
|
13
13
|
|
14
14
|
# Specify which files should be added to the gem when it is released.
|
15
15
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-terraspace
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tung Nguyen
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-10-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -132,14 +132,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
132
132
|
requirements:
|
133
133
|
- - ">="
|
134
134
|
- !ruby/object:Gem::Version
|
135
|
-
version: 2.
|
135
|
+
version: 2.6.0
|
136
136
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
137
137
|
requirements:
|
138
138
|
- - ">="
|
139
139
|
- !ruby/object:Gem::Version
|
140
140
|
version: '0'
|
141
141
|
requirements: []
|
142
|
-
rubygems_version: 3.
|
142
|
+
rubygems_version: 3.3.21
|
143
143
|
signing_key:
|
144
144
|
specification_version: 4
|
145
145
|
summary: Terraspace RSpec support
|