hobo-inviqa 0.0.7.pre.rc3 → 0.0.7

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 (56) hide show
  1. data/Gemfile.lock +4 -19
  2. data/Guardfile +2 -2
  3. data/Hobofile +1 -5
  4. data/bin/hobo +18 -12
  5. data/hobo.gemspec +0 -3
  6. data/lib/hobo.rb +1 -8
  7. data/lib/hobo/cli.rb +3 -14
  8. data/lib/hobo/error_handlers/debug.rb +2 -5
  9. data/lib/hobo/error_handlers/friendly.rb +8 -8
  10. data/lib/hobo/errors.rb +1 -11
  11. data/lib/hobo/helper/shell.rb +2 -3
  12. data/lib/hobo/helper/vm_command.rb +14 -164
  13. data/lib/hobo/lib/host_check.rb +6 -20
  14. data/lib/hobo/lib/host_check/deps.rb +4 -22
  15. data/lib/hobo/lib/host_check/git.rb +17 -41
  16. data/lib/hobo/lib/host_check/ruby.rb +20 -30
  17. data/lib/hobo/lib/host_check/vagrant.rb +6 -37
  18. data/lib/hobo/lib/s3sync.rb +44 -22
  19. data/lib/hobo/lib/seed/project.rb +4 -8
  20. data/lib/hobo/patches/slop.rb +2 -21
  21. data/lib/hobo/tasks/assets.rb +15 -12
  22. data/lib/hobo/tasks/deps.rb +6 -40
  23. data/lib/hobo/tasks/host.rb +19 -0
  24. data/lib/hobo/tasks/tools.rb +6 -10
  25. data/lib/hobo/tasks/vm.rb +11 -64
  26. data/lib/hobo/ui.rb +10 -27
  27. data/lib/hobo/util.rb +2 -36
  28. data/lib/hobo/version.rb +2 -2
  29. data/spec/hobo/asset_applicator_spec.rb +2 -2
  30. data/spec/hobo/cli_spec.rb +24 -35
  31. data/spec/hobo/config/file_spec.rb +3 -1
  32. data/spec/hobo/error_handlers/debug_spec.rb +5 -39
  33. data/spec/hobo/error_handlers/friendly_spec.rb +21 -38
  34. data/spec/hobo/help_formatter_spec.rb +3 -3
  35. data/spec/hobo/helpers/file_locator_spec.rb +2 -2
  36. data/spec/hobo/helpers/shell_spec.rb +2 -2
  37. data/spec/hobo/helpers/vm_command_spec.rb +24 -36
  38. data/spec/hobo/lib/s3sync_spec.rb +3 -6
  39. data/spec/hobo/lib/seed/project_spec.rb +3 -2
  40. data/spec/hobo/lib/seed/replacer_spec.rb +2 -1
  41. data/spec/hobo/lib/seed/seed_spec.rb +3 -2
  42. data/spec/hobo/logging_spec.rb +2 -2
  43. data/spec/hobo/metadata_spec.rb +2 -2
  44. data/spec/hobo/null_spec.rb +2 -2
  45. data/spec/hobo/paths_spec.rb +2 -1
  46. data/spec/hobo/ui_spec.rb +20 -104
  47. data/spec/spec_helper.rb +0 -1
  48. metadata +48 -57
  49. checksums.yaml +0 -15
  50. data/.editorconfig +0 -10
  51. data/lib/hobo/error_handlers/exit_code_map.rb +0 -16
  52. data/lib/hobo/helper/http_download.rb +0 -41
  53. data/lib/hobo/tasks/config.rb +0 -15
  54. data/lib/hobo/tasks/system.rb +0 -15
  55. data/lib/hobo/tasks/system/completions.rb +0 -76
  56. data/spec/hobo/util_spec.rb +0 -75
data/lib/hobo/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Hobo
2
- VERSION = '0.0.7-rc3'
3
- end
2
+ VERSION = '0.0.7'
3
+ end
@@ -1,4 +1,4 @@
1
- require 'spec_helper'
1
+ require 'hobo/asset_applicator'
2
2
 
3
3
  describe Hobo::AssetApplicatorRegistry do
4
4
  describe "asset_applicators accessor" do
@@ -28,4 +28,4 @@ describe Hobo::AssetApplicatorRegistry do
28
28
  registry["abc"].call.should match "block"
29
29
  end
30
30
  end
31
- end
31
+ end
@@ -1,19 +1,16 @@
1
1
  require 'spec_helper'
2
+ require 'rake'
3
+ require 'hobo'
2
4
 
3
5
  describe Hobo::Cli do
4
6
  cli = nil
5
7
  help = nil
6
8
  hobofile = nil
7
9
 
8
- def test_args args
9
- args.concat(['--skip-host-checks'])
10
- end
11
-
12
10
  before do
13
11
  Rake::Task.tasks.each do |task|
14
12
  task.clear
15
13
  end
16
-
17
14
  Hobo.ui = double(Hobo::Ui).as_null_object
18
15
  help = double(Hobo::HelpFormatter).as_null_object
19
16
  cli = Hobo::Cli.new help: help
@@ -24,8 +21,6 @@ describe Hobo::Cli do
24
21
  FakeFS.activate!
25
22
 
26
23
  File.write('Hobofile', hobofile)
27
-
28
- double(Hobo::Lib::HostCheck).as_null_object
29
24
  end
30
25
 
31
26
  after do
@@ -34,61 +29,61 @@ describe Hobo::Cli do
34
29
  end
35
30
 
36
31
  it "should load the hobofile if present" do
37
- cli.start test_args([])
32
+ cli.start []
38
33
  Rake::Task["test:non-interactive"].should_not be nil
39
34
  end
40
35
 
41
36
  it "should load the user hobofile if present" do
42
37
  FileUtils.mkdir_p(File.dirname(Hobo.user_hobofile_path))
43
38
  File.write(Hobo.user_hobofile_path, "namespace :user do\ntask :user do\nend\nend")
44
- cli.start test_args([])
39
+ cli.start []
45
40
  Rake::Task["user:user"].should_not be nil
46
41
  end
47
42
 
48
43
  it "should load project config if present" do
49
44
  FileUtils.mkdir_p("tools/hobo/")
50
45
  File.write("tools/hobo/config.yaml", YAML::dump({ :project => "project_config" }))
51
- cli.start test_args([])
46
+ cli.start []
52
47
  Hobo.project_config.project.should match "project_config"
53
48
  end
54
49
 
55
50
  it "should load user config if present" do
56
51
  FileUtils.mkdir_p(Hobo.config_path)
57
52
  File.write(Hobo.user_config_file, YAML::dump({ :user => "user_config" }))
58
- cli.start test_args([])
53
+ cli.start []
59
54
  Hobo.user_config.user.should match "user_config"
60
55
  end
61
56
 
62
57
  it "should set command map on help formatter" do
63
58
  help.should_recieve('command_map=')
64
- cli.start test_args(["test", "subcommand"])
59
+ cli.start ["test", "subcommand"]
65
60
  end
66
61
 
67
62
  it "should propagate description metadata" do
68
63
  map = nil
69
64
  allow(help).to receive("command_map=") { |i| map = i }
70
- cli.start test_args([])
65
+ cli.start []
71
66
  map["test:metadata"].description.should match "description"
72
67
  end
73
68
 
74
69
  it "should propagate long description metadata" do
75
70
  map = nil
76
71
  allow(help).to receive("command_map=") { |i| map = i }
77
- cli.start test_args([])
72
+ cli.start []
78
73
  map["test:metadata"].long_description.should match "long description"
79
74
  end
80
75
 
81
76
  it "should propagate arg list metadata" do
82
77
  map = nil
83
78
  allow(help).to receive("command_map=") { |i| map = i }
84
- cli.start test_args([])
79
+ cli.start []
85
80
  expect(map["test:metadata"].arg_list).to eq [ :arg ]
86
81
  end
87
82
 
88
83
  it "should propagate option metadata" do
89
84
  map = nil
90
85
  allow(help).to receive("command_map=") { |i| map = i }
91
- cli.start test_args([])
86
+ cli.start []
92
87
  map["test:metadata"].options.length.should be 2
93
88
  expect(map["test:metadata"].options.map(&:short)).to eq [ 'o', 'h' ]
94
89
  expect(map["test:metadata"].options.map(&:long)).to eq [ 'option', 'help' ]
@@ -98,67 +93,61 @@ describe Hobo::Cli do
98
93
  it "should propagate hidden metadata" do
99
94
  map = nil
100
95
  allow(help).to receive("command_map=") { |i| map = i }
101
- cli.start test_args([])
96
+ cli.start []
102
97
  map["test:metadata"].hidden.should be true
103
98
  end
104
99
 
105
100
  it "should set non-interactive mode in ui if --non-interactive" do
106
101
  Hobo.ui.should_receive('interactive=').with(false)
107
- cli.start(test_args(['--non-interactive']))
102
+ cli.start(['--non-interactive'])
108
103
  end
109
104
 
110
105
  it "should show help if no args or opts passed" do
111
106
  help.should_receive(:help)
112
- cli.start(test_args([]))
107
+ cli.start([])
113
108
  end
114
109
 
115
110
  it "should show help for --help" do
116
111
  help.should_receive(:help)
117
- cli.start test_args(["--help"])
112
+ cli.start ["--help"]
118
113
  end
119
114
 
120
115
  it "should execute a top level command" do
121
116
  Hobo.ui.should_recieve(:info).with("top level")
122
- cli.start test_args(["top-level"])
117
+ cli.start ["top-level"]
123
118
  end
124
119
 
125
120
  it "should execute a subcommand" do
126
121
  Hobo.ui.should_recieve(:info).with("Subcommand test")
127
- cli.start test_args(["test", "subcommand"])
122
+ cli.start ["test", "subcommand"]
128
123
  end
129
124
 
130
125
  it "should show help for a namespace" do
131
126
  help.should_receive(:help).with(all: nil, target: "test")
132
- cli.start test_args(["test"])
127
+ cli.start ["test"]
133
128
  end
134
129
 
135
130
  it "should show command help for --help" do
136
131
  help.should_receive(:help).with(all: nil, target: "test:subcommand")
137
- cli.start test_args(["test", "subcommand", "--help"])
132
+ cli.start ["test", "subcommand", "--help"]
138
133
  end
139
134
 
140
135
  it "should propagate --all option to help" do
141
136
  help.should_receive(:help).with(all: true, target: "test")
142
- cli.start test_args(["test", "--all"])
137
+ cli.start ["test", "--all"]
143
138
  end
144
139
 
145
140
  it "should propagate command opts to command" do
146
141
  Hobo.ui.should_receive(:info).with("1234")
147
- cli.start test_args(["test", "option-test", "--testing=1234"])
142
+ cli.start ["test", "option-test", "--testing=1234"]
148
143
  end
149
144
 
150
145
  it "should propagate arguments to command" do
151
146
  Hobo.ui.should_receive(:info).with("1234")
152
- cli.start test_args(["test", "argument-test", "1234"])
153
- end
154
-
155
- it "should propagate unparsed arguments in :_unparsed opt" do
156
- Hobo.ui.should_receive(:info).with("ls --help")
157
- cli.slop.unparsed = "ls --help"
158
- cli.start test_args(["test", "unparsed", "--skip-host-checks"])
147
+ cli.start ["test", "argument-test", "1234"]
159
148
  end
160
149
 
161
150
  it "should raise an exception if not enough arguments were passed" do
162
- expect { cli.start(test_args(["test", "metadata"])) }.to raise_error Hobo::MissingArgumentsError
151
+ expect { cli.start(["test", "metadata"]) }.to raise_error Hobo::MissingArgumentsError
163
152
  end
164
- end
153
+ end
@@ -1,4 +1,6 @@
1
1
  require 'spec_helper'
2
+ require 'hobo/paths'
3
+ require 'hobo/config/file'
2
4
 
3
5
  describe Hobo::Config::File do
4
6
  before do
@@ -53,4 +55,4 @@ describe Hobo::Config::File do
53
55
  expect { Hobo::Config::File.load("test.yaml") }.to raise_error(RuntimeError, "Invalid hobo configuration (test.yaml)")
54
56
  end
55
57
  end
56
- end
58
+ end
@@ -1,44 +1,10 @@
1
- require 'spec_helper'
1
+ require 'hobo/error_handlers/debug'
2
2
 
3
3
  describe Hobo::ErrorHandlers::Debug do
4
- before do
5
- Hobo.ui = double(Hobo::Ui.new).as_null_object
6
- end
7
-
8
- def faked_exception(error_template)
9
- error = nil
10
- begin
11
- raise error_template
12
- rescue Exception => error
13
- end
14
-
15
- return error
16
- end
17
-
18
4
  describe "handle" do
19
- it "should dump the error" do
20
- error = nil
21
- begin
22
- raise Exception.new('error_message')
23
- rescue Exception => error
24
- end
25
-
26
- Hobo.ui.should_receive(:error).with(/\(Exception\).*error_message.*debug_spec.rb.*/m)
27
- Hobo::ErrorHandlers::Debug.new.handle(error)
28
- end
29
-
30
- it "should return exit code according to exit_code_map" do
31
- File.write("temp_log", "command output")
32
- output = Struct.new(:path).new
33
- output.path = "temp_log"
34
-
35
- Hobo::ErrorHandlers::Debug.new.handle(faked_exception Interrupt.new).should eq 1
36
- Hobo::ErrorHandlers::Debug.new.handle(faked_exception Hobo::ExternalCommandError.new("command", 128, output)).should eq 3
37
- Hobo::ErrorHandlers::Debug.new.handle(faked_exception Hobo::InvalidCommandOrOpt.new("command")).should eq 4
38
- Hobo::ErrorHandlers::Debug.new.handle(faked_exception Hobo::MissingArgumentsError.new("command", ["arg1"])).should eq 5
39
- Hobo::ErrorHandlers::Debug.new.handle(faked_exception Hobo::UserError.new("user error")).should eq 6
40
- Hobo::ErrorHandlers::Debug.new.handle(faked_exception Hobo::ProjectOnlyError.new).should eq 7
41
- Hobo::ErrorHandlers::Debug.new.handle(faked_exception Exception.new "general").should eq 128
5
+ it "should re-raise the error" do
6
+ exception = Exception.new
7
+ expect { Hobo::ErrorHandlers::Debug.new.handle(exception) }.to raise_error exception
42
8
  end
43
9
  end
44
- end
10
+ end
@@ -1,4 +1,5 @@
1
- require 'spec_helper'
1
+ require 'hobo/error_handlers/friendly'
2
+ require 'hobo/ui'
2
3
 
3
4
  describe Hobo::ErrorHandlers::Friendly do
4
5
  before do
@@ -12,19 +13,9 @@ describe Hobo::ErrorHandlers::Friendly do
12
13
  FakeFS.deactivate!
13
14
  end
14
15
 
15
- def faked_exception(error_template)
16
- error = nil
17
- begin
18
- raise error_template
19
- rescue Exception => error
20
- end
21
-
22
- return error
23
- end
24
-
25
16
  describe "handle" do
26
17
  it "should display specialized error for Interrupt" do
27
- error = faked_exception(Interrupt.new)
18
+ error = Interrupt.new
28
19
  Hobo.ui.should_receive(:warning).with(/Caught Interrupt/)
29
20
  Hobo::ErrorHandlers::Friendly.new.handle(error)
30
21
  end
@@ -33,9 +24,7 @@ describe Hobo::ErrorHandlers::Friendly do
33
24
  File.write("temp_log", "command output")
34
25
  output = Struct.new(:path).new
35
26
  output.path = "temp_log"
36
-
37
- error = faked_exception Hobo::ExternalCommandError.new("command", 128, output)
38
-
27
+ error = Hobo::ExternalCommandError.new("command", 128, output)
39
28
  Hobo.ui.should_receive(:error).with(/The following external command appears to have failed \(exit status 128\)/)
40
29
  Hobo::ErrorHandlers::Friendly.new.handle(error)
41
30
  end
@@ -44,55 +33,49 @@ describe Hobo::ErrorHandlers::Friendly do
44
33
  File.write("temp_log", "command output")
45
34
  output = Struct.new(:path).new
46
35
  output.path = "temp_log"
47
-
48
- error = faked_exception Hobo::ExternalCommandError.new("command", 128, output)
49
-
36
+ error = Hobo::ExternalCommandError.new("command", 128, output)
50
37
  Hobo::ErrorHandlers::Friendly.new.handle(error)
51
38
  File.read(File.join(Dir.tmpdir, 'hobo_error.log')).should match "command output"
52
39
  end
53
40
 
54
41
  it "should display specialized error for invalid command or opt error" do
55
- error = faked_exception Hobo::InvalidCommandOrOpt.new("command")
42
+ error = Hobo::InvalidCommandOrOpt.new("command")
56
43
  Hobo.ui.should_receive(:error).with(/Invalid command or option specified: 'command'/)
57
44
  Hobo::ErrorHandlers::Friendly.new.handle(error)
58
45
  end
59
46
 
60
47
  it "should display specialized error for missing argument error" do
61
- error = faked_exception Hobo::MissingArgumentsError.new("command", ["arg1"])
48
+ error = Hobo::MissingArgumentsError.new("command", ["arg1"])
62
49
  Hobo.ui.should_receive(:error).with(/Not enough arguments for command/)
63
50
  Hobo::ErrorHandlers::Friendly.new.handle(error)
64
51
  end
65
52
 
66
53
  it "should display specialized error for user error" do
67
- error = faked_exception Hobo::UserError.new("user error")
54
+ error = Hobo::UserError.new("user error")
68
55
  Hobo.ui.should_receive(:error).with(/user error/)
69
56
  Hobo::ErrorHandlers::Friendly.new.handle(error)
70
57
  end
71
58
 
72
59
  it "should display generic error for other exception" do
73
- error = faked_exception Exception.new("general error")
60
+ error = nil
61
+ begin
62
+ raise Exception.new("general error")
63
+ rescue Exception => error
64
+ end
65
+
74
66
  Hobo.ui.should_receive(:error).with(/An unexpected error has occured/)
75
67
  Hobo::ErrorHandlers::Friendly.new.handle(error)
76
68
  end
77
69
 
78
70
  it "should write error backtrace to /tmp/hobo_error.log for other exception" do
79
- error = faked_exception Exception.new("general error")
71
+ error = nil
72
+ begin
73
+ raise Exception.new("general error")
74
+ rescue Exception => error
75
+ end
76
+
80
77
  Hobo::ErrorHandlers::Friendly.new.handle(error)
81
78
  File.read(File.join(Dir.tmpdir, 'hobo_error.log')).should match /\(Exception\) general error/
82
79
  end
83
-
84
- it "should return exit code according to exit_code_map" do
85
- File.write("temp_log", "command output")
86
- output = Struct.new(:path).new
87
- output.path = "temp_log"
88
-
89
- Hobo::ErrorHandlers::Friendly.new.handle(faked_exception Interrupt.new).should eq 1
90
- Hobo::ErrorHandlers::Friendly.new.handle(faked_exception Hobo::ExternalCommandError.new("command", 128, output)).should eq 3
91
- Hobo::ErrorHandlers::Friendly.new.handle(faked_exception Hobo::InvalidCommandOrOpt.new("command")).should eq 4
92
- Hobo::ErrorHandlers::Friendly.new.handle(faked_exception Hobo::MissingArgumentsError.new("command", ["arg1"])).should eq 5
93
- Hobo::ErrorHandlers::Friendly.new.handle(faked_exception Hobo::UserError.new("user error")).should eq 6
94
- Hobo::ErrorHandlers::Friendly.new.handle(faked_exception Hobo::ProjectOnlyError.new).should eq 7
95
- Hobo::ErrorHandlers::Friendly.new.handle(faked_exception Exception.new "general").should eq 128
96
- end
97
80
  end
98
- end
81
+ end
@@ -1,4 +1,4 @@
1
- require 'spec_helper'
1
+ require 'hobo/help_formatter'
2
2
 
3
3
  describe Hobo::HelpFormatter do
4
4
  help = nil
@@ -38,8 +38,8 @@ describe Hobo::HelpFormatter do
38
38
 
39
39
  help = Hobo::HelpFormatter.new slop
40
40
  help.command_map = map
41
+ HighLine.use_color = false
41
42
  Hobo.ui = Hobo::Ui.new
42
- Hobo.ui.use_color false
43
43
  end
44
44
 
45
45
  describe "help" do
@@ -160,4 +160,4 @@ describe Hobo::HelpFormatter do
160
160
  end
161
161
  end
162
162
  end
163
- end
163
+ end
@@ -1,4 +1,4 @@
1
- require 'spec_helper'
1
+ require 'hobo/helper/file_locator'
2
2
 
3
3
  describe Hobo::Helper do
4
4
  describe "locate" do
@@ -8,4 +8,4 @@ describe Hobo::Helper do
8
8
  it "should chdir to file path before yielding"
9
9
  it "should yield once for each matching file"
10
10
  end
11
- end
11
+ end
@@ -1,4 +1,4 @@
1
- require 'spec_helper'
1
+ require 'hobo/helper/shell'
2
2
 
3
3
  describe Hobo::Helper do
4
4
  describe "bundle_shell" do
@@ -18,4 +18,4 @@ describe Hobo::Helper do
18
18
  it "should colour stderr output with red"
19
19
  it "should set ENV args for command if specified with :env"
20
20
  end
21
- end
21
+ end
@@ -1,4 +1,9 @@
1
- require 'spec_helper'
1
+ require 'hobo/config'
2
+ require 'hobo/logging'
3
+ require 'hobo/ui'
4
+ require 'hobo/patches/deepstruct'
5
+ require 'hobo/helper/vm_command'
6
+
2
7
 
3
8
  describe Hobo::Helper do
4
9
  before do
@@ -7,46 +12,29 @@ describe Hobo::Helper do
7
12
  :mysql => {
8
13
  :username => "test_user",
9
14
  :password => "test_pass"
10
- },
11
- :vm => {
12
- :project_mount_path => '/'
13
15
  }
14
16
  })
15
-
16
- Hobo.ui = Hobo::Ui.new
17
-
18
- vmi_double = double(Hobo::Helper::VmInspector).as_null_object
19
- vmi_double.should_receive(:ssh_config).and_return({
20
- :ssh_host => 'fakehost',
21
- :ssh_user => 'fakeuser',
22
- :ssh_port => '999',
23
- :ssh_identity => 'fakeidentity'
24
- })
25
-
26
- Hobo::Helper::VmCommand.class_eval do
27
- class_variable_set '@@vm_inspector', vmi_double
28
- end
29
17
  end
30
18
 
31
19
  describe "vm_command" do
32
20
  it "should create a new vm command wrapper with specified command" do
33
- vm_command("my_command", :pwd => '/').to_s.should match /-c my_command/
21
+ vm_command("my_command").to_s.should match /-- my_command/
34
22
  end
35
23
 
36
- it "should default to not using a psuedo tty" do
37
- vm_command("my_command", :pwd => '/').to_s.should_not match /\s-t\s/
24
+ it "should default to using a psuedo tty" do
25
+ vm_command("my_command").to_s.should match /\s-t\s/
38
26
  end
39
27
 
40
- it "should default to ssh_config user" do
41
- vm_command("my_command", :pwd => '/').to_s.should match /fakeuser@/
28
+ it "should default to vagrant user" do
29
+ vm_command("my_command").to_s.should match /vagrant@/
42
30
  end
43
31
 
44
- it "should default to ssh_config host name" do
45
- vm_command("my_command", :pwd => '/').to_s.should match /@fakehost/
32
+ it "should default to project host name" do
33
+ vm_command("my_command").to_s.should match /@test_hostname/
46
34
  end
47
35
 
48
36
  it "should not wrap piped commands with echo by default" do
49
- c = vm_command("my_command", :pwd => '/')
37
+ c = vm_command("my_command")
50
38
  c << "test"
51
39
  c.to_s.should_not match /^echo test/
52
40
  end
@@ -54,24 +42,24 @@ describe Hobo::Helper do
54
42
 
55
43
  describe "vm_mysql" do
56
44
  it "should use mysql command by default" do
57
- vm_mysql(:pwd => '/').to_s.should match /-c mysql/
45
+ vm_mysql.to_s.should match /-- mysql/
58
46
  end
59
47
 
60
48
  it "should use project config mysql username & password if set" do
61
- vm_mysql(:pwd => '/').to_s.should match /-c mysql.*-utest_user.*-ptest_pass/
49
+ vm_mysql.to_s.should match /-- mysql.*-utest_user.*-ptest_pass/
62
50
  end
63
51
 
64
- it "should not pass user / pass if project config mysql credentials not set" do
52
+ it "should default to root/root if project config mysql credentials not set" do
65
53
  Hobo.project_config = DeepStruct.wrap({})
66
- vm_mysql(:pwd => '/').to_s.should match /-c mysql'/
54
+ vm_mysql.to_s.should match /-- mysql.*-uroot.*-proot/
67
55
  end
68
56
 
69
57
  it "should allow specifying the database in options" do
70
- vm_mysql(:pwd => '/', :db => "test_db").to_s.should match /-c mysql.*test_db'/
58
+ vm_mysql(:db => "test_db").to_s.should match /-- mysql.*test_db$/
71
59
  end
72
60
 
73
61
  it "should enable auto echo of piped commands" do
74
- c = vm_mysql(:pwd => '/')
62
+ c = vm_mysql
75
63
  c << "SELECT 1"
76
64
  c.to_s.should match /^echo SELECT\\ 1/
77
65
  end
@@ -81,12 +69,12 @@ describe Hobo::Helper do
81
69
  it "should execute the command using the shell helper" do
82
70
  Hobo::Helper.class_eval do
83
71
  alias :old_shell :shell
84
- def shell command, opts
85
- command.to_s.should match /ssh.* -c my_command/
72
+ def shell command
73
+ command.should match /ssh.* -- my_command/
86
74
  end
87
75
  end
88
76
 
89
- vm_shell "my_command", :pwd => '/'
77
+ vm_shell "my_command"
90
78
 
91
79
  Hobo::Helper.class_eval do
92
80
  remove_method :shell
@@ -94,4 +82,4 @@ describe Hobo::Helper do
94
82
  end
95
83
  end
96
84
  end
97
- end
85
+ end