chef-zero-scheduled-task 0.0.6 → 0.0.7.dev

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: e8bc9c44150d77a20775554ae7f7f954e60c1ff7
4
- data.tar.gz: 0cab201f160c118a48b4329fdce04e7b41f581af
3
+ metadata.gz: 8117747c819d4f31c7f77aae4963ce74c8725f8f
4
+ data.tar.gz: f5720d725bf9275e5c15d1e7b788f278b7d60c57
5
5
  SHA512:
6
- metadata.gz: 3c8b872af54cf9df36ad9329bccd32546c8d085bb7b5aea3cc8b6bb45093555965d8460b108c8ee72eba354e859fe93b346d281fb39dcf76c3ee8e48b42da81a
7
- data.tar.gz: 7a47a88030ebe4f96b0eadea92b4c4008f57ff675aaa8cdffdd52eebd5e75088576366adf035252c16cfde71e73da4eed0b6b0b3350fa89288d0c7201d8979b8
6
+ metadata.gz: 206da575b7737e8cb185748a06b19f87fcdc909ce9f41b5d5bf066058792af20788f863c0c62182b2372b0fcab78b8d353fb0d3c6f214539005b4dd8f6e97210
7
+ data.tar.gz: c1b6fff9b97504421e484cffc1e92995f66aab0e5f0846f299fdd24ed6e8e0170399e0d4ed25b1508a7241ab57f6a0ddae868bfe9fc94b9e137a21160439a7ae
data/.cane ADDED
@@ -0,0 +1,7 @@
1
+ --abc-max 20
2
+ --style-measure 100
3
+ --abc-exclude Kitchen::ThorTasks#define
4
+ --abc-exclude Kitchen::Driver::SSHBase#converge
5
+ --abc-exclude Kitchen::Driver::SSHBase#verify
6
+ --style-exclude lib/vendor/**/*.rb
7
+ --doc-exclude lib/vendor/**/.rb
data/.rubocop.yml ADDED
@@ -0,0 +1,3 @@
1
+ Style/FileName:
2
+ Exclude:
3
+ - 'support/**/*'
data/.yardopts ADDED
@@ -0,0 +1,3 @@
1
+ --readme README.md
2
+ --markup markdown
3
+ --markup-provider maruku
data/Gemfile CHANGED
@@ -1,4 +1,15 @@
1
- source 'https://rubygems.org'
1
+ source "https://rubygems.org"
2
2
 
3
3
  # Specify your gem's dependencies in chef-zero-scheduled-task.gemspec
4
4
  gemspec
5
+
6
+ group :guard do
7
+ gem "guard-minitest"
8
+ gem "guard-cucumber", "~> 1.4"
9
+ gem "guard-rubocop"
10
+ gem "guard-yard"
11
+ end
12
+
13
+ group :test do
14
+ gem "codeclimate-test-reporter", :require => nil
15
+ end
data/Rakefile CHANGED
@@ -9,44 +9,59 @@ Rake::TestTask.new(:unit) do |t|
9
9
  t.verbose = true
10
10
  end
11
11
 
12
+ require "cucumber"
13
+ require "cucumber/rake/task"
14
+ Cucumber::Rake::Task.new(:features) do |t|
15
+ t.cucumber_opts = ["features", "-x", "--format progress", "--no-color"]
16
+ end
17
+
12
18
  desc "Run all test suites"
13
- task :test => [:unit]
19
+ task :test => [:unit] #[:unit, :features]
14
20
 
15
21
  desc "Display LOC stats"
16
22
  task :stats do
17
23
  puts "\n## Production Code Stats"
18
- sh "countloc -r lib"
24
+ sh "countloc -r lib/kitchen lib/kitchen.rb"
19
25
  puts "\n## Test Code Stats"
20
- sh "countloc -r spec"
26
+ sh "countloc -r spec features"
21
27
  end
22
28
 
23
29
  require "finstyle"
24
30
  require "rubocop/rake_task"
25
31
  RuboCop::RakeTask.new(:style) do |task|
26
- task.options << "--display-cop-names"
27
- task.options << "--lint"
28
- task.options << '--config' << '.rubocop.yml'
29
- task.patterns = ['lib/**/*.rb']
32
+ task.options += ["--display-cop-names", "--no-color"]
30
33
  end
31
34
 
32
- require "cane/rake_task"
33
- desc "Run cane to check quality metrics"
34
- Cane::RakeTask.new do |cane|
35
- cane.canefile = "./.cane"
36
- end
35
+ if RUBY_ENGINE != "jruby"
36
+ require "cane/rake_task"
37
+ desc "Run cane to check quality metrics"
38
+ Cane::RakeTask.new do |cane|
39
+ cane.canefile = "./.cane"
40
+ end
37
41
 
38
- desc "Run all quality tasks"
39
- task :quality => [:cane, :style, :stats]
42
+ desc "Run all quality tasks"
43
+ task :quality => [:cane, :style, :stats]
44
+ else
45
+ desc "Run all quality tasks"
46
+ task :quality => [:style, :stats]
47
+ end
40
48
 
41
49
  require "yard"
42
50
  YARD::Rake::YardocTask.new
43
51
 
44
- desc "Generate gem dependency graph"
45
- task :viz do
46
- Bundler.with_clean_env do
47
- sh "bundle viz --without test development guard " \
48
- "--requirements --version"
52
+ task :default => [:test, :quality]
53
+
54
+ task :deploy_over_dk do
55
+ if RUBY_PLATFORM =~ /mswin|mingw|windows/
56
+ dk_path = File.join(ENV["SYSTEMDRIVE"], "opscode", "chefdk")
57
+ else
58
+ dk_path = "/opt/chefdk"
49
59
  end
60
+
61
+ dk_app_path = File.join(dk_path, %w[embedded apps test-kitchen])
62
+ FileUtils.copy_entry(File.dirname(__FILE__), dk_app_path)
63
+ git_dir = File.join(dk_app_path, ".git")
64
+ FileUtils.rm_rf(git_dir) if Dir.exist?(git_dir)
50
65
  end
51
66
 
52
- task :default => [:test, :quality]
67
+ task :dk_install => [:deploy_over_dk, :install]
@@ -1,7 +1,7 @@
1
1
  # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
2
+ lib = File.expand_path("../lib", __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'chef/zero/scheduled/task/version'
4
+ require "chef/zero/scheduled/task/version"
5
5
 
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "chef-zero-scheduled-task"
@@ -18,9 +18,28 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_development_dependency "bundler", "~> 1.7"
22
- spec.add_development_dependency "rake", "~> 10.0"
23
- spec.add_development_dependency "pry", "~> 0.10"
24
-
25
21
  spec.add_dependency "test-kitchen", "~> 1.4"
22
+
23
+ spec.add_development_dependency "pry"
24
+ spec.add_development_dependency "winrm-transport", "~> 1.0"
25
+
26
+ spec.add_development_dependency "bundler", "~> 1.3"
27
+ spec.add_development_dependency "rake"
28
+
29
+ spec.add_development_dependency "aruba", "~> 0.7.0"
30
+ spec.add_development_dependency "fakefs", "~> 0.4"
31
+ spec.add_development_dependency "minitest", "~> 5.3"
32
+ spec.add_development_dependency "mocha", "~> 1.1"
33
+
34
+ spec.add_development_dependency "countloc", "~> 0.4"
35
+ spec.add_development_dependency "maruku", "~> 0.6"
36
+ spec.add_development_dependency "simplecov", "~> 0.7"
37
+ spec.add_development_dependency "yard", "~> 0.8"
38
+
39
+ # style and complexity libraries are tightly version pinned as newer releases
40
+ # may introduce new and undesireable style choices which would be immediately
41
+ # enforced in CI
42
+ spec.add_development_dependency "finstyle", "1.5.0"
43
+ spec.add_development_dependency "cane", "2.6.2"
44
+
26
45
  end
@@ -2,7 +2,7 @@ module Chef
2
2
  module Zero
3
3
  module Scheduled
4
4
  module Task
5
- VERSION = "0.0.6"
5
+ VERSION = "0.0.7.dev"
6
6
  end
7
7
  end
8
8
  end
@@ -16,7 +16,7 @@
16
16
  # See the License for the specific language governing permissions and
17
17
  # limitations under the License.
18
18
 
19
- require 'kitchen/provisioner/chef_zero'
19
+ require "kitchen/provisioner/chef_zero"
20
20
 
21
21
  module Kitchen
22
22
  module Provisioner
@@ -44,7 +44,7 @@ module Kitchen
44
44
  # assuming a version of Chef with local mode.
45
45
  def prepare_command
46
46
  return unless windows_os?
47
- info('Creating a script to run chef client.')
47
+ info("Creating a script to run chef client.")
48
48
  wrap_shell_code(scheduled_task_command)
49
49
  end
50
50
 
@@ -52,39 +52,53 @@ module Kitchen
52
52
  wrap_shell_code(run_scheduled_task_command)
53
53
  end
54
54
 
55
- private
55
+ #private
56
56
 
57
- def resolve_username_and_password
58
- unless config[:task_username] && config[:task_password]
59
- local_state_file = @instance.diagnose[:state_file]
57
+ def local_state_file
58
+ @local_state_file ||= @instance.diagnose[:state_file]
59
+ end
60
+ def resolve_username
61
+ if config[:task_username]
62
+ config[:task_username]
63
+ else
64
+ if local_state_file.key?(:username)
65
+ local_state_file[:username]
66
+ else
67
+ @instance.transport[:username]
68
+ end
69
+ end
70
+ end
71
+
72
+ def resolve_password
73
+ unless config[:task_password]
60
74
  if local_state_file.key?(:password)
61
- config[:task_username] = local_state_file[:username]
62
- config[:task_password] = local_state_file[:password]
75
+ local_state_file[:password]
63
76
  else
64
- config[:task_username] = @instance.transport[:username]
65
- config[:task_password] = @instance.transport[:password]
77
+ @instance.transport[:password]
66
78
  end
67
79
  end
68
80
  end
69
81
 
82
+ def resolve_username_and_password
83
+ @task_username = resolve_username
84
+ @task_password = resolve_password
85
+ end
86
+
70
87
  def run_scheduled_task_command
71
88
  <<-EOH
72
89
  try {
73
- $npipeServer = new-object System.IO.Pipes.NamedPipeServerStream( 'task', [System.IO.Pipes.PipeDirection]::In)
90
+ $npipeServer = new-object System.IO.Pipes.NamedPipeServerStream(
91
+ 'task', [System.IO.Pipes.PipeDirection]::In)
74
92
  $pipeReader = new-object System.IO.StreamReader($npipeServer)
75
93
  schtasks /run /tn "chef-tk"
76
94
  $npipeserver.waitforconnection()
77
95
  $host.ui.writeline('Connected to the scheduled task.')
78
- while ($npipeserver.IsConnected) {
96
+ while ($npipeserver.IsConnected) {
79
97
  $output = $pipereader.ReadLine()
80
98
  if ($output -like 'SCHEDULED_TASK_DONE:*') {
81
99
  $exit_code = ($output -replace 'SCHEDULED_TASK_DONE:').trim()
82
100
  }
83
- else {
84
- $host.ui.WriteLine($output)
85
- }
86
- }
87
- }
101
+ else { $host.ui.WriteLine($output) } } }
88
102
  finally {
89
103
  $pipereader.dispose()
90
104
  $npipeserver.dispose()
@@ -94,10 +108,15 @@ module Kitchen
94
108
  end
95
109
 
96
110
  def setup_scheduled_task_command
111
+ schtasks_cmd = 'schtasks /create /tn "chef-tk"'
112
+ schtasks_user = "/ru '#{@task_username}'" /
113
+ " /rp '#{@task_password}'"
114
+ schtasks_timing = "/sc daily /st 00:00 /f"
97
115
  <<-EOH
98
- $cmd_path = "#{remote_path_join(config[:root_path], 'chef-client-script.ps1')}"
99
- $cmd_line = $executioncontext.invokecommand.expandstring("powershell -executionpolicy unrestricted -File $cmd_path")
100
- schtasks /create /tn "chef-tk" /ru '#{config[:task_username]}' /rp '#{config[:task_password]}' /sc daily /st 00:00 /f /tr "$cmd_line"
116
+ $cmd_path = "#{remote_path_join(config[:root_path], "chef-client-script.ps1")}"
117
+ $cmd_line = $executioncontext.invokecommand.expandstring(
118
+ "powershell -executionpolicy unrestricted -File $cmd_path")
119
+ #{schtasks_cmd} #{schtasks_user} #{schtasks_timing} /tr "$cmd_line"
101
120
  EOH
102
121
  end
103
122
 
@@ -105,21 +124,24 @@ module Kitchen
105
124
  <<-EOH
106
125
  $pre_cmd = '$env:temp = "' + $env:temp + '"' + ";"
107
126
  $pre_cmd += 'start-sleep -seconds 5;'
108
- $pre_cmd += '$npipeClient = new-object System.IO.Pipes.NamedPipeClientStream( $env:ComputerName,'
109
- $pre_cmd += '"task", [System.IO.Pipes.PipeDirection]::Out); $npipeclient.connect();'
127
+ $pre_cmd += '$npipeClient = new-object System.IO.Pipes.NamedPipeClientStream('
128
+ $pre_cmd += '$env:ComputerName,"task", [System.IO.Pipes.PipeDirection]::Out);'
129
+ $pre_cmd += '$npipeclient.connect();'
110
130
  $pre_cmd += '$pipeWriter = new-object System.IO.StreamWriter($npipeClient);'
111
131
  $pre_cmd += '$pipeWriter.AutoFlush = $true'
112
- $cmd_path = "#{remote_path_join(config[:root_path], 'chef-client-script.ps1')}"
132
+ $cmd_path = "#{remote_path_join(config[:root_path], "chef-client-script.ps1")}"
113
133
  $cmd_to_eval = gc $cmd_path -readcount 0 | out-string
114
134
  $cmd = $executioncontext.invokecommand.expandstring($cmd_to_eval) -replace '\r\n'
115
- $cmd = "$cmd | " + '% {} {$pipewriter.writeline($_)} {$pipewriter.writeline("SCHEDULED_TASK_DONE: $LastExitCode");$pipewriter.dispose();$npipeclient.dispose()}'
135
+ $cmd = "$cmd | " +
136
+ '% {} {$pipewriter.writeline($_)} {$pipewriter.writeline("SCHEDULED_TASK_DONE:' +
137
+ '$LastExitCode");$pipewriter.dispose();$npipeclient.dispose()}'
116
138
  $pre_cmd, $cmd | out-file $cmd_path
117
139
  EOH
118
140
  end
119
141
 
120
142
  def prepare_client_zero_script
121
- cmd = [local_mode_command, *chef_client_args].join(' ')
122
- File.open(File.join(sandbox_path, 'chef-client-script.ps1'), 'w') do |file|
143
+ cmd = [local_mode_command, *chef_client_args].join(" ")
144
+ File.open(File.join(sandbox_path, "chef-client-script.ps1"), "w") do |file|
123
145
  file.write(cmd)
124
146
  end
125
147
  end
@@ -127,10 +149,10 @@ module Kitchen
127
149
  def chef_client_args
128
150
  level = config[:log_level] == :info ? :info : config[:log_level]
129
151
  args = [
130
- "--config #{remote_path_join(config[:root_path], 'client.rb')}",
152
+ "--config #{remote_path_join(config[:root_path], "client.rb")}",
131
153
  "--log_level #{level}",
132
- '--force-formatter',
133
- '--no-color'
154
+ "--force-formatter",
155
+ "--no-color"
134
156
  ]
135
157
  add_optional_chef_client_args!(args)
136
158
 
@@ -0,0 +1,58 @@
1
+ require_relative "../../spec_helper"
2
+
3
+ require 'pry'
4
+ require "kitchen"
5
+ require "kitchen/provisioner/chef_zero_scheduled_task"
6
+
7
+ describe Kitchen::Provisioner::ChefZeroScheduledTask do
8
+
9
+ let(:logged_output) { StringIO.new }
10
+ let(:logger) { Logger.new(logged_output) }
11
+ let(:platform) { stub(:os_type => "windows",
12
+ :shell_type => "powershell") }
13
+ let(:suite) { stub(:name => "fries") }
14
+ let(:transport) { { :username => "Administrator",
15
+ :password => "P@ssw0rd" } }
16
+
17
+ let(:config) do
18
+ { :test_base_path => "/b", :kitchen_root => "/r", :log_level => :info }
19
+ end
20
+
21
+ let(:instance) do
22
+ stub(
23
+ :name => "coolbeans",
24
+ :logger => logger,
25
+ :suite => suite,
26
+ :platform => platform,
27
+ :transport => transport,
28
+ :diagnose => { :state_file => {:hostname => "Blah"} }
29
+ )
30
+ end
31
+
32
+
33
+ let(:provisioner) do
34
+ Kitchen::Provisioner::ChefZeroScheduledTask.new(config).finalize_config!(instance)
35
+ end
36
+
37
+ it "provisioner api_version is 2" do
38
+ provisioner.diagnose_plugin[:api_version].must_equal 2
39
+ end
40
+
41
+ it "plugin_version is set to Kitchen::VERSION" do
42
+ provisioner.diagnose_plugin[:version].must_equal Kitchen::VERSION
43
+ end
44
+
45
+ describe 'when username is not provided by the driver or task_username' do
46
+
47
+ it 'is resolved from the transport' do
48
+ provisioner.resolve_username.must_match "Administrator"
49
+ end
50
+
51
+ end
52
+ describe 'when password is not provided by the driver or task_password' do
53
+ # before { transport
54
+ it 'is resolved from the transport' do
55
+ provisioner.resolve_password.must_match "P@ssw0rd"
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,85 @@
1
+ # -*- encoding: utf-8 -*-
2
+ #
3
+ # Author:: Fletcher Nichol (<fnichol@nichol.ca>)
4
+ #
5
+ # Copyright (C) 2012, Fletcher Nichol
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+
19
+ gem "minitest"
20
+
21
+ if ENV["CODECLIMATE_REPO_TOKEN"]
22
+ require "codeclimate-test-reporter"
23
+ CodeClimate::TestReporter.start
24
+ elsif ENV["COVERAGE"]
25
+ require "simplecov"
26
+ SimpleCov.profiles.define "gem" do
27
+ command_name "Specs"
28
+
29
+ add_filter ".gem/"
30
+ add_filter "/spec/"
31
+ add_filter "/lib/vendor/"
32
+
33
+ add_group "Libraries", "/lib/"
34
+ end
35
+ SimpleCov.start "gem"
36
+ end
37
+
38
+ require "fakefs/safe"
39
+ require "minitest/autorun"
40
+ require "mocha/setup"
41
+ require "tempfile"
42
+
43
+ # Nasty hack to redefine IO.read in terms of File#read for fakefs
44
+ class IO
45
+ def self.read(*args)
46
+ length = args[1]
47
+ offset = args[2]
48
+ opt = args[3]
49
+ if length.is_a? Hash
50
+ opt = length
51
+ length = nil
52
+ elsif offset.is_a? Hash
53
+ opt = offset
54
+ end
55
+ if opt && opt.key?(:mode)
56
+ File.open(args[0], opt) { |f| f.read(length) }
57
+ else
58
+ File.open(args[0], "rb", opt) { |f| f.read(length) }
59
+ end
60
+ end
61
+ end
62
+
63
+ def with_fake_fs
64
+ FakeFS.activate!
65
+ FileUtils.mkdir_p("/tmp")
66
+ yield
67
+ FakeFS.deactivate!
68
+ FakeFS::FileSystem.clear
69
+ end
70
+
71
+ def running_tests_on_windows?
72
+ ENV["OS"] == "Windows_NT"
73
+ end
74
+
75
+ def os_safe_root_path(root_path)
76
+ if running_tests_on_windows?
77
+ "#{File.join(ENV["SystemDrive"], root_path)}"
78
+ else
79
+ root_path
80
+ end
81
+ end
82
+
83
+ def padded_octal_string(integer)
84
+ integer.to_s(8).rjust(4, "0")
85
+ end
metadata CHANGED
@@ -1,71 +1,225 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chef-zero-scheduled-task
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7.dev
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steven Murawski
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-31 00:00:00.000000000 Z
11
+ date: 2015-09-10 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: test-kitchen
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.4'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.4'
27
+ - !ruby/object:Gem::Dependency
28
+ name: pry
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: winrm-transport
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.0'
13
55
  - !ruby/object:Gem::Dependency
14
56
  name: bundler
15
57
  requirement: !ruby/object:Gem::Requirement
16
58
  requirements:
17
59
  - - "~>"
18
60
  - !ruby/object:Gem::Version
19
- version: '1.7'
61
+ version: '1.3'
20
62
  type: :development
21
63
  prerelease: false
22
64
  version_requirements: !ruby/object:Gem::Requirement
23
65
  requirements:
24
66
  - - "~>"
25
67
  - !ruby/object:Gem::Version
26
- version: '1.7'
68
+ version: '1.3'
27
69
  - !ruby/object:Gem::Dependency
28
70
  name: rake
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: aruba
29
85
  requirement: !ruby/object:Gem::Requirement
30
86
  requirements:
31
87
  - - "~>"
32
88
  - !ruby/object:Gem::Version
33
- version: '10.0'
89
+ version: 0.7.0
34
90
  type: :development
35
91
  prerelease: false
36
92
  version_requirements: !ruby/object:Gem::Requirement
37
93
  requirements:
38
94
  - - "~>"
39
95
  - !ruby/object:Gem::Version
40
- version: '10.0'
96
+ version: 0.7.0
41
97
  - !ruby/object:Gem::Dependency
42
- name: pry
98
+ name: fakefs
43
99
  requirement: !ruby/object:Gem::Requirement
44
100
  requirements:
45
101
  - - "~>"
46
102
  - !ruby/object:Gem::Version
47
- version: '0.10'
103
+ version: '0.4'
48
104
  type: :development
49
105
  prerelease: false
50
106
  version_requirements: !ruby/object:Gem::Requirement
51
107
  requirements:
52
108
  - - "~>"
53
109
  - !ruby/object:Gem::Version
54
- version: '0.10'
110
+ version: '0.4'
55
111
  - !ruby/object:Gem::Dependency
56
- name: test-kitchen
112
+ name: minitest
57
113
  requirement: !ruby/object:Gem::Requirement
58
114
  requirements:
59
115
  - - "~>"
60
116
  - !ruby/object:Gem::Version
61
- version: '1.4'
62
- type: :runtime
117
+ version: '5.3'
118
+ type: :development
63
119
  prerelease: false
64
120
  version_requirements: !ruby/object:Gem::Requirement
65
121
  requirements:
66
122
  - - "~>"
67
123
  - !ruby/object:Gem::Version
68
- version: '1.4'
124
+ version: '5.3'
125
+ - !ruby/object:Gem::Dependency
126
+ name: mocha
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '1.1'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '1.1'
139
+ - !ruby/object:Gem::Dependency
140
+ name: countloc
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '0.4'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '0.4'
153
+ - !ruby/object:Gem::Dependency
154
+ name: maruku
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '0.6'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: '0.6'
167
+ - !ruby/object:Gem::Dependency
168
+ name: simplecov
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: '0.7'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: '0.7'
181
+ - !ruby/object:Gem::Dependency
182
+ name: yard
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: '0.8'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: '0.8'
195
+ - !ruby/object:Gem::Dependency
196
+ name: finstyle
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - '='
200
+ - !ruby/object:Gem::Version
201
+ version: 1.5.0
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - '='
207
+ - !ruby/object:Gem::Version
208
+ version: 1.5.0
209
+ - !ruby/object:Gem::Dependency
210
+ name: cane
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - '='
214
+ - !ruby/object:Gem::Version
215
+ version: 2.6.2
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - '='
221
+ - !ruby/object:Gem::Version
222
+ version: 2.6.2
69
223
  description: Test-Kitchen Provisioner that runs Chef Zero in a Scheduled Task
70
224
  email:
71
225
  - steven.murawski@gmail.com
@@ -73,13 +227,18 @@ executables: []
73
227
  extensions: []
74
228
  extra_rdoc_files: []
75
229
  files:
230
+ - ".cane"
76
231
  - ".gitignore"
232
+ - ".rubocop.yml"
233
+ - ".yardopts"
77
234
  - Gemfile
78
235
  - README.md
79
236
  - Rakefile
80
237
  - chef-zero-scheduled-task.gemspec
81
238
  - lib/chef/zero/scheduled/task/version.rb
82
239
  - lib/kitchen/provisioner/chef_zero_scheduled_task.rb
240
+ - spec/kitchen/provisioner/chef_zero_scheduled_task_spec.rb
241
+ - spec/spec_helper.rb
83
242
  homepage: https://github.com/smurawski/chef-zero-scheduled-task
84
243
  licenses:
85
244
  - Apache 2
@@ -95,14 +254,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
95
254
  version: '0'
96
255
  required_rubygems_version: !ruby/object:Gem::Requirement
97
256
  requirements:
98
- - - ">="
257
+ - - ">"
99
258
  - !ruby/object:Gem::Version
100
- version: '0'
259
+ version: 1.3.1
101
260
  requirements: []
102
261
  rubyforge_project:
103
262
  rubygems_version: 2.4.4
104
263
  signing_key:
105
264
  specification_version: 4
106
265
  summary: Test-Kitchen Provisioner that runs Chef Zero in a Scheduled Task
107
- test_files: []
266
+ test_files:
267
+ - spec/kitchen/provisioner/chef_zero_scheduled_task_spec.rb
268
+ - spec/spec_helper.rb
108
269
  has_rdoc: