thor-ssh 0.1.6 → 0.1.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.
@@ -16,7 +16,7 @@ module ThorSsh
16
16
  stderr_data = stderr.read.strip
17
17
  end
18
18
 
19
- exit_code = status.to_i
19
+ exit_code = status.exitstatus
20
20
 
21
21
  return stdout_data, stderr_data, exit_code, exit_signal
22
22
  end
@@ -1,3 +1,3 @@
1
1
  module ThorSsh
2
- VERSION = "0.1.6"
2
+ VERSION = "0.1.7"
3
3
  end
data/spec/actions_spec.rb CHANGED
@@ -37,7 +37,7 @@ describe ThorSsh do
37
37
  @remote_test.empty_directory(@remote_base_path)
38
38
  @remote_test.destination_files.exists?(@remote_base_path)
39
39
  end
40
-
40
+
41
41
  it 'should create an empty directory locally' do
42
42
  @local_test.empty_directory(@local_base_path)
43
43
  @local_test.destination_files.exists?(@local_base_path)
@@ -47,7 +47,7 @@ describe ThorSsh do
47
47
  @remote_test.get('http://www.google.com/', "#{@remote_base_path}/google.txt")
48
48
  @remote_test.destination_files.binread("#{@remote_base_path}/google.txt").should match(/Google/)
49
49
  end
50
-
50
+
51
51
  it 'should create get a url locally' do
52
52
  @local_test.get('http://www.google.com/', "#{@local_base_path}/google.txt")
53
53
  @local_test.destination_files.binread("#{@local_base_path}/google.txt").should match(/Google/)
@@ -57,7 +57,7 @@ describe ThorSsh do
57
57
  @remote_test.create_file("#{@remote_base_path}/createdFile", "More awesome content\nSecond Line of content")
58
58
  @remote_test.destination_files.binread("#{@remote_base_path}/createdFile").should == "More awesome content\nSecond Line of content"
59
59
  end
60
-
60
+
61
61
  it 'should create a file and set the text locally' do
62
62
  @local_test.create_file("#{@local_base_path}/createdFile", "More awesome content\nSecond Line of content")
63
63
  @local_test.destination_files.binread("#{@local_base_path}/createdFile").should == "More awesome content\nSecond Line of content"
@@ -68,7 +68,7 @@ describe ThorSsh do
68
68
  @remote_test.template "templates/test_template.rb.tt"
69
69
  @remote_test.destination_files.binread("#{@remote_base_path}/templates/test_template.rb").should match(/Test Ruby File/)
70
70
  end
71
-
71
+
72
72
  it "should copy in text locally" do
73
73
  @local_test.destination_root = @local_base_path + "/"
74
74
  @local_test.template "templates/test_template.rb.tt"
@@ -88,13 +88,13 @@ describe ThorSsh do
88
88
  @remote_test.chmod("#{@remote_base_path}/modeFile", 0600)
89
89
  remote_mode('modeFile').should == '-rw-------'
90
90
  end
91
-
91
+
92
92
  def local_mode(path)
93
93
  ls = @local_test.destination_server.run("ls -lh \"#{@local_base_path}/#{path}\"")
94
94
  mode = ls.strip.split(/ /).first.strip
95
95
  return mode
96
96
  end
97
-
97
+
98
98
  it "should set the mode locally" do
99
99
  @local_test.create_file("#{@local_base_path}/modeFile", "More awesome content")
100
100
  @local_test.chmod("#{@local_base_path}/modeFile", 0644)
@@ -103,14 +103,21 @@ describe ThorSsh do
103
103
  local_mode('modeFile').should == '-rw-------'
104
104
  end
105
105
 
106
- it "should gsub files" do
106
+ it "should gsub files remotely" do
107
107
  file = "#{@remote_base_path}/gsubFile"
108
108
  @remote_test.create_file(file, "More awesome content")
109
109
  @remote_test.gsub_file file, /awesome/, 'cool'
110
110
  @remote_test.destination_files.binread(file).should == 'More cool content'
111
111
  end
112
112
 
113
- it "should remove files" do
113
+ it "should gsub files locally" do
114
+ file = "#{@local_base_path}/gsubFile"
115
+ @local_test.create_file(file, "More awesome content")
116
+ @local_test.gsub_file file, /awesome/, 'cool'
117
+ @local_test.destination_files.binread(file).should == 'More cool content'
118
+ end
119
+
120
+ it "should remove files remotely" do
114
121
  file = "#{@remote_base_path}/removeFile"
115
122
  @remote_test.create_file(file, "More awesome content")
116
123
  @remote_test.destination_files.exists?(file).should == true
@@ -118,14 +125,29 @@ describe ThorSsh do
118
125
  @remote_test.destination_files.exists?(file).should == false
119
126
  end
120
127
 
121
- it "should inject text into files" do
128
+ it "should remove files locally" do
129
+ file = "#{@local_base_path}/removeFile"
130
+ @local_test.create_file(file, "More awesome content")
131
+ @local_test.destination_files.exists?(file).should == true
132
+ @local_test.remove_file(file)
133
+ @local_test.destination_files.exists?(file).should == false
134
+ end
135
+
136
+ it "should inject text into files remotely" do
122
137
  file = "#{@remote_base_path}/injectFile"
123
138
  @remote_test.create_file(file, "First line\nSecond Line\nThird Line")
124
139
  @remote_test.insert_into_file(file, "2.5 line\n", :after => "Second Line\n")
125
140
  @remote_test.destination_files.binread(file).should == "First line\nSecond Line\n2.5 line\nThird Line"
126
141
  end
127
142
 
128
- it "should create links" do
143
+ it "should inject text into files locally" do
144
+ file = "#{@local_base_path}/injectFile"
145
+ @local_test.create_file(file, "First line\nSecond Line\nThird Line")
146
+ @local_test.insert_into_file(file, "2.5 line\n", :after => "Second Line\n")
147
+ @local_test.destination_files.binread(file).should == "First line\nSecond Line\n2.5 line\nThird Line"
148
+ end
149
+
150
+ it "should create links remotely" do
129
151
  file = "#{@remote_base_path}/symFile"
130
152
  link_file = "#{@remote_base_path}/linkedFile"
131
153
  @remote_test.create_file(file, "Text")
@@ -135,17 +157,32 @@ describe ThorSsh do
135
157
  @remote_test.destination_files.binread(link_file).should == "Text"
136
158
  end
137
159
 
138
- it "should download a file remotely" do
139
- @remote_test.get('http://nginx.org/download/nginx-1.2.0.tar.gz', '/home/vagrant/nginx-1.2.0.tar.gz')
160
+ it "should create links locally" do
161
+ file = "#{@local_base_path}/symFile"
162
+ link_file = "#{@local_base_path}/linkedFile"
163
+ @local_test.create_file(file, "Text")
164
+
165
+ @local_test.create_link(link_file, file)
166
+
167
+ @local_test.destination_files.binread(link_file).should == "Text"
140
168
  end
141
169
 
142
- it "should run exec with an exit code" do
170
+ it "should run exec with an exit code remotely" do
143
171
  stdout, stderr, exit_code, exit_signal = @remote_test.exec('false', true)
144
172
  exit_code.should == 1
145
173
 
146
174
  stdout, stderr, exit_code, exit_signal = @remote_test.exec('true', true)
147
175
  exit_code.should == 0
148
176
  end
177
+
178
+ it "should run exec with an exit code locally" do
179
+ stdout, stderr, exit_code, exit_signal = @local_test.exec('false', true)
180
+ exit_code.should == 1
181
+
182
+ stdout, stderr, exit_code, exit_signal = @local_test.exec('true', true)
183
+ exit_code.should == 0
184
+ end
185
+
149
186
  end
150
187
 
151
188
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: thor-ssh
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -205,7 +205,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
205
205
  version: '0'
206
206
  segments:
207
207
  - 0
208
- hash: -1434051545551031789
208
+ hash: 1900233715508289127
209
209
  required_rubygems_version: !ruby/object:Gem::Requirement
210
210
  none: false
211
211
  requirements:
@@ -214,7 +214,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
214
214
  version: '0'
215
215
  segments:
216
216
  - 0
217
- hash: -1434051545551031789
217
+ hash: 1900233715508289127
218
218
  requirements: []
219
219
  rubyforge_project:
220
220
  rubygems_version: 1.8.22