Maintain backwards compatibility, add legacy tests, some readability improvements
This commit is contained in:
@@ -80,7 +80,8 @@ module Zanzibar
|
||||
|
||||
def get_token
|
||||
begin
|
||||
response = @@client.call(:authenticate, message: { username: @@username, password: @@password, organization: "", domain: @@domain }).hash[:envelope][:body][:authenticate_response][:authenticate_result]
|
||||
response = @@client.call(:authenticate, message: { username: @@username, password: @@password, organization: "", domain: @@domain })
|
||||
.hash[:envelope][:body][:authenticate_response][:authenticate_result]
|
||||
raise "Error generating the authentication token for user #{@@username}: #{response[:errors][:string]}" if response[:errors]
|
||||
response[:token]
|
||||
rescue Savon::Error => err
|
||||
@@ -156,12 +157,32 @@ module Zanzibar
|
||||
FileUtils.mkdir_p(args[:path]) if args[:path]
|
||||
path = args[:path] ? args[:path] : '.' ## The File.join below doesn't handle nils well, so let's take that possibility away.
|
||||
begin
|
||||
response = @@client.call(:download_file_attachment_by_item_id, message: { token: token, secretId: args[:scrt_id], secretItemId: args[:scrt_item_id] || get_scrt_item_id(args[:scrt_id], args[:type], token)}).hash[:envelope][:body][:download_file_attachment_by_item_id_response][:download_file_attachment_by_item_id_result]
|
||||
response = @@client.call(:download_file_attachment_by_item_id, message:
|
||||
{ token: token, secretId: args[:scrt_id], secretItemId: args[:scrt_item_id] || get_scrt_item_id(args[:scrt_id], args[:type], token)})
|
||||
.hash[:envelope][:body][:download_file_attachment_by_item_id_response][:download_file_attachment_by_item_id_result]
|
||||
raise "There was an error getting the #{args[:type]} for secret #{args[:scrt_id]}: #{response[:errors][:string]}" if response[:errors]
|
||||
write_secret_to_file(path, response)
|
||||
rescue Savon::Error => err
|
||||
raise "There was an error getting the #{args[:type]} for secret #{args[:scrt_id]}: #{err}"
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
## Methods to maintain backwards compatibility
|
||||
def download_private_key(args = {})
|
||||
args[:type] = 'Private Key'
|
||||
download_secret_file(args)
|
||||
end
|
||||
|
||||
def download_public_key(args = {})
|
||||
args[:type] = 'Public Key'
|
||||
download_secret_file(args)
|
||||
end
|
||||
|
||||
def download_attachment(args = {})
|
||||
args[:type] = 'Attachment'
|
||||
download_secret_file(args)
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
@@ -53,6 +53,18 @@ describe "Zanzibar Test" do
|
||||
File.delete('zanzi_key')
|
||||
end
|
||||
|
||||
it 'should download a private key legacy' do
|
||||
stub_request(:any, "https://www.zanzitest.net/webservices/sswebservice.asmx").
|
||||
to_return(:body => auth_xml, :status => 200).then.
|
||||
to_return(:body => secret_with_key_xml, :status => 200).then.
|
||||
to_return(:body => private_key_xml, :status => 200)
|
||||
|
||||
client.download_private_key(:scrt_id => 2345)
|
||||
expect(File.exist? 'zanzi_key')
|
||||
expect(File.read('zanzi_key')).to eq("-----BEGIN RSA PRIVATE KEY -----\nzanzibarTestPassword\n-----END RSA PRIVATE KEY-----\n")
|
||||
File.delete('zanzi_key')
|
||||
end
|
||||
|
||||
|
||||
it 'should download a public key' do
|
||||
stub_request(:any, "https://www.zanzitest.net/webservices/sswebservice.asmx").
|
||||
@@ -66,6 +78,18 @@ describe "Zanzibar Test" do
|
||||
File.delete('zanzi_key.pub')
|
||||
end
|
||||
|
||||
it 'should download a public key legacy' do
|
||||
stub_request(:any, "https://www.zanzitest.net/webservices/sswebservice.asmx").
|
||||
to_return(:body => auth_xml, :status => 200).then.
|
||||
to_return(:body => secret_with_key_xml, :status => 200).then.
|
||||
to_return(:body => public_key_xml, :status => 200)
|
||||
|
||||
client.download_public_key(:scrt_id => 2345)
|
||||
expect(File.exist? 'zanzi_key.pub')
|
||||
expect(File.read('zanzi_key.pub')).to eq("1234PublicKey5678==\n")
|
||||
File.delete('zanzi_key.pub')
|
||||
end
|
||||
|
||||
it 'should download an attachment' do
|
||||
stub_request(:any, "https://www.zanzitest.net/webservices/sswebservice.asmx").
|
||||
to_return(:body => auth_xml, :status => 200).then.
|
||||
@@ -77,4 +101,16 @@ describe "Zanzibar Test" do
|
||||
expect(File.read('attachment.txt')).to eq("I am a secret attachment\n")
|
||||
File.delete('attachment.txt')
|
||||
end
|
||||
|
||||
it 'should download an attachment legacy' do
|
||||
stub_request(:any, "https://www.zanzitest.net/webservices/sswebservice.asmx").
|
||||
to_return(:body => auth_xml, :status => 200).then.
|
||||
to_return(:body => secret_with_attachment_xml, :status => 200).then.
|
||||
to_return(:body => attachment_xml, :status => 200)
|
||||
|
||||
client.download_attachment(:scrt_id => 3456)
|
||||
expect(File.exist? 'attachment.txt')
|
||||
expect(File.read('attachment.txt')).to eq("I am a secret attachment\n")
|
||||
File.delete('attachment.txt')
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user