boxen-linux 2.7.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.
Files changed (70) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +11 -0
  3. data/.travis.yml +7 -0
  4. data/Gemfile +2 -0
  5. data/LICENSE +20 -0
  6. data/README.md +50 -0
  7. data/boxen.gemspec +26 -0
  8. data/lib/boxen/check.rb +72 -0
  9. data/lib/boxen/checkout.rb +25 -0
  10. data/lib/boxen/cli.rb +63 -0
  11. data/lib/boxen/config.rb +330 -0
  12. data/lib/boxen/error.rb +4 -0
  13. data/lib/boxen/flags.rb +272 -0
  14. data/lib/boxen/hook.rb +47 -0
  15. data/lib/boxen/hook/github_issue.rb +120 -0
  16. data/lib/boxen/hook/web.rb +56 -0
  17. data/lib/boxen/keychain.rb +63 -0
  18. data/lib/boxen/postflight.rb +13 -0
  19. data/lib/boxen/postflight/active.rb +16 -0
  20. data/lib/boxen/postflight/env.rb +34 -0
  21. data/lib/boxen/preflight.rb +13 -0
  22. data/lib/boxen/preflight/creds.rb +108 -0
  23. data/lib/boxen/preflight/directories.rb +32 -0
  24. data/lib/boxen/preflight/etc_my_cnf.rb +12 -0
  25. data/lib/boxen/preflight/homebrew.rb +13 -0
  26. data/lib/boxen/preflight/identity.rb +16 -0
  27. data/lib/boxen/preflight/os.rb +33 -0
  28. data/lib/boxen/preflight/rbenv.rb +12 -0
  29. data/lib/boxen/preflight/rvm.rb +12 -0
  30. data/lib/boxen/project.rb +20 -0
  31. data/lib/boxen/puppeteer.rb +122 -0
  32. data/lib/boxen/runner.rb +149 -0
  33. data/lib/boxen/service.rb +58 -0
  34. data/lib/boxen/util.rb +17 -0
  35. data/lib/facter/boxen.rb +34 -0
  36. data/lib/system_timer.rb +13 -0
  37. data/script/Boxen +0 -0
  38. data/script/Boxen-linux +0 -0
  39. data/script/bootstrap +7 -0
  40. data/script/build-keychain-helper +6 -0
  41. data/script/build-keyring-helper +9 -0
  42. data/script/release +38 -0
  43. data/script/tests +10 -0
  44. data/src/keychain-helper.c +85 -0
  45. data/src/keyring-helper.c +86 -0
  46. data/test/boxen/test.rb +7 -0
  47. data/test/boxen_check_test.rb +55 -0
  48. data/test/boxen_checkout_test.rb +42 -0
  49. data/test/boxen_cli_test.rb +39 -0
  50. data/test/boxen_config_test.rb +393 -0
  51. data/test/boxen_directories_test.rb +40 -0
  52. data/test/boxen_flags_test.rb +217 -0
  53. data/test/boxen_hook_github_issue_test.rb +294 -0
  54. data/test/boxen_hook_web_test.rb +58 -0
  55. data/test/boxen_keychain_test.rb +24 -0
  56. data/test/boxen_postflight_active_test.rb +29 -0
  57. data/test/boxen_postflight_env_test.rb +6 -0
  58. data/test/boxen_preflight_creds_test.rb +80 -0
  59. data/test/boxen_preflight_etc_my_cnf_test.rb +10 -0
  60. data/test/boxen_preflight_homebrew_test.rb +10 -0
  61. data/test/boxen_preflight_rvm_test.rb +10 -0
  62. data/test/boxen_project_test.rb +14 -0
  63. data/test/boxen_puppeteer_test.rb +101 -0
  64. data/test/boxen_runner_test.rb +171 -0
  65. data/test/boxen_service_test.rb +39 -0
  66. data/test/boxen_util_test.rb +21 -0
  67. data/test/fixtures/repo/modules/projects/manifests/first-project.pp +0 -0
  68. data/test/fixtures/repo/modules/projects/manifests/second-project.pp +0 -0
  69. data/test/system_timer.rb +10 -0
  70. metadata +279 -0
@@ -0,0 +1,39 @@
1
+ require "boxen/test"
2
+ require "boxen/service"
3
+
4
+ class BoxenServiceTest < Boxen::Test
5
+ def test_list
6
+ Dir.expects(:[]).with("/Library/LaunchDaemons/dev.*.plist").returns([
7
+ "/Library/LaunchDaemons/dev.test.plist",
8
+ "/Library/LaunchDaemons/dev.other.plist"
9
+ ])
10
+
11
+ services = Boxen::Service.list
12
+ assert_equal ['other', 'test'], services.collect(&:name).sort
13
+ end
14
+
15
+ def test_list_enabled
16
+ Boxen::Service.expects(:capture_output).with("sudo /bin/launchctl list").returns "foo bar dev.baz\nfoo bar bazz"
17
+ services = Boxen::Service.list_enabled
18
+ assert_equal ['baz'], services.collect(&:name)
19
+ end
20
+
21
+ def test_enable
22
+ service = Boxen::Service.new('blip')
23
+ Boxen::Util.expects(:sudo).with('/bin/launchctl', 'load', '-w',
24
+ '/Library/LaunchDaemons/dev.blip.plist')
25
+ service.enable
26
+ end
27
+
28
+ def test_disable
29
+ service = Boxen::Service.new('thing')
30
+ Boxen::Util.expects(:sudo).with('/bin/launchctl', 'unload', '-w',
31
+ '/Library/LaunchDaemons/dev.thing.plist')
32
+ service.disable
33
+ end
34
+
35
+ def test_to_s
36
+ service = Boxen::Service.new('blam')
37
+ assert_equal service.name, service.to_s
38
+ end
39
+ end
@@ -0,0 +1,21 @@
1
+ require "boxen/test"
2
+ require "boxen/util"
3
+
4
+ class BoxenUtilTest < Boxen::Test
5
+ def test_self_active?
6
+ ENV.expects(:include?).with("BOXEN_HOME").returns true
7
+ assert Boxen::Util.active?
8
+ end
9
+
10
+ def test_self_active_disabled
11
+ ENV.expects(:include?).with("BOXEN_HOME").returns false
12
+ refute Boxen::Util.active?
13
+ end
14
+
15
+ def test_self_sudo
16
+ Boxen::Util.expects(:system).
17
+ with "sudo", "-p", "Password for sudo: ", "echo", "foo"
18
+
19
+ Boxen::Util.sudo "echo", "foo"
20
+ end
21
+ end
@@ -0,0 +1,10 @@
1
+ # THIS IS SUCH HAX. Faraday helpfully reminds you to install
2
+ # `system_timer` if you're running Ruby 1.8, since Timeout can give
3
+ # unreliable results. We can't do this during first-time runs, since
4
+ # there's no C compiler available.
5
+ #
6
+ # To squash the message and stop confusing people, this shim just
7
+ # exposes Timeout as SystemTimer. I'm a bad person.
8
+
9
+ require "timeout"
10
+ SystemTimer = Timeout
metadata ADDED
@@ -0,0 +1,279 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: boxen-linux
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.7.1
5
+ platform: ruby
6
+ authors:
7
+ - John Barnette
8
+ - Will Farrington
9
+ - David Goodlad
10
+ - Max Klein
11
+ autorequire:
12
+ bindir: bin
13
+ cert_chain: []
14
+ date: 2014-08-09 00:00:00.000000000 Z
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: ansi
18
+ requirement: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - ~>
21
+ - !ruby/object:Gem::Version
22
+ version: '1.4'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '1.4'
30
+ - !ruby/object:Gem::Dependency
31
+ name: hiera
32
+ requirement: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - ~>
35
+ - !ruby/object:Gem::Version
36
+ version: '1.0'
37
+ type: :runtime
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ~>
42
+ - !ruby/object:Gem::Version
43
+ version: '1.0'
44
+ - !ruby/object:Gem::Dependency
45
+ name: highline
46
+ requirement: !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - - ~>
49
+ - !ruby/object:Gem::Version
50
+ version: '1.6'
51
+ type: :runtime
52
+ prerelease: false
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - ~>
56
+ - !ruby/object:Gem::Version
57
+ version: '1.6'
58
+ - !ruby/object:Gem::Dependency
59
+ name: json_pure
60
+ requirement: !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - - '>='
63
+ - !ruby/object:Gem::Version
64
+ version: 1.7.7
65
+ - - <
66
+ - !ruby/object:Gem::Version
67
+ version: '2.0'
68
+ type: :runtime
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - '>='
73
+ - !ruby/object:Gem::Version
74
+ version: 1.7.7
75
+ - - <
76
+ - !ruby/object:Gem::Version
77
+ version: '2.0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: librarian-puppet
80
+ requirement: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ~>
83
+ - !ruby/object:Gem::Version
84
+ version: 1.0.0
85
+ type: :runtime
86
+ prerelease: false
87
+ version_requirements: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - ~>
90
+ - !ruby/object:Gem::Version
91
+ version: 1.0.0
92
+ - !ruby/object:Gem::Dependency
93
+ name: octokit
94
+ requirement: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - ~>
97
+ - !ruby/object:Gem::Version
98
+ version: '2.7'
99
+ - - '>='
100
+ - !ruby/object:Gem::Version
101
+ version: 2.7.1
102
+ type: :runtime
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - ~>
107
+ - !ruby/object:Gem::Version
108
+ version: '2.7'
109
+ - - '>='
110
+ - !ruby/object:Gem::Version
111
+ version: 2.7.1
112
+ - !ruby/object:Gem::Dependency
113
+ name: puppet
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ~>
117
+ - !ruby/object:Gem::Version
118
+ version: '3.0'
119
+ type: :runtime
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: '3.0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: minitest
128
+ requirement: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - '='
131
+ - !ruby/object:Gem::Version
132
+ version: 4.4.0
133
+ type: :development
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - '='
138
+ - !ruby/object:Gem::Version
139
+ version: 4.4.0
140
+ - !ruby/object:Gem::Dependency
141
+ name: mocha
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - ~>
145
+ - !ruby/object:Gem::Version
146
+ version: '0.13'
147
+ type: :development
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ~>
152
+ - !ruby/object:Gem::Version
153
+ version: '0.13'
154
+ description: Manage Mac and Linux development boxes with love (and Puppet).
155
+ email:
156
+ - jbarnette@github.com
157
+ - wfarr@github.com
158
+ - dgoodlad@github.com
159
+ - mklein@jhu.edu
160
+ executables: []
161
+ extensions: []
162
+ extra_rdoc_files: []
163
+ files:
164
+ - .gitignore
165
+ - .travis.yml
166
+ - Gemfile
167
+ - LICENSE
168
+ - README.md
169
+ - boxen.gemspec
170
+ - lib/boxen/check.rb
171
+ - lib/boxen/checkout.rb
172
+ - lib/boxen/cli.rb
173
+ - lib/boxen/config.rb
174
+ - lib/boxen/error.rb
175
+ - lib/boxen/flags.rb
176
+ - lib/boxen/hook.rb
177
+ - lib/boxen/hook/github_issue.rb
178
+ - lib/boxen/hook/web.rb
179
+ - lib/boxen/keychain.rb
180
+ - lib/boxen/postflight.rb
181
+ - lib/boxen/postflight/active.rb
182
+ - lib/boxen/postflight/env.rb
183
+ - lib/boxen/preflight.rb
184
+ - lib/boxen/preflight/creds.rb
185
+ - lib/boxen/preflight/directories.rb
186
+ - lib/boxen/preflight/etc_my_cnf.rb
187
+ - lib/boxen/preflight/homebrew.rb
188
+ - lib/boxen/preflight/identity.rb
189
+ - lib/boxen/preflight/os.rb
190
+ - lib/boxen/preflight/rbenv.rb
191
+ - lib/boxen/preflight/rvm.rb
192
+ - lib/boxen/project.rb
193
+ - lib/boxen/puppeteer.rb
194
+ - lib/boxen/runner.rb
195
+ - lib/boxen/service.rb
196
+ - lib/boxen/util.rb
197
+ - lib/facter/boxen.rb
198
+ - lib/system_timer.rb
199
+ - script/Boxen
200
+ - script/Boxen-linux
201
+ - script/bootstrap
202
+ - script/build-keychain-helper
203
+ - script/build-keyring-helper
204
+ - script/release
205
+ - script/tests
206
+ - src/keychain-helper.c
207
+ - src/keyring-helper.c
208
+ - test/boxen/test.rb
209
+ - test/boxen_check_test.rb
210
+ - test/boxen_checkout_test.rb
211
+ - test/boxen_cli_test.rb
212
+ - test/boxen_config_test.rb
213
+ - test/boxen_directories_test.rb
214
+ - test/boxen_flags_test.rb
215
+ - test/boxen_hook_github_issue_test.rb
216
+ - test/boxen_hook_web_test.rb
217
+ - test/boxen_keychain_test.rb
218
+ - test/boxen_postflight_active_test.rb
219
+ - test/boxen_postflight_env_test.rb
220
+ - test/boxen_preflight_creds_test.rb
221
+ - test/boxen_preflight_etc_my_cnf_test.rb
222
+ - test/boxen_preflight_homebrew_test.rb
223
+ - test/boxen_preflight_rvm_test.rb
224
+ - test/boxen_project_test.rb
225
+ - test/boxen_puppeteer_test.rb
226
+ - test/boxen_runner_test.rb
227
+ - test/boxen_service_test.rb
228
+ - test/boxen_util_test.rb
229
+ - test/fixtures/repo/modules/projects/manifests/first-project.pp
230
+ - test/fixtures/repo/modules/projects/manifests/second-project.pp
231
+ - test/system_timer.rb
232
+ homepage: https://github.com/boxen/boxen
233
+ licenses: []
234
+ metadata: {}
235
+ post_install_message:
236
+ rdoc_options: []
237
+ require_paths:
238
+ - lib
239
+ required_ruby_version: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - '>='
242
+ - !ruby/object:Gem::Version
243
+ version: '0'
244
+ required_rubygems_version: !ruby/object:Gem::Requirement
245
+ requirements:
246
+ - - '>='
247
+ - !ruby/object:Gem::Version
248
+ version: '0'
249
+ requirements: []
250
+ rubyforge_project:
251
+ rubygems_version: 2.4.1
252
+ signing_key:
253
+ specification_version: 4
254
+ summary: You know, for laptops and stuff.
255
+ test_files:
256
+ - test/boxen/test.rb
257
+ - test/boxen_check_test.rb
258
+ - test/boxen_checkout_test.rb
259
+ - test/boxen_cli_test.rb
260
+ - test/boxen_config_test.rb
261
+ - test/boxen_directories_test.rb
262
+ - test/boxen_flags_test.rb
263
+ - test/boxen_hook_github_issue_test.rb
264
+ - test/boxen_hook_web_test.rb
265
+ - test/boxen_keychain_test.rb
266
+ - test/boxen_postflight_active_test.rb
267
+ - test/boxen_postflight_env_test.rb
268
+ - test/boxen_preflight_creds_test.rb
269
+ - test/boxen_preflight_etc_my_cnf_test.rb
270
+ - test/boxen_preflight_homebrew_test.rb
271
+ - test/boxen_preflight_rvm_test.rb
272
+ - test/boxen_project_test.rb
273
+ - test/boxen_puppeteer_test.rb
274
+ - test/boxen_runner_test.rb
275
+ - test/boxen_service_test.rb
276
+ - test/boxen_util_test.rb
277
+ - test/fixtures/repo/modules/projects/manifests/first-project.pp
278
+ - test/fixtures/repo/modules/projects/manifests/second-project.pp
279
+ - test/system_timer.rb