wright 0.2.0 → 0.3.0

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.
Files changed (90) hide show
  1. checksums.yaml +4 -4
  2. data/NEWS.md +8 -0
  3. data/README.md +2 -0
  4. data/Rakefile +6 -0
  5. data/bin/wright +6 -0
  6. data/lib/wright/cli.rb +68 -0
  7. data/lib/wright/dsl.rb +1 -1
  8. data/lib/wright/provider/directory.rb +17 -12
  9. data/lib/wright/provider/file.rb +24 -17
  10. data/lib/wright/provider/group/darwin_directory_service.rb +1 -8
  11. data/lib/wright/provider/group/gnu_passwd.rb +0 -1
  12. data/lib/wright/provider/group.rb +6 -12
  13. data/lib/wright/provider/package/apt.rb +9 -21
  14. data/lib/wright/provider/package/homebrew.rb +5 -18
  15. data/lib/wright/provider/package.rb +22 -11
  16. data/lib/wright/provider/symlink.rb +17 -22
  17. data/lib/wright/provider/user/darwin_directory_service.rb +65 -0
  18. data/lib/wright/provider/user/gnu_passwd.rb +6 -7
  19. data/lib/wright/provider/user.rb +6 -12
  20. data/lib/wright/provider.rb +20 -2
  21. data/lib/wright/resource/directory.rb +19 -20
  22. data/lib/wright/resource/file.rb +19 -15
  23. data/lib/wright/resource/symlink.rb +1 -0
  24. data/lib/wright/resource/user.rb +2 -1
  25. data/lib/wright/resource.rb +1 -1
  26. data/lib/wright/util/file_owner.rb +61 -0
  27. data/lib/wright/util/file_permissions.rb +21 -30
  28. data/lib/wright/util/stolen_from_activesupport.rb +1 -1
  29. data/lib/wright/util/user.rb +48 -23
  30. data/lib/wright/util.rb +10 -6
  31. data/lib/wright/version.rb +1 -1
  32. data/lib/wright.rb +1 -0
  33. data/man/wright.1 +202 -0
  34. data/spec/cli/shebang.rb +3 -0
  35. data/spec/cli_spec.rb +64 -0
  36. data/spec/dsl_spec.rb +8 -3
  37. data/spec/provider/group/darwin_directory_service_spec.rb +3 -2
  38. data/spec/provider/package/apt/apt-cache_policy_abcde.stdout +7 -0
  39. data/spec/provider/package/apt/apt-cache_policy_htop.stdout +6 -0
  40. data/spec/provider/package/apt/apt-cache_policy_not-a-real-package.return +1 -0
  41. data/spec/provider/package/apt_spec.rb +17 -211
  42. data/spec/provider/package/homebrew_spec.rb +11 -164
  43. data/spec/provider/package_spec.rb +151 -7
  44. data/spec/provider/user/darwin_directory_service/dscl-delete-user.return +1 -0
  45. data/spec/provider/user/darwin_directory_service/dscl-delete-user.stderr +0 -0
  46. data/spec/provider/user/darwin_directory_service/dscl-delete-user.stdout +0 -0
  47. data/spec/provider/user/darwin_directory_service/dscl-new-user-full-name.return +1 -0
  48. data/spec/provider/user/darwin_directory_service/dscl-new-user-full-name.stderr +0 -0
  49. data/spec/provider/user/darwin_directory_service/dscl-new-user-full-name.stdout +0 -0
  50. data/spec/provider/user/darwin_directory_service/dscl-new-user-home.return +1 -0
  51. data/spec/provider/user/darwin_directory_service/dscl-new-user-home.stderr +0 -0
  52. data/spec/provider/user/darwin_directory_service/dscl-new-user-home.stdout +0 -0
  53. data/spec/provider/user/darwin_directory_service/dscl-new-user-password.return +1 -0
  54. data/spec/provider/user/darwin_directory_service/dscl-new-user-password.stderr +0 -0
  55. data/spec/provider/user/darwin_directory_service/dscl-new-user-password.stdout +0 -0
  56. data/spec/provider/user/darwin_directory_service/dscl-new-user-primary-group.return +1 -0
  57. data/spec/provider/user/darwin_directory_service/dscl-new-user-primary-group.stderr +0 -0
  58. data/spec/provider/user/darwin_directory_service/dscl-new-user-primary-group.stdout +0 -0
  59. data/spec/provider/user/darwin_directory_service/dscl-new-user-shell.return +1 -0
  60. data/spec/provider/user/darwin_directory_service/dscl-new-user-shell.stderr +0 -0
  61. data/spec/provider/user/darwin_directory_service/dscl-new-user-shell.stdout +0 -0
  62. data/spec/provider/user/darwin_directory_service/dscl-new-user-uid.return +1 -0
  63. data/spec/provider/user/darwin_directory_service/dscl-new-user-uid.stderr +0 -0
  64. data/spec/provider/user/darwin_directory_service/dscl-new-user-uid.stdout +0 -0
  65. data/spec/provider/user/darwin_directory_service_spec.rb +167 -0
  66. data/spec/provider/user/gnu_passwd_spec.rb +5 -5
  67. data/spec/resource/directory_spec.rb +17 -15
  68. data/spec/resource/file_spec.rb +17 -15
  69. data/spec/resource_spec.rb +1 -1
  70. data/spec/spec_helpers/test_coverage.rb +1 -1
  71. data/spec/util/file_owner_spec.rb +36 -0
  72. data/spec/util/file_permissions_spec.rb +6 -6
  73. data/spec/util/user_spec.rb +0 -17
  74. data/spec/util_spec.rb +64 -5
  75. metadata +91 -41
  76. data/spec/provider/package/apt/dpkg-query_-s_abcde.stdout +0 -23
  77. data/spec/provider/package/apt/dpkg-query_-s_htop.stdout +0 -19
  78. data/spec/provider/package/apt/dpkg-query_-s_not-a-real-package.return +0 -1
  79. data/spec/provider/package/apt/dpkg-query_-s_not-a-real-package.stderr +0 -3
  80. data/spec/provider/package/apt/dpkg-query_-s_vlc.return +0 -1
  81. data/spec/provider/package/apt/dpkg-query_-s_vlc.stderr +0 -3
  82. /data/spec/provider/group/darwin_directory_service/{dseditgroup_-o_create_-i_499_newgroup.return → dseditgroup_-o_create_-i_2_newgroup.return} +0 -0
  83. /data/spec/provider/group/darwin_directory_service/{dseditgroup_-o_create_-i_499_newgroup.stderr → dseditgroup_-o_create_-i_2_newgroup.stderr} +0 -0
  84. /data/spec/provider/group/darwin_directory_service/{dseditgroup_-o_create_-i_499_newgroup.stdout → dseditgroup_-o_create_-i_2_newgroup.stdout} +0 -0
  85. /data/spec/provider/package/apt/{dpkg-query_-s_abcde.return → apt-cache_policy_abcde.return} +0 -0
  86. /data/spec/provider/package/apt/{dpkg-query_-s_abcde.stderr → apt-cache_policy_abcde.stderr} +0 -0
  87. /data/spec/provider/package/apt/{dpkg-query_-s_htop.return → apt-cache_policy_htop.return} +0 -0
  88. /data/spec/provider/package/apt/{dpkg-query_-s_htop.stderr → apt-cache_policy_htop.stderr} +0 -0
  89. /data/spec/provider/package/apt/{dpkg-query_-s_not-a-real-package.stdout → apt-cache_policy_not-a-real-package.stderr} +0 -0
  90. /data/spec/provider/package/apt/{dpkg-query_-s_vlc.stdout → apt-cache_policy_not-a-real-package.stdout} +0 -0
@@ -86,21 +86,7 @@ describe Wright::Resource::Directory do
86
86
  end
87
87
  end
88
88
 
89
- it 'should support owner:group notation' do
90
- FakeFS do
91
- FileUtils.mkdir_p(@dirname)
92
- FileUtils.chown(23, 45, @dirname)
93
- owner = Etc.getpwuid(Process.uid).name
94
- group = Etc.getgrgid(Process.gid).name
95
- dir = Wright::Resource::Directory.new(@dirname)
96
- dir.owner = "#{owner}:#{group}"
97
- dir.create
98
- Wright::Util::File.file_owner(@dirname).must_equal Process.uid
99
- Wright::Util::File.file_group(@dirname).must_equal Process.gid
100
- end
101
- end
102
-
103
- it 'should raise an exception when setting an invalid owner or group' do
89
+ it 'should raise an exception when creating dirs with invalid owners' do
104
90
  dir = Wright::Resource::Directory.new(@dirname)
105
91
  user = 'this_user_doesnt_exist'
106
92
  group = 'this_group_doesnt_exist'
@@ -184,4 +170,20 @@ describe Wright::Resource::Directory do
184
170
  end
185
171
  end
186
172
  end
173
+
174
+ describe '#owner=' do
175
+ it 'should support owner:group notation' do
176
+ dir = Wright::Resource::Directory.new(@dirname)
177
+ dir.owner = 'foo:bar'
178
+ dir.owner.must_equal 'foo'
179
+ dir.group.must_equal 'bar'
180
+ dir.group = 'baz'
181
+ dir.group.must_equal 'baz'
182
+ end
183
+
184
+ it 'should reject owner:group strings with invalid notation' do
185
+ dir = Wright::Resource::Directory.new(@dirname)
186
+ -> { dir.owner = 'foo:bar:baz' }.must_raise ArgumentError
187
+ end
188
+ end
187
189
  end
@@ -104,21 +104,7 @@ describe Wright::Resource::File do
104
104
  end
105
105
  end
106
106
 
107
- it 'should support owner:group notation' do
108
- FakeFS do
109
- FileUtils.touch(@filename)
110
- FileUtils.chown(23, 45, @filename)
111
- owner = Etc.getpwuid(Process.uid).name
112
- group = Etc.getgrgid(Process.gid).name
113
- file = Wright::Resource::File.new(@filename)
114
- file.owner = "#{owner}:#{group}"
115
- file.create
116
- Wright::Util::File.file_owner(@filename).must_equal Process.uid
117
- Wright::Util::File.file_group(@filename).must_equal Process.gid
118
- end
119
- end
120
-
121
- it 'should raise an exception when setting invalid an owner/group' do
107
+ it 'should raise an exception when creating files with invalid owners' do
122
108
  file = Wright::Resource::File.new(@filename)
123
109
  user = 'this_user_doesnt_exist'
124
110
  group = 'this_group_doesnt_exist'
@@ -210,4 +196,20 @@ describe Wright::Resource::File do
210
196
  end
211
197
  end
212
198
  end
199
+
200
+ describe '#owner=' do
201
+ it 'should support owner:group notation' do
202
+ file = Wright::Resource::File.new(@filename)
203
+ file.owner = 'foo:bar'
204
+ file.owner.must_equal 'foo'
205
+ file.group.must_equal 'bar'
206
+ file.group = 'baz'
207
+ file.group.must_equal 'baz'
208
+ end
209
+
210
+ it 'should reject owner:group strings with invalid notation' do
211
+ file = Wright::Resource::File.new(@filename)
212
+ -> { file.owner = 'foo:bar:baz' }.must_raise ArgumentError
213
+ end
214
+ end
213
215
  end
@@ -106,7 +106,7 @@ describe Wright::Resource do
106
106
  name = :farnsworth
107
107
  resource = Updater.new(name)
108
108
  resource_info = "#{resource.resource_name} '#{name}'"
109
- output = "INFO: Would trigger update action for #{resource_info}\n"
109
+ output = "INFO: (would) run update action for #{resource_info}\n"
110
110
  lambda do
111
111
  reset_logger
112
112
  resource.on_update = @say_hello
@@ -22,5 +22,5 @@ def measure_coverage
22
22
 
23
23
  ignored_directories = ['/spec/', '/vendor/', '/.bundle/']
24
24
  SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[*formatters]
25
- SimpleCov.start { ignored_directories.each { |dir| add_filter(dir) } }
25
+ SimpleCov.start { add_filter(ignored_directories) }
26
26
  end
@@ -0,0 +1,36 @@
1
+ require_relative '../spec_helper'
2
+
3
+ require 'wright/util/file_owner'
4
+
5
+ describe Wright::Util::FileOwner do
6
+ before(:each) do
7
+ @owner = Wright::Util::FileOwner.new
8
+ end
9
+
10
+ describe '#user_and_group=' do
11
+ it 'should set the user' do
12
+ @owner.group = 'group'
13
+ @owner.user_and_group = 'user'
14
+ @owner.user.must_equal 'user'
15
+ @owner.group.must_equal 'group'
16
+ end
17
+
18
+ it 'should set the user when given a uid' do
19
+ @owner.user_and_group = 23
20
+ @owner.user.must_equal 23
21
+ end
22
+
23
+ it 'should support user:group notation' do
24
+ @owner.user_and_group = 'user:group'
25
+ @owner.user.must_equal 'user'
26
+ @owner.group.must_equal 'group'
27
+ end
28
+
29
+ it 'should reject user:group strings with invalid notation' do
30
+ invalid_owner = 'user:group:something:else'
31
+ invalid_call = -> { @owner.user_and_group = invalid_owner }
32
+ e = invalid_call.must_raise ArgumentError
33
+ e.message.must_equal "Invalid owner: '#{invalid_owner}'"
34
+ end
35
+ end
36
+ end
@@ -82,12 +82,12 @@ describe FilePermissions do
82
82
  FakeFS do
83
83
  FileUtils.touch(@file_permissions.filename)
84
84
  FileUtils.chown(user1.name, nil, @file_permissions.filename)
85
- @file_permissions.current_owner.must_equal user1.uid
86
- @file_permissions.owner = user2.name
85
+ @file_permissions.current_uid.must_equal user1.uid
86
+ @file_permissions.uid = user2.uid
87
87
  @file_permissions.uptodate?.must_equal false
88
88
  @file_permissions.update
89
89
  @file_permissions.uptodate?.must_equal true
90
- @file_permissions.current_owner.must_equal user2.uid
90
+ @file_permissions.current_uid.must_equal user2.uid
91
91
  end
92
92
  end
93
93
 
@@ -97,12 +97,12 @@ describe FilePermissions do
97
97
  FakeFS do
98
98
  FileUtils.touch(@file_permissions.filename)
99
99
  FileUtils.chown(nil, group1.name, @file_permissions.filename)
100
- @file_permissions.current_group.must_equal group1.gid
101
- @file_permissions.group = group2.name
100
+ @file_permissions.current_gid.must_equal group1.gid
101
+ @file_permissions.gid = group2.gid
102
102
  @file_permissions.uptodate?.must_equal false
103
103
  @file_permissions.update
104
104
  @file_permissions.uptodate?.must_equal true
105
- @file_permissions.current_group.must_equal group2.gid
105
+ @file_permissions.current_gid.must_equal group2.gid
106
106
  end
107
107
  end
108
108
 
@@ -28,21 +28,4 @@ describe Util::User do
28
28
  Util::User.group_to_gid(group.name).must_equal group.gid
29
29
  end
30
30
  end
31
-
32
- describe 'owner_to_owner_group' do
33
- it 'should return non-string owners unmodified' do
34
- Util::User.owner_to_owner_group(23).must_equal [23, nil]
35
- end
36
-
37
- it 'should convert owner strings to [owner, group] arrays' do
38
- Util::User.owner_to_owner_group('foo').must_equal ['foo', nil]
39
- Util::User.owner_to_owner_group('foo:bar').must_equal %w(foo bar)
40
- end
41
-
42
- it 'should raise exceptions for invalid owner strings' do
43
- lambda do
44
- Util::User.owner_to_owner_group('foo:bar:baz')
45
- end.must_raise ArgumentError
46
- end
47
- end
48
31
  end
data/spec/util_spec.rb CHANGED
@@ -3,13 +3,31 @@ require_relative 'spec_helper'
3
3
  require 'minitest/stub_const'
4
4
  require 'wright/util'
5
5
 
6
- def stub_os(target_os)
7
- RbConfig.stub_const(:CONFIG, 'target_os' => target_os) do
8
- yield
6
+ describe Wright::Util do
7
+ def stub_os(target_os)
8
+ RbConfig.stub_const(:CONFIG, 'target_os' => target_os) do
9
+ yield
10
+ end
11
+ end
12
+
13
+ def without_bundler
14
+ if defined?(Bundler)
15
+ Object.stub_remove_const(:Bundler) { yield }
16
+ else
17
+ yield
18
+ end
19
+ end
20
+
21
+ def with_bundler
22
+ if defined?(Bundler)
23
+ yield
24
+ else
25
+ fake_bundler = Class.new
26
+ def fake_bundler.with_clean_env; end
27
+ Object.stub_const(:Bundler, fake_bundler) { yield }
28
+ end
9
29
  end
10
- end
11
30
 
12
- describe Wright::Util do
13
31
  describe 'filename_to_classname' do
14
32
  it 'should convert filenames to class names' do
15
33
  classname = Wright::Util.filename_to_classname('foo_bar/baz')
@@ -44,6 +62,18 @@ ID=ubuntu
44
62
  ID_LIKE=debian
45
63
  PRETTY_NAME="Ubuntu precise (12.04.4 LTS)"
46
64
  VERSION_ID="12.04"
65
+ EOS
66
+ @centos_os_release = <<EOS
67
+ NAME="CentOS Linux"
68
+ VERSION="7 (Core)"
69
+ ID="centos"
70
+ ID_LIKE="rhel fedora"
71
+ VERSION_ID="7"
72
+ PRETTY_NAME="CentOS Linux 7 (Core)"
73
+ ANSI_COLOR="0;31"
74
+ CPE_NAME="cpe:/o:centos:centos:7"
75
+ HOME_URL="https://www.centos.org/"
76
+ BUG_REPORT_URL="https://bugs.centos.org/"
47
77
  EOS
48
78
  end
49
79
 
@@ -67,6 +97,9 @@ EOS
67
97
 
68
98
  File.write('/etc/os-release', @ubuntu_os_release)
69
99
  Wright::Util.os_family.must_equal 'debian'
100
+
101
+ File.write('/etc/os-release', @centos_os_release)
102
+ Wright::Util.os_family.must_equal 'rhel'
70
103
  end
71
104
  end
72
105
  end
@@ -77,4 +110,30 @@ EOS
77
110
  end
78
111
  end
79
112
  end
113
+
114
+ describe 'bundler_clean_env' do
115
+ it 'should call a block when not using bundler' do
116
+ mock = Minitest::Mock.new
117
+
118
+ mock.expect(:inside_block, [])
119
+ without_bundler do
120
+ Wright::Util.bundler_clean_env { mock.inside_block }
121
+ end
122
+ mock.verify
123
+ end
124
+
125
+ it 'should call a block using Bundler.with_clean_env when using bundler' do
126
+ mock = Minitest::Mock.new
127
+ with_clean_env_stub = -> { mock.with_clean_env }
128
+
129
+ mock.expect(:with_clean_env, [])
130
+ mock.expect(:inside_block, [])
131
+ with_bundler do
132
+ Bundler.stub(:with_clean_env, with_clean_env_stub) do
133
+ Wright::Util.bundler_clean_env { mock.inside_block }
134
+ end
135
+ end
136
+ mock.verify
137
+ end
138
+ end
80
139
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wright
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sebastian Boehm
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-13 00:00:00.000000000 Z
11
+ date: 2015-04-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - ~>
18
18
  - !ruby/object:Gem::Version
19
- version: 5.5.1
19
+ version: 5.6.0
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ~>
25
25
  - !ruby/object:Gem::Version
26
- version: 5.5.1
26
+ version: 5.6.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: minitest-stub-const
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ~>
32
32
  - !ruby/object:Gem::Version
33
- version: '0.3'
33
+ version: '0.4'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ~>
39
39
  - !ruby/object:Gem::Version
40
- version: '0.3'
40
+ version: '0.4'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: fakefs
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -100,14 +100,14 @@ dependencies:
100
100
  requirements:
101
101
  - - ~>
102
102
  - !ruby/object:Gem::Version
103
- version: 0.9.2
103
+ version: 0.10.0
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - ~>
109
109
  - !ruby/object:Gem::Version
110
- version: 0.9.2
110
+ version: 0.10.0
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: pry
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -128,19 +128,20 @@ dependencies:
128
128
  requirements:
129
129
  - - ~>
130
130
  - !ruby/object:Gem::Version
131
- version: 0.29.1
131
+ version: 0.30.1
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - ~>
137
137
  - !ruby/object:Gem::Version
138
- version: 0.29.1
138
+ version: 0.30.1
139
139
  description: |
140
140
  Wright is a lightweight configuration management library.
141
141
  email:
142
142
  - sebastian@sometimesfood.org
143
- executables: []
143
+ executables:
144
+ - wright
144
145
  extensions: []
145
146
  extra_rdoc_files: []
146
147
  files:
@@ -149,6 +150,9 @@ files:
149
150
  - CONTRIBUTING.md
150
151
  - LICENSE
151
152
  - NEWS.md
153
+ - man/wright.1
154
+ - bin/wright
155
+ - lib/wright/cli.rb
152
156
  - lib/wright/config.rb
153
157
  - lib/wright/dry_run.rb
154
158
  - lib/wright/dsl.rb
@@ -162,6 +166,7 @@ files:
162
166
  - lib/wright/provider/package/homebrew.rb
163
167
  - lib/wright/provider/package.rb
164
168
  - lib/wright/provider/symlink.rb
169
+ - lib/wright/provider/user/darwin_directory_service.rb
165
170
  - lib/wright/provider/user/gnu_passwd.rb
166
171
  - lib/wright/provider/user.rb
167
172
  - lib/wright/provider.rb
@@ -174,6 +179,7 @@ files:
174
179
  - lib/wright/resource.rb
175
180
  - lib/wright/util/color.rb
176
181
  - lib/wright/util/file.rb
182
+ - lib/wright/util/file_owner.rb
177
183
  - lib/wright/util/file_permissions.rb
178
184
  - lib/wright/util/recursive_autoloader.rb
179
185
  - lib/wright/util/stolen_from_activesupport.rb
@@ -181,6 +187,8 @@ files:
181
187
  - lib/wright/util.rb
182
188
  - lib/wright/version.rb
183
189
  - lib/wright.rb
190
+ - spec/cli/shebang.rb
191
+ - spec/cli_spec.rb
184
192
  - spec/config_spec.rb
185
193
  - spec/dsl_spec.rb
186
194
  - spec/logger_spec.rb
@@ -198,9 +206,9 @@ files:
198
206
  - spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_1234_newgroup.return
199
207
  - spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_1234_newgroup.stderr
200
208
  - spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_1234_newgroup.stdout
201
- - spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_499_newgroup.return
202
- - spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_499_newgroup.stderr
203
- - spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_499_newgroup.stdout
209
+ - spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_2_newgroup.return
210
+ - spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_2_newgroup.stderr
211
+ - spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_2_newgroup.stdout
204
212
  - spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_ERROR_newgroup.return
205
213
  - spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_ERROR_newgroup.stderr
206
214
  - spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_ERROR_newgroup.stdout
@@ -249,6 +257,15 @@ files:
249
257
  - spec/provider/group/gnu_passwd/groupmod_-g_ERROR_foobar.stdout
250
258
  - spec/provider/group/gnu_passwd_spec.rb
251
259
  - spec/provider/group_spec.rb
260
+ - spec/provider/package/apt/apt-cache_policy_abcde.return
261
+ - spec/provider/package/apt/apt-cache_policy_abcde.stderr
262
+ - spec/provider/package/apt/apt-cache_policy_abcde.stdout
263
+ - spec/provider/package/apt/apt-cache_policy_htop.return
264
+ - spec/provider/package/apt/apt-cache_policy_htop.stderr
265
+ - spec/provider/package/apt/apt-cache_policy_htop.stdout
266
+ - spec/provider/package/apt/apt-cache_policy_not-a-real-package.return
267
+ - spec/provider/package/apt/apt-cache_policy_not-a-real-package.stderr
268
+ - spec/provider/package/apt/apt-cache_policy_not-a-real-package.stdout
252
269
  - spec/provider/package/apt/apt-get_install_-qy_abcde=2.5.4-1.return
253
270
  - spec/provider/package/apt/apt-get_install_-qy_abcde=2.5.4-1.stderr
254
271
  - spec/provider/package/apt/apt-get_install_-qy_abcde=2.5.4-1.stdout
@@ -261,18 +278,6 @@ files:
261
278
  - spec/provider/package/apt/apt-get_remove_-qy_abcde.return
262
279
  - spec/provider/package/apt/apt-get_remove_-qy_abcde.stderr
263
280
  - spec/provider/package/apt/apt-get_remove_-qy_abcde.stdout
264
- - spec/provider/package/apt/dpkg-query_-s_abcde.return
265
- - spec/provider/package/apt/dpkg-query_-s_abcde.stderr
266
- - spec/provider/package/apt/dpkg-query_-s_abcde.stdout
267
- - spec/provider/package/apt/dpkg-query_-s_htop.return
268
- - spec/provider/package/apt/dpkg-query_-s_htop.stderr
269
- - spec/provider/package/apt/dpkg-query_-s_htop.stdout
270
- - spec/provider/package/apt/dpkg-query_-s_not-a-real-package.return
271
- - spec/provider/package/apt/dpkg-query_-s_not-a-real-package.stderr
272
- - spec/provider/package/apt/dpkg-query_-s_not-a-real-package.stdout
273
- - spec/provider/package/apt/dpkg-query_-s_vlc.return
274
- - spec/provider/package/apt/dpkg-query_-s_vlc.stderr
275
- - spec/provider/package/apt/dpkg-query_-s_vlc.stdout
276
281
  - spec/provider/package/apt_spec.rb
277
282
  - spec/provider/package/homebrew/brew_info_--json=v1_cd-discid.return
278
283
  - spec/provider/package/homebrew/brew_info_--json=v1_cd-discid.stderr
@@ -295,6 +300,28 @@ files:
295
300
  - spec/provider/package/homebrew_spec.rb
296
301
  - spec/provider/package_spec.rb
297
302
  - spec/provider/symlink_spec.rb
303
+ - spec/provider/user/darwin_directory_service/dscl-delete-user.return
304
+ - spec/provider/user/darwin_directory_service/dscl-delete-user.stderr
305
+ - spec/provider/user/darwin_directory_service/dscl-delete-user.stdout
306
+ - spec/provider/user/darwin_directory_service/dscl-new-user-full-name.return
307
+ - spec/provider/user/darwin_directory_service/dscl-new-user-full-name.stderr
308
+ - spec/provider/user/darwin_directory_service/dscl-new-user-full-name.stdout
309
+ - spec/provider/user/darwin_directory_service/dscl-new-user-home.return
310
+ - spec/provider/user/darwin_directory_service/dscl-new-user-home.stderr
311
+ - spec/provider/user/darwin_directory_service/dscl-new-user-home.stdout
312
+ - spec/provider/user/darwin_directory_service/dscl-new-user-password.return
313
+ - spec/provider/user/darwin_directory_service/dscl-new-user-password.stderr
314
+ - spec/provider/user/darwin_directory_service/dscl-new-user-password.stdout
315
+ - spec/provider/user/darwin_directory_service/dscl-new-user-primary-group.return
316
+ - spec/provider/user/darwin_directory_service/dscl-new-user-primary-group.stderr
317
+ - spec/provider/user/darwin_directory_service/dscl-new-user-primary-group.stdout
318
+ - spec/provider/user/darwin_directory_service/dscl-new-user-shell.return
319
+ - spec/provider/user/darwin_directory_service/dscl-new-user-shell.stderr
320
+ - spec/provider/user/darwin_directory_service/dscl-new-user-shell.stdout
321
+ - spec/provider/user/darwin_directory_service/dscl-new-user-uid.return
322
+ - spec/provider/user/darwin_directory_service/dscl-new-user-uid.stderr
323
+ - spec/provider/user/darwin_directory_service/dscl-new-user-uid.stdout
324
+ - spec/provider/user/darwin_directory_service_spec.rb
298
325
  - spec/provider/user/gnu_passwd/useradd_johndoe.return
299
326
  - spec/provider/user/gnu_passwd/useradd_johndoe.stderr
300
327
  - spec/provider/user/gnu_passwd/useradd_johndoe.stdout
@@ -327,6 +354,7 @@ files:
327
354
  - spec/spec_helpers/fake_capture3.rb
328
355
  - spec/spec_helpers/test_coverage.rb
329
356
  - spec/util/activesupport_spec.rb
357
+ - spec/util/file_owner_spec.rb
330
358
  - spec/util/file_permissions_spec.rb
331
359
  - spec/util/file_spec.rb
332
360
  - spec/util/user_spec.rb
@@ -356,6 +384,8 @@ signing_key:
356
384
  specification_version: 4
357
385
  summary: A lightweight config management library
358
386
  test_files:
387
+ - spec/cli/shebang.rb
388
+ - spec/cli_spec.rb
359
389
  - spec/config_spec.rb
360
390
  - spec/dsl_spec.rb
361
391
  - spec/logger_spec.rb
@@ -373,9 +403,9 @@ test_files:
373
403
  - spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_1234_newgroup.return
374
404
  - spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_1234_newgroup.stderr
375
405
  - spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_1234_newgroup.stdout
376
- - spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_499_newgroup.return
377
- - spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_499_newgroup.stderr
378
- - spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_499_newgroup.stdout
406
+ - spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_2_newgroup.return
407
+ - spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_2_newgroup.stderr
408
+ - spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_2_newgroup.stdout
379
409
  - spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_ERROR_newgroup.return
380
410
  - spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_ERROR_newgroup.stderr
381
411
  - spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_ERROR_newgroup.stdout
@@ -424,6 +454,15 @@ test_files:
424
454
  - spec/provider/group/gnu_passwd/groupmod_-g_ERROR_foobar.stdout
425
455
  - spec/provider/group/gnu_passwd_spec.rb
426
456
  - spec/provider/group_spec.rb
457
+ - spec/provider/package/apt/apt-cache_policy_abcde.return
458
+ - spec/provider/package/apt/apt-cache_policy_abcde.stderr
459
+ - spec/provider/package/apt/apt-cache_policy_abcde.stdout
460
+ - spec/provider/package/apt/apt-cache_policy_htop.return
461
+ - spec/provider/package/apt/apt-cache_policy_htop.stderr
462
+ - spec/provider/package/apt/apt-cache_policy_htop.stdout
463
+ - spec/provider/package/apt/apt-cache_policy_not-a-real-package.return
464
+ - spec/provider/package/apt/apt-cache_policy_not-a-real-package.stderr
465
+ - spec/provider/package/apt/apt-cache_policy_not-a-real-package.stdout
427
466
  - spec/provider/package/apt/apt-get_install_-qy_abcde=2.5.4-1.return
428
467
  - spec/provider/package/apt/apt-get_install_-qy_abcde=2.5.4-1.stderr
429
468
  - spec/provider/package/apt/apt-get_install_-qy_abcde=2.5.4-1.stdout
@@ -436,18 +475,6 @@ test_files:
436
475
  - spec/provider/package/apt/apt-get_remove_-qy_abcde.return
437
476
  - spec/provider/package/apt/apt-get_remove_-qy_abcde.stderr
438
477
  - spec/provider/package/apt/apt-get_remove_-qy_abcde.stdout
439
- - spec/provider/package/apt/dpkg-query_-s_abcde.return
440
- - spec/provider/package/apt/dpkg-query_-s_abcde.stderr
441
- - spec/provider/package/apt/dpkg-query_-s_abcde.stdout
442
- - spec/provider/package/apt/dpkg-query_-s_htop.return
443
- - spec/provider/package/apt/dpkg-query_-s_htop.stderr
444
- - spec/provider/package/apt/dpkg-query_-s_htop.stdout
445
- - spec/provider/package/apt/dpkg-query_-s_not-a-real-package.return
446
- - spec/provider/package/apt/dpkg-query_-s_not-a-real-package.stderr
447
- - spec/provider/package/apt/dpkg-query_-s_not-a-real-package.stdout
448
- - spec/provider/package/apt/dpkg-query_-s_vlc.return
449
- - spec/provider/package/apt/dpkg-query_-s_vlc.stderr
450
- - spec/provider/package/apt/dpkg-query_-s_vlc.stdout
451
478
  - spec/provider/package/apt_spec.rb
452
479
  - spec/provider/package/homebrew/brew_info_--json=v1_cd-discid.return
453
480
  - spec/provider/package/homebrew/brew_info_--json=v1_cd-discid.stderr
@@ -470,6 +497,28 @@ test_files:
470
497
  - spec/provider/package/homebrew_spec.rb
471
498
  - spec/provider/package_spec.rb
472
499
  - spec/provider/symlink_spec.rb
500
+ - spec/provider/user/darwin_directory_service/dscl-delete-user.return
501
+ - spec/provider/user/darwin_directory_service/dscl-delete-user.stderr
502
+ - spec/provider/user/darwin_directory_service/dscl-delete-user.stdout
503
+ - spec/provider/user/darwin_directory_service/dscl-new-user-full-name.return
504
+ - spec/provider/user/darwin_directory_service/dscl-new-user-full-name.stderr
505
+ - spec/provider/user/darwin_directory_service/dscl-new-user-full-name.stdout
506
+ - spec/provider/user/darwin_directory_service/dscl-new-user-home.return
507
+ - spec/provider/user/darwin_directory_service/dscl-new-user-home.stderr
508
+ - spec/provider/user/darwin_directory_service/dscl-new-user-home.stdout
509
+ - spec/provider/user/darwin_directory_service/dscl-new-user-password.return
510
+ - spec/provider/user/darwin_directory_service/dscl-new-user-password.stderr
511
+ - spec/provider/user/darwin_directory_service/dscl-new-user-password.stdout
512
+ - spec/provider/user/darwin_directory_service/dscl-new-user-primary-group.return
513
+ - spec/provider/user/darwin_directory_service/dscl-new-user-primary-group.stderr
514
+ - spec/provider/user/darwin_directory_service/dscl-new-user-primary-group.stdout
515
+ - spec/provider/user/darwin_directory_service/dscl-new-user-shell.return
516
+ - spec/provider/user/darwin_directory_service/dscl-new-user-shell.stderr
517
+ - spec/provider/user/darwin_directory_service/dscl-new-user-shell.stdout
518
+ - spec/provider/user/darwin_directory_service/dscl-new-user-uid.return
519
+ - spec/provider/user/darwin_directory_service/dscl-new-user-uid.stderr
520
+ - spec/provider/user/darwin_directory_service/dscl-new-user-uid.stdout
521
+ - spec/provider/user/darwin_directory_service_spec.rb
473
522
  - spec/provider/user/gnu_passwd/useradd_johndoe.return
474
523
  - spec/provider/user/gnu_passwd/useradd_johndoe.stderr
475
524
  - spec/provider/user/gnu_passwd/useradd_johndoe.stdout
@@ -502,6 +551,7 @@ test_files:
502
551
  - spec/spec_helpers/fake_capture3.rb
503
552
  - spec/spec_helpers/test_coverage.rb
504
553
  - spec/util/activesupport_spec.rb
554
+ - spec/util/file_owner_spec.rb
505
555
  - spec/util/file_permissions_spec.rb
506
556
  - spec/util/file_spec.rb
507
557
  - spec/util/user_spec.rb
@@ -1,23 +0,0 @@
1
- Package: abcde
2
- Status: install ok installed
3
- Priority: optional
4
- Section: sound
5
- Installed-Size: 282
6
- Maintainer: Jesus Climent <jesus.climent@hispalinux.es>
7
- Architecture: all
8
- Version: 2.5.3-1
9
- Depends: cd-discid, wget, cdparanoia | icedax, vorbis-tools (>= 1.0beta4-1) | lame | flac | bladeenc | speex
10
- Recommends: vorbis-tools, libmusicbrainz-discid-perl, libwebservice-musicbrainz-perl, libdigest-sha-perl, mailx
11
- Suggests: eject, distmp3, id3 (>= 0.12), id3v2, eyed3, normalize-audio, vorbisgain, mkcue, mp3gain, atomicparsley
12
- Conffiles:
13
- /etc/abcde.conf 6123bcbdb6204f9a2193f560e2cf5014
14
- Description: A Better CD Encoder
15
- A frontend program to cdparanoia, wget, cd-discid, id3, and your favorite
16
- Ogg/Vorbis, MP3, FLAC, Ogg/Speex and/or MPP/MP+(Musepack) encoder (defaults
17
- to oggenc). Grabs an entire CD and converts each track to the specified
18
- formats and then comments or ID3-tags each file, with one command.
19
- .
20
- With abcde you can encode several formats with one single command, using a
21
- single CD read operation. It also allows you to read and encode while not
22
- on the internet, and later query a CDDB server to tag your files.
23
- Homepage: http://code.google.com/p/abcde/
@@ -1,19 +0,0 @@
1
- Package: htop
2
- Status: deinstall ok config-files
3
- Priority: optional
4
- Section: utils
5
- Installed-Size: 211
6
- Maintainer: Eugene V. Lyubimkin <jackyf@debian.org>
7
- Architecture: amd64
8
- Version: 1.0.1-1
9
- Config-Version: 1.0.1-1
10
- Depends: libc6 (>= 2.3.4), libncursesw5 (>= 5.6+20070908), libtinfo5
11
- Suggests: strace, ltrace
12
- Description: interactive processes viewer
13
- Htop is an ncursed-based process viewer similar to top, but it
14
- allows one to scroll the list vertically and horizontally to see
15
- all processes and their full command lines.
16
- .
17
- Tasks related to processes (killing, renicing) can be done without
18
- entering their PIDs.
19
- Homepage: http://htop.sourceforge.net
@@ -1,3 +0,0 @@
1
- dpkg-query: package 'not-a-real-package' is not installed and no information is available
2
- Use dpkg --info (= dpkg-deb --info) to examine archive files,
3
- and dpkg --contents (= dpkg-deb --contents) to list their contents.
@@ -1,3 +0,0 @@
1
- dpkg-query: package 'vlc' is not installed and no information is available
2
- Use dpkg --info (= dpkg-deb --info) to examine archive files,
3
- and dpkg --contents (= dpkg-deb --contents) to list their contents.