net-ssh-session 0.1.3 → 0.1.4
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.
- data/README.md +1 -0
- data/lib/net-ssh-session/version.rb +1 -1
- data/lib/net/ssh/session_helpers.rb +22 -1
- data/spec/session_helpers_spec.rb +15 -0
- metadata +69 -56
data/README.md
CHANGED
@@ -47,12 +47,19 @@ module Net
|
|
47
47
|
end
|
48
48
|
|
49
49
|
# Check if remote file exists
|
50
|
-
# @param
|
50
|
+
# @param [String] file path
|
51
51
|
# @return [Boolean] execution result
|
52
52
|
def file_exists?(path)
|
53
53
|
run("test -f #{path}").success?
|
54
54
|
end
|
55
55
|
|
56
|
+
# Check if a symbilic link exists
|
57
|
+
# @param [String] file path
|
58
|
+
# @return [Boolean]
|
59
|
+
def symlink_exists?(path)
|
60
|
+
run("test -h #{path}").success?
|
61
|
+
end
|
62
|
+
|
56
63
|
# Check if process with PID is running
|
57
64
|
# @param pid [String] process id
|
58
65
|
# @return [Boolean] execution result
|
@@ -69,6 +76,20 @@ module Net
|
|
69
76
|
process_exists?(pid)
|
70
77
|
end
|
71
78
|
|
79
|
+
# Check if user exists
|
80
|
+
# @param [String] username
|
81
|
+
# @return [Boolean]
|
82
|
+
def has_user?(name, options={})
|
83
|
+
run("id #{name}").success?
|
84
|
+
end
|
85
|
+
|
86
|
+
# Check if group exists
|
87
|
+
# @param [String] group name
|
88
|
+
# @return [Boolean]
|
89
|
+
def has_group?(name)
|
90
|
+
run("id -g #{name}").success?
|
91
|
+
end
|
92
|
+
|
72
93
|
# Export an environment variable
|
73
94
|
# @param key [String] variable name
|
74
95
|
# @param value [String] variable value
|
@@ -144,4 +144,19 @@ describe Net::SSH::SessionHelpers do
|
|
144
144
|
expect { session.with_timeout(2, &worker) }.not_to raise_error Timeout::Error
|
145
145
|
end
|
146
146
|
end
|
147
|
+
|
148
|
+
describe '#has_user?' do
|
149
|
+
before do
|
150
|
+
session.stub(:run).with('id foo').and_return(fake_run('id foo', "id: foo: No such user\n", 1))
|
151
|
+
session.stub(:run).with('id bar').and_return(fake_run('id bar', "uid=1000(bar) gid=1000(bar) groups=1000(bar)\n"))
|
152
|
+
end
|
153
|
+
|
154
|
+
it 'returns true if user exists' do
|
155
|
+
session.has_user?('foo').should be_false
|
156
|
+
end
|
157
|
+
|
158
|
+
it 'returns false if user does not exist' do
|
159
|
+
session.has_user?('bar').should be_true
|
160
|
+
end
|
161
|
+
end
|
147
162
|
end
|
metadata
CHANGED
@@ -1,71 +1,87 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: net-ssh-session
|
3
|
-
version: !ruby/object:Gem::Version
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.4
|
4
5
|
prerelease:
|
5
|
-
version: 0.1.3
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- Dan Sosedoff
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2013-02-11 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
16
15
|
name: rake
|
17
|
-
|
18
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
19
17
|
none: false
|
20
|
-
requirements:
|
21
|
-
- -
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version:
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
24
22
|
type: :development
|
25
|
-
version_requirements: *id001
|
26
|
-
- !ruby/object:Gem::Dependency
|
27
|
-
name: rspec
|
28
23
|
prerelease: false
|
29
|
-
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: rspec
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
30
33
|
none: false
|
31
|
-
requirements:
|
34
|
+
requirements:
|
32
35
|
- - ~>
|
33
|
-
- !ruby/object:Gem::Version
|
34
|
-
version:
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '2.11'
|
35
38
|
type: :development
|
36
|
-
version_requirements: *id002
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
name: simplecov
|
39
39
|
prerelease: false
|
40
|
-
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '2.11'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: simplecov
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
41
49
|
none: false
|
42
|
-
requirements:
|
50
|
+
requirements:
|
43
51
|
- - ~>
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version:
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0.4'
|
46
54
|
type: :development
|
47
|
-
version_requirements: *id003
|
48
|
-
- !ruby/object:Gem::Dependency
|
49
|
-
name: net-ssh
|
50
55
|
prerelease: false
|
51
|
-
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0.4'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: net-ssh
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
52
65
|
none: false
|
53
|
-
requirements:
|
66
|
+
requirements:
|
54
67
|
- - ~>
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
version:
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '2.6'
|
57
70
|
type: :runtime
|
58
|
-
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '2.6'
|
59
78
|
description: Shell interface with helper methods to work with Net::SSH connections
|
60
|
-
email:
|
79
|
+
email:
|
61
80
|
- dan.sosedoff@gmail.com
|
62
81
|
executables: []
|
63
|
-
|
64
82
|
extensions: []
|
65
|
-
|
66
83
|
extra_rdoc_files: []
|
67
|
-
|
68
|
-
files:
|
84
|
+
files:
|
69
85
|
- .gitignore
|
70
86
|
- .rspec
|
71
87
|
- .travis.yml
|
@@ -89,32 +105,29 @@ files:
|
|
89
105
|
- spec/spec_helper.rb
|
90
106
|
homepage: https://github.com/sosedoff/net-ssh-session
|
91
107
|
licenses: []
|
92
|
-
|
93
108
|
post_install_message:
|
94
109
|
rdoc_options: []
|
95
|
-
|
96
|
-
require_paths:
|
110
|
+
require_paths:
|
97
111
|
- lib
|
98
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
112
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
99
113
|
none: false
|
100
|
-
requirements:
|
101
|
-
- -
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version:
|
104
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ! '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
105
119
|
none: false
|
106
|
-
requirements:
|
107
|
-
- -
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version:
|
120
|
+
requirements:
|
121
|
+
- - ! '>='
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: '0'
|
110
124
|
requirements: []
|
111
|
-
|
112
125
|
rubyforge_project:
|
113
126
|
rubygems_version: 1.8.24
|
114
127
|
signing_key:
|
115
128
|
specification_version: 3
|
116
129
|
summary: Shell session for Net::SSH connections
|
117
|
-
test_files:
|
130
|
+
test_files:
|
118
131
|
- spec/fixtures/.gitkeep
|
119
132
|
- spec/session_command_spec.rb
|
120
133
|
- spec/session_helpers_spec.rb
|