chef-vault-testfixtures 0.5.0 → 0.5.1
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/.rubocop.yml +0 -3
- data/Gemfile +2 -0
- data/History.md +5 -0
- data/Rakefile +43 -43
- data/chef-vault-testfixtures.gemspec +10 -13
- data/lib/chef-vault/test_fixtures.rb +12 -12
- data/lib/hoe/markdown.rb +2 -2
- data/spec/lib/chef-vault/test_fixtures_spec.rb +33 -33
- data/spec/spec_helper.rb +4 -4
- metadata +15 -23
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: fb82257127173edcb4dfe569cfd721c0e3af3923
|
|
4
|
+
data.tar.gz: 1eca1e10f38dbc76f559a98ccbb6b9c7e751629c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c6fb5f77868845d5d9a0c8bd5faf5ffb4e929e03f23e8b13799b5872d59e5b083d2daacbdd757609e86606d9fef5743247a587a18f9f289491a310a52bcf631b
|
|
7
|
+
data.tar.gz: 81747746d5c8ea6996227ecad1f6681cfa70d9a2508dd7e6c172cc6a8f7862c49f07276f6234e938e7d31029e0e7571ae6c5689d84fcc648ebacc041454fa629
|
data/.rubocop.yml
CHANGED
data/Gemfile
CHANGED
data/History.md
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# Changelog for chef-vault-testfixtures
|
|
2
2
|
|
|
3
|
+
## 0.5.1
|
|
4
|
+
|
|
5
|
+
* Bump hashie dependency for compatibility with latest chefdk (Thanks to
|
|
6
|
+
dougireton and dwmarshall)
|
|
7
|
+
|
|
3
8
|
## 0.5.0
|
|
4
9
|
|
|
5
10
|
* breaking change: by default, only stub calls to `ChefVault::Item.load(bag, item)` and `Chef::DataBag.load(bag).key?(item_keys)`. This allows people who are using the JSON files in test/integration/data_bags to stub unencrypted data bag to do so. See the README for details of how to continue to stub `ChefVault::DataBagItem.load(bag, item)` and return a fake hash. Reported by [Dru Goradia](https://github.com/dgoradia-atlas))
|
data/Rakefile
CHANGED
|
@@ -1,89 +1,89 @@
|
|
|
1
|
-
require
|
|
1
|
+
require "chef-vault/test_fixtures"
|
|
2
2
|
|
|
3
3
|
begin
|
|
4
|
-
require
|
|
5
|
-
require
|
|
4
|
+
require "hoe"
|
|
5
|
+
require "hoe/markdown"
|
|
6
6
|
Hoe.plugin :gemspec
|
|
7
7
|
Hoe.plugin :markdown
|
|
8
8
|
Hoe.plugins.delete :test
|
|
9
|
-
Hoe.spec
|
|
9
|
+
Hoe.spec "chef-vault-testfixtures" do |s|
|
|
10
10
|
s.version = ChefVault::TestFixtures::VERSION
|
|
11
|
-
developer
|
|
12
|
-
license
|
|
13
|
-
extra_deps << [
|
|
14
|
-
extra_deps << [
|
|
15
|
-
extra_deps << [
|
|
16
|
-
extra_dev_deps << [
|
|
17
|
-
extra_dev_deps << [
|
|
18
|
-
extra_dev_deps << [
|
|
19
|
-
extra_dev_deps << [
|
|
20
|
-
extra_dev_deps << [
|
|
21
|
-
extra_dev_deps << [
|
|
22
|
-
extra_dev_deps << [
|
|
23
|
-
extra_dev_deps << [
|
|
24
|
-
extra_dev_deps << [
|
|
25
|
-
extra_dev_deps << [
|
|
26
|
-
extra_dev_deps << [
|
|
27
|
-
extra_dev_deps << [
|
|
28
|
-
extra_dev_deps << [
|
|
29
|
-
extra_dev_deps << [
|
|
30
|
-
extra_dev_deps << ['yard', '~> 0.8']
|
|
11
|
+
developer "James FitzGibbon", "james.i.fitzgibbon@nordstrom.com"
|
|
12
|
+
license "apache2"
|
|
13
|
+
extra_deps << ["rspec", "~> 3.1"]
|
|
14
|
+
extra_deps << ["chef-vault", "~> 2.5"]
|
|
15
|
+
extra_deps << ["hashie", ">= 2.0", "< 4.0"]
|
|
16
|
+
extra_dev_deps << ["chef", "~> 12.0"]
|
|
17
|
+
extra_dev_deps << ["hoe", "~> 3.13"]
|
|
18
|
+
extra_dev_deps << ["hoe-gemspec", "~> 1.0"]
|
|
19
|
+
extra_dev_deps << ["rake", "~> 10.3"]
|
|
20
|
+
extra_dev_deps << ["rspec", "~> 3.1"]
|
|
21
|
+
extra_dev_deps << ["guard", "~> 2.12"]
|
|
22
|
+
extra_dev_deps << ["guard-rspec", "~> 4.2"]
|
|
23
|
+
extra_dev_deps << ["guard-rake", "~> 0.0"]
|
|
24
|
+
extra_dev_deps << ["guard-rubocop", "~> 1.2"]
|
|
25
|
+
extra_dev_deps << ["chefspec", "~> 4.2"]
|
|
26
|
+
extra_dev_deps << ["berkshelf", "~> 4.0"]
|
|
27
|
+
extra_dev_deps << ["simplecov", "~> 0.9"]
|
|
28
|
+
extra_dev_deps << ["simplecov-console", "~> 0.2"]
|
|
29
|
+
extra_dev_deps << ["yard", "~> 0.8"]
|
|
31
30
|
end
|
|
32
31
|
# re-generate our gemspec before packaging
|
|
33
|
-
task package:
|
|
32
|
+
task package: "gem:spec"
|
|
34
33
|
rescue LoadError
|
|
35
|
-
puts
|
|
34
|
+
puts "hoe not available; disabling tasks"
|
|
36
35
|
end
|
|
37
36
|
|
|
38
37
|
# Style Tests
|
|
39
38
|
begin
|
|
40
|
-
require
|
|
39
|
+
require "chefstyle"
|
|
40
|
+
require "rubocop/rake_task"
|
|
41
41
|
RuboCop::RakeTask.new do |t|
|
|
42
|
-
t.formatters = [
|
|
43
|
-
t.options = [
|
|
44
|
-
t.patterns = %w
|
|
42
|
+
t.formatters = ["progress"]
|
|
43
|
+
t.options = ["-D"]
|
|
44
|
+
t.patterns = %w{
|
|
45
45
|
bin/*
|
|
46
46
|
lib/**/*.rb
|
|
47
47
|
spec/**/*.rb
|
|
48
48
|
./Rakefile
|
|
49
|
-
|
|
49
|
+
}
|
|
50
50
|
end
|
|
51
|
-
desc
|
|
51
|
+
desc "Run Style Tests"
|
|
52
52
|
task style: [:rubocop]
|
|
53
53
|
rescue LoadError
|
|
54
|
-
puts
|
|
54
|
+
puts "rubocop not available; disabling tasks"
|
|
55
55
|
end
|
|
56
56
|
|
|
57
57
|
# Unit Tests
|
|
58
58
|
begin
|
|
59
|
-
require
|
|
59
|
+
require "rspec/core/rake_task"
|
|
60
60
|
RSpec::Core::RakeTask.new
|
|
61
61
|
|
|
62
62
|
# Coverage
|
|
63
|
-
desc
|
|
63
|
+
desc "Generate unit test coverage report"
|
|
64
64
|
task :coverage do
|
|
65
|
-
ENV[
|
|
65
|
+
ENV["COVERAGE"] = "true"
|
|
66
66
|
Rake::Task[:test].invoke
|
|
67
67
|
end
|
|
68
68
|
|
|
69
69
|
# test is an alias for spec
|
|
70
|
-
desc
|
|
70
|
+
desc "runs unit tests"
|
|
71
71
|
task test: :spec
|
|
72
72
|
|
|
73
73
|
# default is to test everything
|
|
74
|
-
desc
|
|
74
|
+
desc "runs all tests"
|
|
75
75
|
task default: :test
|
|
76
76
|
rescue LoadError
|
|
77
|
-
puts
|
|
77
|
+
puts "rspec not available; disabling tasks"
|
|
78
78
|
end
|
|
79
79
|
|
|
80
80
|
# Documentation
|
|
81
81
|
begin
|
|
82
|
-
require
|
|
83
|
-
require
|
|
82
|
+
require "yard"
|
|
83
|
+
require "yard/rake/yardoc_task"
|
|
84
84
|
YARD::Rake::YardocTask.new(:doc) do |t|
|
|
85
|
-
t.stats_options = [
|
|
85
|
+
t.stats_options = ["--list-undoc"]
|
|
86
86
|
end
|
|
87
87
|
rescue LoadError
|
|
88
|
-
puts
|
|
88
|
+
puts "yard not available; disabling tasks"
|
|
89
89
|
end
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
|
2
|
-
# stub: chef-vault-testfixtures 0.
|
|
2
|
+
# stub: chef-vault-testfixtures 0.5.1.20160204143606 ruby lib
|
|
3
3
|
|
|
4
4
|
Gem::Specification.new do |s|
|
|
5
5
|
s.name = "chef-vault-testfixtures"
|
|
6
|
-
s.version = "0.
|
|
6
|
+
s.version = "0.5.1.20160204143606"
|
|
7
7
|
|
|
8
8
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
9
9
|
s.require_paths = ["lib"]
|
|
10
10
|
s.authors = ["James FitzGibbon"]
|
|
11
|
-
s.date = "
|
|
11
|
+
s.date = "2016-02-04"
|
|
12
12
|
s.description = "chef-vault-testfixtures provides an RSpec shared context that\nstubs access to chef-vault encrypted data bags using the same\nfallback mechanism as the `chef_vault_item` helper from the\n[chef-vault cookbook](https://supermarket.chef.io/cookbooks/chef-vault)"
|
|
13
13
|
s.email = ["james.i.fitzgibbon@nordstrom.com"]
|
|
14
14
|
s.extra_rdoc_files = ["History.md", "Manifest.txt", "README.md"]
|
|
@@ -16,7 +16,7 @@ Gem::Specification.new do |s|
|
|
|
16
16
|
s.homepage = "https://github.com/Nordstrom/chef-vault-testfixtures"
|
|
17
17
|
s.licenses = ["apache2"]
|
|
18
18
|
s.rdoc_options = ["--main", "README.md"]
|
|
19
|
-
s.rubygems_version = "2.4.
|
|
19
|
+
s.rubygems_version = "2.4.5.1"
|
|
20
20
|
s.summary = "chef-vault-testfixtures provides an RSpec shared context that stubs access to chef-vault encrypted data bags using the same fallback mechanism as the `chef_vault_item` helper from the [chef-vault cookbook](https://supermarket.chef.io/cookbooks/chef-vault)"
|
|
21
21
|
|
|
22
22
|
if s.respond_to? :specification_version then
|
|
@@ -25,7 +25,7 @@ Gem::Specification.new do |s|
|
|
|
25
25
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
|
26
26
|
s.add_runtime_dependency(%q<rspec>, ["~> 3.1"])
|
|
27
27
|
s.add_runtime_dependency(%q<chef-vault>, ["~> 2.5"])
|
|
28
|
-
s.add_runtime_dependency(%q<hashie>, ["
|
|
28
|
+
s.add_runtime_dependency(%q<hashie>, ["< 4.0", ">= 2.0"])
|
|
29
29
|
s.add_development_dependency(%q<rdoc>, ["~> 4.0"])
|
|
30
30
|
s.add_development_dependency(%q<chef>, ["~> 12.0"])
|
|
31
31
|
s.add_development_dependency(%q<hoe>, ["~> 3.13"])
|
|
@@ -36,15 +36,14 @@ Gem::Specification.new do |s|
|
|
|
36
36
|
s.add_development_dependency(%q<guard-rake>, ["~> 0.0"])
|
|
37
37
|
s.add_development_dependency(%q<guard-rubocop>, ["~> 1.2"])
|
|
38
38
|
s.add_development_dependency(%q<chefspec>, ["~> 4.2"])
|
|
39
|
-
s.add_development_dependency(%q<berkshelf>, ["~>
|
|
40
|
-
s.add_development_dependency(%q<rubocop>, ["~> 0.29"])
|
|
39
|
+
s.add_development_dependency(%q<berkshelf>, ["~> 4.0"])
|
|
41
40
|
s.add_development_dependency(%q<simplecov>, ["~> 0.9"])
|
|
42
41
|
s.add_development_dependency(%q<simplecov-console>, ["~> 0.2"])
|
|
43
42
|
s.add_development_dependency(%q<yard>, ["~> 0.8"])
|
|
44
43
|
else
|
|
45
44
|
s.add_dependency(%q<rspec>, ["~> 3.1"])
|
|
46
45
|
s.add_dependency(%q<chef-vault>, ["~> 2.5"])
|
|
47
|
-
s.add_dependency(%q<hashie>, ["
|
|
46
|
+
s.add_dependency(%q<hashie>, ["< 4.0", ">= 2.0"])
|
|
48
47
|
s.add_dependency(%q<rdoc>, ["~> 4.0"])
|
|
49
48
|
s.add_dependency(%q<chef>, ["~> 12.0"])
|
|
50
49
|
s.add_dependency(%q<hoe>, ["~> 3.13"])
|
|
@@ -55,8 +54,7 @@ Gem::Specification.new do |s|
|
|
|
55
54
|
s.add_dependency(%q<guard-rake>, ["~> 0.0"])
|
|
56
55
|
s.add_dependency(%q<guard-rubocop>, ["~> 1.2"])
|
|
57
56
|
s.add_dependency(%q<chefspec>, ["~> 4.2"])
|
|
58
|
-
s.add_dependency(%q<berkshelf>, ["~>
|
|
59
|
-
s.add_dependency(%q<rubocop>, ["~> 0.29"])
|
|
57
|
+
s.add_dependency(%q<berkshelf>, ["~> 4.0"])
|
|
60
58
|
s.add_dependency(%q<simplecov>, ["~> 0.9"])
|
|
61
59
|
s.add_dependency(%q<simplecov-console>, ["~> 0.2"])
|
|
62
60
|
s.add_dependency(%q<yard>, ["~> 0.8"])
|
|
@@ -64,7 +62,7 @@ Gem::Specification.new do |s|
|
|
|
64
62
|
else
|
|
65
63
|
s.add_dependency(%q<rspec>, ["~> 3.1"])
|
|
66
64
|
s.add_dependency(%q<chef-vault>, ["~> 2.5"])
|
|
67
|
-
s.add_dependency(%q<hashie>, ["
|
|
65
|
+
s.add_dependency(%q<hashie>, ["< 4.0", ">= 2.0"])
|
|
68
66
|
s.add_dependency(%q<rdoc>, ["~> 4.0"])
|
|
69
67
|
s.add_dependency(%q<chef>, ["~> 12.0"])
|
|
70
68
|
s.add_dependency(%q<hoe>, ["~> 3.13"])
|
|
@@ -75,8 +73,7 @@ Gem::Specification.new do |s|
|
|
|
75
73
|
s.add_dependency(%q<guard-rake>, ["~> 0.0"])
|
|
76
74
|
s.add_dependency(%q<guard-rubocop>, ["~> 1.2"])
|
|
77
75
|
s.add_dependency(%q<chefspec>, ["~> 4.2"])
|
|
78
|
-
s.add_dependency(%q<berkshelf>, ["~>
|
|
79
|
-
s.add_dependency(%q<rubocop>, ["~> 0.29"])
|
|
76
|
+
s.add_dependency(%q<berkshelf>, ["~> 4.0"])
|
|
80
77
|
s.add_dependency(%q<simplecov>, ["~> 0.9"])
|
|
81
78
|
s.add_dependency(%q<simplecov-console>, ["~> 0.2"])
|
|
82
79
|
s.add_dependency(%q<yard>, ["~> 0.8"])
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
require
|
|
2
|
-
require
|
|
3
|
-
require
|
|
1
|
+
require "pathname"
|
|
2
|
+
require "json"
|
|
3
|
+
require "hashie/extensions/method_access"
|
|
4
4
|
|
|
5
|
-
require
|
|
6
|
-
require
|
|
7
|
-
require
|
|
5
|
+
require "rspec"
|
|
6
|
+
require "rspec/core/shared_context"
|
|
7
|
+
require "chef-vault"
|
|
8
8
|
|
|
9
9
|
# chef-vault helps manage encrypted data bags using a node's public key
|
|
10
10
|
class ChefVault
|
|
11
11
|
# dynamic RSpec contexts for cookbooks that use chef-vault
|
|
12
12
|
class TestFixtures
|
|
13
13
|
# the version of the gem
|
|
14
|
-
VERSION =
|
|
14
|
+
VERSION = "0.5.1"
|
|
15
15
|
|
|
16
16
|
# dynamically creates a memoized RSpec shared context
|
|
17
17
|
# that when included into an example group will stub
|
|
@@ -41,7 +41,7 @@ class ChefVault
|
|
|
41
41
|
# return [void]
|
|
42
42
|
# @api private
|
|
43
43
|
def find_vaults(stub_encrypted_data)
|
|
44
|
-
dbdir = Pathname.new(
|
|
44
|
+
dbdir = Pathname.new("test") + "integration" + "data_bags"
|
|
45
45
|
dbdir.each_child do |vault|
|
|
46
46
|
next unless vault.directory?
|
|
47
47
|
stub_vault(stub_encrypted_data, vault)
|
|
@@ -88,7 +88,7 @@ class ChefVault
|
|
|
88
88
|
|
|
89
89
|
# stub vault lookup of each of the vault item keys
|
|
90
90
|
content.each do |k, v|
|
|
91
|
-
next if
|
|
91
|
+
next if "id" == k
|
|
92
92
|
allow(vi).to receive(:[]).with(k).and_return(v)
|
|
93
93
|
end
|
|
94
94
|
|
|
@@ -121,10 +121,10 @@ class ChefVault
|
|
|
121
121
|
def stub_vault_item_encrypted_data(vault, item, content)
|
|
122
122
|
# stub data bag lookup of each of the vault item keys
|
|
123
123
|
dbi = ChefVault::TestFixtureDataBagItem.new
|
|
124
|
-
dbi[
|
|
124
|
+
dbi["raw_data"] = content
|
|
125
125
|
content.each_key do |k|
|
|
126
|
-
next if
|
|
127
|
-
dbi[k] = {
|
|
126
|
+
next if "id" == k
|
|
127
|
+
dbi[k] = { "encrypted_data" => "..." }
|
|
128
128
|
end
|
|
129
129
|
|
|
130
130
|
[vault, vault.to_sym].each do |dbname|
|
data/lib/hoe/markdown.rb
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
class Hoe
|
|
2
2
|
module Markdown
|
|
3
3
|
def initialize_markdown
|
|
4
|
-
self.readme_file = readme_file.sub(/\.txt$/,
|
|
5
|
-
self.history_file = history_file.sub(/\.txt$/,
|
|
4
|
+
self.readme_file = readme_file.sub(/\.txt$/, ".md")
|
|
5
|
+
self.history_file = history_file.sub(/\.txt$/, ".md")
|
|
6
6
|
end
|
|
7
7
|
|
|
8
8
|
def define_markdown_tasks
|
|
@@ -1,80 +1,80 @@
|
|
|
1
|
-
require
|
|
1
|
+
require "chef-vault/test_fixtures"
|
|
2
2
|
|
|
3
3
|
RSpec.describe ChefVault::TestFixtures do
|
|
4
|
-
describe
|
|
4
|
+
describe "without the encrypted_data stub" do
|
|
5
5
|
ChefVault::TestFixtures.clear_context
|
|
6
6
|
include ChefVault::TestFixtures.rspec_shared_context(false)
|
|
7
7
|
|
|
8
|
-
it
|
|
8
|
+
it "can create an RSpec shared context" do
|
|
9
9
|
sc = ChefVault::TestFixtures.rspec_shared_context
|
|
10
10
|
expect(sc).to be_a(Module)
|
|
11
11
|
expect(sc).to be_a(RSpec::Core::SharedContext)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
-
it
|
|
14
|
+
it "should only create one shared context" do
|
|
15
15
|
mod1 = ChefVault::TestFixtures.rspec_shared_context
|
|
16
16
|
mod2 = ChefVault::TestFixtures.rspec_shared_context
|
|
17
17
|
expect(mod2).to be(mod1)
|
|
18
18
|
end
|
|
19
19
|
|
|
20
|
-
it
|
|
21
|
-
baz = ChefVault::Item.load(
|
|
20
|
+
it "should stub the foo/bar vault item" do
|
|
21
|
+
baz = ChefVault::Item.load("foo", "bar")["baz"]
|
|
22
22
|
expect(baz).to eq(2)
|
|
23
23
|
end
|
|
24
24
|
|
|
25
|
-
it
|
|
26
|
-
baz = ChefVault::Item.load(:foo,
|
|
25
|
+
it "should allow access to foo/bar via a symbol instead of a string" do
|
|
26
|
+
baz = ChefVault::Item.load(:foo, "bar")["baz"]
|
|
27
27
|
expect(baz).to eq(2)
|
|
28
28
|
end
|
|
29
29
|
|
|
30
|
-
it
|
|
31
|
-
baz = ChefVault::Item.load(
|
|
30
|
+
it "should stub the bar/foo vault item" do
|
|
31
|
+
baz = ChefVault::Item.load("bar", "foo")["baz"]
|
|
32
32
|
expect(baz).to eq(1)
|
|
33
33
|
end
|
|
34
34
|
|
|
35
|
-
it
|
|
36
|
-
item1 = ChefVault::Item.load(
|
|
37
|
-
item2 = ChefVault::Item.load(
|
|
38
|
-
expect(item1[
|
|
35
|
+
it "should allow access to the bar/gzonk vault item" do
|
|
36
|
+
item1 = ChefVault::Item.load("bar", "foo")
|
|
37
|
+
item2 = ChefVault::Item.load("bar", "gzonk")
|
|
38
|
+
expect(item1["baz"]).to eq(item2["baz"])
|
|
39
39
|
end
|
|
40
40
|
|
|
41
|
-
it
|
|
42
|
-
item1 = ChefVault::Item.load(:bar,
|
|
43
|
-
item2 = ChefVault::Item.load(:bar,
|
|
44
|
-
expect(item1[
|
|
41
|
+
it "should allow access to the bar/gzonk vault item via a symbol" do
|
|
42
|
+
item1 = ChefVault::Item.load(:bar, "foo")
|
|
43
|
+
item2 = ChefVault::Item.load(:bar, "gzonk")
|
|
44
|
+
expect(item1["baz"]).to eq(item2["baz"])
|
|
45
45
|
end
|
|
46
46
|
|
|
47
|
-
it
|
|
48
|
-
item = ChefVault::Item.load(
|
|
49
|
-
item[
|
|
47
|
+
it "should allow and ignore an attempt to change a vault" do
|
|
48
|
+
item = ChefVault::Item.load("bar", "foo")
|
|
49
|
+
item["foo"] = "foo"
|
|
50
50
|
end
|
|
51
51
|
|
|
52
|
-
it
|
|
53
|
-
item = ChefVault::Item.load(
|
|
54
|
-
item.clients(
|
|
52
|
+
it "should allow and ignore an attempt to set the clients" do
|
|
53
|
+
item = ChefVault::Item.load("bar", "foo")
|
|
54
|
+
item.clients("*:*")
|
|
55
55
|
end
|
|
56
56
|
|
|
57
|
-
it
|
|
58
|
-
item = ChefVault::Item.load(
|
|
57
|
+
it "should allow and ignore an attempt to save" do
|
|
58
|
+
item = ChefVault::Item.load("bar", "foo")
|
|
59
59
|
item.save
|
|
60
60
|
end
|
|
61
61
|
|
|
62
|
-
it
|
|
63
|
-
db = Chef::DataBag.load(
|
|
64
|
-
expect(db.key?(
|
|
62
|
+
it "should stub the _keys data bag item" do
|
|
63
|
+
db = Chef::DataBag.load("foo")
|
|
64
|
+
expect(db.key?("bar_keys")).to be_truthy
|
|
65
65
|
end
|
|
66
66
|
end
|
|
67
67
|
end
|
|
68
68
|
|
|
69
69
|
RSpec.describe ChefVault::TestFixtures do
|
|
70
|
-
describe
|
|
70
|
+
describe "with the encrypted_data stub" do
|
|
71
71
|
ChefVault::TestFixtures.clear_context
|
|
72
72
|
include ChefVault::TestFixtures.rspec_shared_context(true)
|
|
73
73
|
|
|
74
|
-
it
|
|
75
|
-
dbi = Chef::DataBagItem.load(
|
|
74
|
+
it "should present the foo/bar data bag item as encrypted" do
|
|
75
|
+
dbi = Chef::DataBagItem.load("foo", "bar")
|
|
76
76
|
encrypted = dbi.detect do |_, v|\
|
|
77
|
-
v.is_a?(Hash) && v.key?(
|
|
77
|
+
v.is_a?(Hash) && v.key?("encrypted_data")
|
|
78
78
|
end
|
|
79
79
|
expect(encrypted).to be_truthy
|
|
80
80
|
end
|
data/spec/spec_helper.rb
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
if ENV[
|
|
2
|
-
require
|
|
3
|
-
require
|
|
1
|
+
if ENV["COVERAGE"]
|
|
2
|
+
require "simplecov"
|
|
3
|
+
require "simplecov-console"
|
|
4
4
|
SimpleCov.formatters = [
|
|
5
5
|
SimpleCov::Formatter::HTMLFormatter,
|
|
6
|
-
SimpleCov::Formatter::Console
|
|
6
|
+
SimpleCov::Formatter::Console,
|
|
7
7
|
]
|
|
8
8
|
SimpleCov.start
|
|
9
9
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: chef-vault-testfixtures
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.5.
|
|
4
|
+
version: 0.5.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- James FitzGibbon
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2016-02-04 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rspec
|
|
@@ -42,16 +42,22 @@ dependencies:
|
|
|
42
42
|
name: hashie
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
|
-
- - "
|
|
45
|
+
- - ">="
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: '2.0'
|
|
48
|
+
- - "<"
|
|
46
49
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '
|
|
50
|
+
version: '4.0'
|
|
48
51
|
type: :runtime
|
|
49
52
|
prerelease: false
|
|
50
53
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
54
|
requirements:
|
|
52
|
-
- - "
|
|
55
|
+
- - ">="
|
|
56
|
+
- !ruby/object:Gem::Version
|
|
57
|
+
version: '2.0'
|
|
58
|
+
- - "<"
|
|
53
59
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: '
|
|
60
|
+
version: '4.0'
|
|
55
61
|
- !ruby/object:Gem::Dependency
|
|
56
62
|
name: rdoc
|
|
57
63
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -198,28 +204,14 @@ dependencies:
|
|
|
198
204
|
requirements:
|
|
199
205
|
- - "~>"
|
|
200
206
|
- !ruby/object:Gem::Version
|
|
201
|
-
version: '
|
|
202
|
-
type: :development
|
|
203
|
-
prerelease: false
|
|
204
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
205
|
-
requirements:
|
|
206
|
-
- - "~>"
|
|
207
|
-
- !ruby/object:Gem::Version
|
|
208
|
-
version: '3.2'
|
|
209
|
-
- !ruby/object:Gem::Dependency
|
|
210
|
-
name: rubocop
|
|
211
|
-
requirement: !ruby/object:Gem::Requirement
|
|
212
|
-
requirements:
|
|
213
|
-
- - "~>"
|
|
214
|
-
- !ruby/object:Gem::Version
|
|
215
|
-
version: '0.29'
|
|
207
|
+
version: '4.0'
|
|
216
208
|
type: :development
|
|
217
209
|
prerelease: false
|
|
218
210
|
version_requirements: !ruby/object:Gem::Requirement
|
|
219
211
|
requirements:
|
|
220
212
|
- - "~>"
|
|
221
213
|
- !ruby/object:Gem::Version
|
|
222
|
-
version: '0
|
|
214
|
+
version: '4.0'
|
|
223
215
|
- !ruby/object:Gem::Dependency
|
|
224
216
|
name: simplecov
|
|
225
217
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -312,7 +304,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
312
304
|
version: '0'
|
|
313
305
|
requirements: []
|
|
314
306
|
rubyforge_project:
|
|
315
|
-
rubygems_version: 2.4.
|
|
307
|
+
rubygems_version: 2.4.5.1
|
|
316
308
|
signing_key:
|
|
317
309
|
specification_version: 4
|
|
318
310
|
summary: chef-vault-testfixtures provides an RSpec shared context that stubs access
|