Skip to content

Commit

Permalink
Merge a046678 into f22a7c5
Browse files Browse the repository at this point in the history
  • Loading branch information
brancz committed Jun 15, 2015
2 parents f22a7c5 + a046678 commit daf5c42
Show file tree
Hide file tree
Showing 7 changed files with 48 additions and 21 deletions.
13 changes: 12 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,17 @@
language: ruby
rvm:
- 2.2.2
- 2.2.2
- jruby-1.7.19
jdk:
- openjdk7
- oraclejdk7
- oraclejdk8
matrix:
exclude:
- rvm: 2.2.2
jdk: oraclejdk7
- rvm: 2.2.2
jdk: oraclejdk8
sudo: false
cache: bundler
deploy:
Expand Down
11 changes: 11 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,17 @@ written in ruby.

This implementation was heavily inspired by [travis-ci/travis.rb](https://github.com/travis-ci/travis.rb)

Compatibility
-------------

Tested against

* Ruby MRI
* JRuby

> Hint: Be sure to install the Java Cryptography Extension (JCE) Unlimited
> Strength Jurisdiction Policy Files for this to work on the JVM
CLI
===

Expand Down
8 changes: 8 additions & 0 deletions lib/duse/cli/command.rb
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,14 @@ def wrong_args(quantity)
say help
end
end

def format(data, format = nil, style = nil)
style ||= :important
data = format % color(data, style) if format and interactive?
data = data.gsub(/<\[\[/, '<%=').gsub(/\]\]>/, '%>')
data.encode! 'utf-8' if data.respond_to? :encode!
data
end
end
end
end
2 changes: 1 addition & 1 deletion lib/duse/cli/share_with_user.rb
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ def select_users(ignored_users = [])

def select_from_list(subjects, method = :to_s)
print_list(subjects, method)
selection = terminal.ask 'Type the ids of the users you want to share with (separate with commas to select multiple)'
selection = terminal.ask "Type the ids of the users you want to share with (separate with commas to select multiple)\n"
CommaSeparatedIntegerList.new(selection).map do |i|
fail InvalidSelection if subjects[i-1].nil?
subjects[i-1]
Expand Down
13 changes: 4 additions & 9 deletions spec/cli/commands/secret_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,8 @@

run_cli('secret', 'get') { |i| i.puts('1') }

expect(last_run.out).to eq(
"1: test\n\nSelect the id of the secret to retrieve: \nName: test\nSecret: test\nAccess: flower-pot\n"
expect(last_run.out).to match(
"1: test\n\nSelect the id of the secret to retrieve: (1\n)?\nName: test\nSecret: test\nAccess: flower-pot\n"
)
expect(last_run.err).to be_empty
end
Expand Down Expand Up @@ -125,13 +125,8 @@
i.puts '1'
end.success?).to be true

expect(last_run.out).to eq(
"What do you want to call this secret? " + # new lines are in stdin not stdout
"Secret to save: " +
"Do you want to share this secret?[y/n] " +
"Who do you want to share this secret with?\n" +
"1: adracus\n" +
"Type the ids of the users you want to share with (separate with commas to select multiple)\n"
expect(last_run.out).to match(
/What do you want to call this secret\? (test\n)?Secret to save: (test\n)?Do you want to share this secret\?\[y\/n\] (y\n)?Who do you want to share this secret with\?\n1: adracus\nType the ids of the users you want to share with \(separate with commas to select multiple\)\n(1\n)?/
)
end
end
Expand Down
2 changes: 2 additions & 0 deletions spec/client/secret_spec.rb
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# encoding: UTF-8

RSpec.describe Duse::Client::Secret do
before :each do
Duse.config = Duse::CLIConfig.new({ 'uri' => 'https://example.com/'})
Expand Down
20 changes: 10 additions & 10 deletions spec/client/user_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -33,59 +33,59 @@ def stub_create_user
describe '.create' do
it 'creates correct user entity from json create response' do
stub_create_user
public_key = "-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCftZvHkB6uKWVDvrIzmy2p496H\nv9PD/hhRk+DSXcE/CPtRmvYZzbWbbBup9hkvhyH/P1O5EF8KSZm4Cdnz6p37idTe\nNdlaH9cRFV2wc2A/hbg2kaISxrDxUqRbywBE9NOBSjXu2wRpy0TMo85eM2A0E2ET\n2XM6tZcuwFULX6bl8QIDAQAB\n-----END PUBLIC KEY-----\n"
public_key = OpenSSL::PKey::RSA.new("-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCftZvHkB6uKWVDvrIzmy2p496H\nv9PD/hhRk+DSXcE/CPtRmvYZzbWbbBup9hkvhyH/P1O5EF8KSZm4Cdnz6p37idTe\nNdlaH9cRFV2wc2A/hbg2kaISxrDxUqRbywBE9NOBSjXu2wRpy0TMo85eM2A0E2ET\n2XM6tZcuwFULX6bl8QIDAQAB\n-----END PUBLIC KEY-----\n")

user = Duse::User.create(
username: 'flower-pot',
email: 'flower-pot@example.org',
password: 'Passw0rd!',
password_confirmation: 'Passw0rd!',
public_key: public_key
public_key: public_key.to_s
)

expect(user.username).to eq 'flower-pot'
expect(user.email).to eq 'flower-pot@example.org'
expect(user.public_key.to_s).to eq public_key
expect(user.public_key.to_s).to eq public_key.to_s
end
end

describe '.find' do
context 'own user' do
it 'creates the correct entity when requesting own user' do
stub_user_me_get
public_key = "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmMm3Ovh7gU0rLHK4NiHh\nWaYRrV9PH6XtHqV0GoiHH7awrjVkT1aZiS+nlBxckfuvuQjRXakVCZh18UdQadVQ\n7FLTWMZNoZ/uh41g4Iv17Wh1I3Fgqihdm83cSWvJ81qQCVGBaKeVitSa49zT/Mmo\noBvYFwulaqJjhqFc3862Rl3WowzGVqGf+OiYhFrBbnIqXijDmVKsbqkG5AILGo1n\nng06HIAvMqUcGMebgoju9SuKaR+C46KT0K5sPpNw/tNcDEZqZAd25QjAroGnpRHS\nI9hTEuPopPSyRqz/EVQfbhi0LbkdDW9S5ECw7GfFPFpRp2239fjl/9ybL6TkeZL7\nAwIDAQAB\n-----END PUBLIC KEY-----\n"
public_key = OpenSSL::PKey::RSA.new("-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmMm3Ovh7gU0rLHK4NiHh\nWaYRrV9PH6XtHqV0GoiHH7awrjVkT1aZiS+nlBxckfuvuQjRXakVCZh18UdQadVQ\n7FLTWMZNoZ/uh41g4Iv17Wh1I3Fgqihdm83cSWvJ81qQCVGBaKeVitSa49zT/Mmo\noBvYFwulaqJjhqFc3862Rl3WowzGVqGf+OiYhFrBbnIqXijDmVKsbqkG5AILGo1n\nng06HIAvMqUcGMebgoju9SuKaR+C46KT0K5sPpNw/tNcDEZqZAd25QjAroGnpRHS\nI9hTEuPopPSyRqz/EVQfbhi0LbkdDW9S5ECw7GfFPFpRp2239fjl/9ybL6TkeZL7\nAwIDAQAB\n-----END PUBLIC KEY-----\n")

user = Duse::User.find 'me'

expect(user.username).to eq 'flower-pot'
expect(user.email).to eq 'flower-pot@example.org'
expect(user.public_key.to_s).to eq public_key
expect(user.public_key.to_s).to eq public_key.to_s
end
end

context 'server user' do
it 'creates the correct entity when requesting the server user' do
stub_server_user_get
public_key = "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvyvyAf7lnVx9eQcAS7JL\nYRHrqJJe51rAdanaUiiy8eek2Iyh6JG551EK7x4n9/Y7r0fW2sNmy+Bp3FpL8E/p\ncxutggTWCnUQUvXmEEm5qZ1KOIIlEQNp5glToAenJ7pxotJsTMlVw4tizsKScenc\n8w+02wpcmWuzWKjoY/G5KV33UDz/LxVo1RJdJp94JiL/OinIl+uk+Vf7VZj/E8g/\n7DyXIuiBosVpj9E9T4kpxs3/7RmUfDzUisVq0UvgflRjvP1V+1KdpNnjVB+H08mb\nSVO6yf2YOcrPDRa3pgz7PIr225QJ+HmVjPTg5VAy7rUxhCK+q+HNd2oz35zA70SO\npQIDAQAB\n-----END PUBLIC KEY-----\n"
public_key = OpenSSL::PKey::RSA.new("-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvyvyAf7lnVx9eQcAS7JL\nYRHrqJJe51rAdanaUiiy8eek2Iyh6JG551EK7x4n9/Y7r0fW2sNmy+Bp3FpL8E/p\ncxutggTWCnUQUvXmEEm5qZ1KOIIlEQNp5glToAenJ7pxotJsTMlVw4tizsKScenc\n8w+02wpcmWuzWKjoY/G5KV33UDz/LxVo1RJdJp94JiL/OinIl+uk+Vf7VZj/E8g/\n7DyXIuiBosVpj9E9T4kpxs3/7RmUfDzUisVq0UvgflRjvP1V+1KdpNnjVB+H08mb\nSVO6yf2YOcrPDRa3pgz7PIr225QJ+HmVjPTg5VAy7rUxhCK+q+HNd2oz35zA70SO\npQIDAQAB\n-----END PUBLIC KEY-----\n")

user = Duse::User.find 'server'

expect(user.username).to eq 'server'
expect(user.email).to eq 'server@localhost'
expect(user.public_key.to_s).to eq public_key
expect(user.public_key.to_s).to eq public_key.to_s
end
end

context 'any user' do
it 'creates the correct entity when requesting a specific user' do
stub_get_other_user
public_key = "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0Y1b9awjW0nshQXk64uO\n1v+GYliBH8ogu6QjQDn0eoLIfcOibrotbhJuSS0G46yOhboOCZQWrwyqi4MYtTMB\nH3ITTmNkhzOkdRXLJGJXXv3OCYR0J+PdCXbrtfYkvqOgyJE4RAR6YBEO/XcQk0Em\nE4IDFq22Aar7MxSjrLk17LX9mTifdzg1xdxX5myX4NrXGVWTWKeS5klLWCe9AigQ\n35b8c2Zyehx6jxHk+jt5CguMC9VqSyJobKdu926W4k2AgzWRdZh0EvCg2wWjlYjc\nhJEnrpHLeJxGMEThPoGqgQWiG5BBYIl9kx1vg1QZmS2biS6djGpGIn8l8PN30+QS\n5QIDAQAB\n-----END PUBLIC KEY-----\n"
public_key = OpenSSL::PKey::RSA.new("-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0Y1b9awjW0nshQXk64uO\n1v+GYliBH8ogu6QjQDn0eoLIfcOibrotbhJuSS0G46yOhboOCZQWrwyqi4MYtTMB\nH3ITTmNkhzOkdRXLJGJXXv3OCYR0J+PdCXbrtfYkvqOgyJE4RAR6YBEO/XcQk0Em\nE4IDFq22Aar7MxSjrLk17LX9mTifdzg1xdxX5myX4NrXGVWTWKeS5klLWCe9AigQ\n35b8c2Zyehx6jxHk+jt5CguMC9VqSyJobKdu926W4k2AgzWRdZh0EvCg2wWjlYjc\nhJEnrpHLeJxGMEThPoGqgQWiG5BBYIl9kx1vg1QZmS2biS6djGpGIn8l8PN30+QS\n5QIDAQAB\n-----END PUBLIC KEY-----\n")

user = Duse::User.find 3

expect(user.username).to eq 'adracus'
expect(user.email).to eq 'adracus@example.org'
expect(user.public_key.to_s).to eq public_key
expect(user.public_key.to_s).to eq public_key.to_s
end
end
end
Expand All @@ -100,6 +100,6 @@ def stub_create_user
expect(user.attributes['public_key']).to be nil
expect(user.username).to eq 'adracus'
expect(user.email).to eq 'adracus@example.org'
expect(user.public_key.to_s).to eq "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0Y1b9awjW0nshQXk64uO\n1v+GYliBH8ogu6QjQDn0eoLIfcOibrotbhJuSS0G46yOhboOCZQWrwyqi4MYtTMB\nH3ITTmNkhzOkdRXLJGJXXv3OCYR0J+PdCXbrtfYkvqOgyJE4RAR6YBEO/XcQk0Em\nE4IDFq22Aar7MxSjrLk17LX9mTifdzg1xdxX5myX4NrXGVWTWKeS5klLWCe9AigQ\n35b8c2Zyehx6jxHk+jt5CguMC9VqSyJobKdu926W4k2AgzWRdZh0EvCg2wWjlYjc\nhJEnrpHLeJxGMEThPoGqgQWiG5BBYIl9kx1vg1QZmS2biS6djGpGIn8l8PN30+QS\n5QIDAQAB\n-----END PUBLIC KEY-----\n"
expect(user.public_key.to_s).to eq OpenSSL::PKey::RSA.new("-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0Y1b9awjW0nshQXk64uO\n1v+GYliBH8ogu6QjQDn0eoLIfcOibrotbhJuSS0G46yOhboOCZQWrwyqi4MYtTMB\nH3ITTmNkhzOkdRXLJGJXXv3OCYR0J+PdCXbrtfYkvqOgyJE4RAR6YBEO/XcQk0Em\nE4IDFq22Aar7MxSjrLk17LX9mTifdzg1xdxX5myX4NrXGVWTWKeS5klLWCe9AigQ\n35b8c2Zyehx6jxHk+jt5CguMC9VqSyJobKdu926W4k2AgzWRdZh0EvCg2wWjlYjc\nhJEnrpHLeJxGMEThPoGqgQWiG5BBYIl9kx1vg1QZmS2biS6djGpGIn8l8PN30+QS\n5QIDAQAB\n-----END PUBLIC KEY-----\n").to_s
end
end

0 comments on commit daf5c42

Please sign in to comment.