zanzibar 0.1.24 → 0.1.27
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.
- checksums.yaml +8 -8
- data/lib/zanzibar.rb +14 -6
- data/lib/zanzibar/actions/get.rb +8 -5
- data/lib/zanzibar/cli.rb +2 -0
- data/lib/zanzibar/version.rb +1 -1
- data/spec/lib/zanzibar/actions/get_spec.rb +5 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
OGUxZDk3YjZhOTljMGI5NGRjMjIyZGI2M2ZjN2Y3ZGM1NmY5ODllZg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MTkwY2NhNDVkNmE3Y2I0NDk2NmNmZWZlNzE2MDUzYzFhNDA0OTBlOQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ZDliNjVkMzA2NDU4NDAwYmJhNDliMGI1ZTEwYzZjYmM2ZmIwYTE4NjUyZTQ2
|
10
|
+
NTQzMTdkZDRmNjE0Mzg5NDk3NmM3YmQzYTJhNDdjZDlhMTQ1NGQ4ZTJjNjVk
|
11
|
+
Y2NjOTY0MDQwYTNhZWI5ZmY1NGNmMTU5NDdjYmFiYjc4MDMxYzQ=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
YTU2N2E5YzM0Zjc1NDY0NjZiNmM1MzdhMjIyYmI5ODY1YjI5N2E1MzM5NmE2
|
14
|
+
MmM5YmFkYzlmMzlhNDQzNTY3NWQ3NmM4NWJiNzQ5Zjk5NjcwNjFhNjQ2OGJj
|
15
|
+
MzNiOGNhMGJjNzc5MWJkZWYyYzk1ZGRiNWI2OGQxZWVmNThlMjQ=
|
data/lib/zanzibar.rb
CHANGED
@@ -113,17 +113,25 @@ module Zanzibar
|
|
113
113
|
raise "There was an error getting the secret with id #{scrt_id}: #{err}"
|
114
114
|
end
|
115
115
|
|
116
|
-
## Retrieve a
|
116
|
+
## Retrieve the value from a field label of a secret
|
117
117
|
# Will raise an error if there are any issues
|
118
118
|
# @param [Integer] the secret id
|
119
|
-
# @
|
120
|
-
|
121
|
-
def
|
119
|
+
# @param [String] the field label to get, defaults to Password
|
120
|
+
# @return [String] the value for the given field label
|
121
|
+
def get_fieldlabel_value(scrt_id, fieldlabel = 'Password')
|
122
122
|
secret = get_secret(scrt_id)
|
123
123
|
secret_items = secret[:secret][:items][:secret_item]
|
124
|
-
return get_secret_item_by_field_name(secret_items,
|
124
|
+
return get_secret_item_by_field_name(secret_items, fieldlabel)[:value]
|
125
125
|
rescue Savon::Error => err
|
126
|
-
raise "There was an error getting
|
126
|
+
raise "There was an error getting '#{fieldlabel}' for secret #{scrt_id}: #{err}"
|
127
|
+
end
|
128
|
+
|
129
|
+
## Retrieve a simple password from a secret
|
130
|
+
# Calls get get_fieldlabel_value()
|
131
|
+
# @param [Integer] the secret id
|
132
|
+
# @return [String] the password for the given secret
|
133
|
+
def get_password(scrt_id)
|
134
|
+
return get_fieldlabel_value(scrt_id)
|
127
135
|
end
|
128
136
|
|
129
137
|
## Get the password, save it to a file, and return the path to the file.
|
data/lib/zanzibar/actions/get.rb
CHANGED
@@ -20,18 +20,19 @@ module Zanzibar
|
|
20
20
|
construct_options
|
21
21
|
ensure_options
|
22
22
|
|
23
|
-
fetch_secret(@scrt_id
|
23
|
+
fetch_secret(@scrt_id)
|
24
24
|
end
|
25
25
|
|
26
|
-
def fetch_secret(scrt_id
|
26
|
+
def fetch_secret(scrt_id)
|
27
27
|
scrt = ::Zanzibar::Zanzibar.new(@zanzibar_options)
|
28
28
|
|
29
|
-
if
|
29
|
+
if @zanzibar_options[:filelabel]
|
30
30
|
scrt.download_secret_file(scrt_id: scrt_id,
|
31
|
-
type:
|
31
|
+
type: @zanzibar_options[:filelabel])
|
32
32
|
else
|
33
|
-
scrt.
|
33
|
+
scrt.get_fieldlabel_value(scrt_id, @zanzibar_options[:fieldlabel])
|
34
34
|
end
|
35
|
+
|
35
36
|
end
|
36
37
|
|
37
38
|
def construct_options
|
@@ -40,6 +41,8 @@ module Zanzibar
|
|
40
41
|
@zanzibar_options[:domain] = options['domain']
|
41
42
|
@zanzibar_options[:username] = options['username'] unless options['username'].nil?
|
42
43
|
@zanzibar_options[:domain] = options['domain'] ? options['domain'] : 'local'
|
44
|
+
@zanzibar_options[:fieldlabel] = options['fieldlabel'] || 'Password'
|
45
|
+
@zanzibar_options[:filelabel] = options['filelabel'] if options['filelabel']
|
43
46
|
end
|
44
47
|
|
45
48
|
def construct_wsdl
|
data/lib/zanzibar/cli.rb
CHANGED
@@ -76,6 +76,8 @@ module Zanzibar
|
|
76
76
|
desc: 'Don\'t verify Secret Server\'s SSL certificate'
|
77
77
|
option 'filelabel', type: :string, aliases: :f,
|
78
78
|
desc: 'Specify a file (by label) to download'
|
79
|
+
option 'fieldlabel', type: :string, aliases: :l,
|
80
|
+
desc: 'Specify a field (by label) to get'
|
79
81
|
option 'username', type: :string, aliases: :u
|
80
82
|
option 'password', type: :string, aliases: :p
|
81
83
|
def get(scrt_id)
|
data/lib/zanzibar/version.rb
CHANGED
@@ -47,6 +47,11 @@ describe Zanzibar::Cli do
|
|
47
47
|
expect { subject.get(1234) }.to raise_error.with_message(/#{Zanzibar::NO_WSDL_ERROR}/)
|
48
48
|
end
|
49
49
|
|
50
|
+
it 'should be able to get a field value' do
|
51
|
+
subject.options = { 'domain' => 'zanzitest.net', 'wsdl' => 'scrt.wsdl', 'fieldlabel' => 'Username' }
|
52
|
+
expect { subject.get(1234) }.to output(/ZanziUser/).to_stdout
|
53
|
+
end
|
54
|
+
|
50
55
|
it 'should be able to download files' do
|
51
56
|
WebMock.reset!
|
52
57
|
stub_request(:any, 'https://www.zanzitest.net/webservices/sswebservice.asmx')
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zanzibar
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.27
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jason Davis-Cooke
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-04-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|