# frozen_string_literal: true require 'spec_helper' describe Travis::CLI::Encrypt do example 'travis encrypt foo' do run_cli('encrypt', 'foo').should be_success stdout.should match(/^".{60,}"\n$/) end example 'travis encrypt foo -r rails/rails' do run_cli('encrypt', 'foo', '-r', 'rails/rails').should be_success stdout.should match(/^".{60,}"\n$/) end example 'travis encrypt foo -i' do run_cli('encrypt', 'foo', '-i', '--skip-completion-check', '-r', 'travis-ci/travis.rb').should be_success stdout.should start_with("Please add the following to your .travis.yml file:\n\n secure: ") end example 'cat foo | travis encrypt' do run_cli('encrypt') { |i| i.puts('foo') } stdout.should match(/\A".{60,}"\n\Z/) end example 'cat foo\\nbar | travis encrypt -s' do run_cli('encrypt', '-s') { |i| i.puts("foo\nbar") } stdout.should match(/\A(".{60,}"\n){2}\Z/) end example 'cat foo\\nbar | travis encrypt' do run_cli('encrypt') { |i| i.puts("foo\nbar") } stdout.should match(/\A".{60,}"\n\Z/) end example 'travis encrypt rails/rails foo' do run_cli('encrypt', 'rails/rails', 'foo').should be_success stderr.should match(/WARNING/) end example 'travis encrypt foo=foo/bar' do run_cli('encrypt', 'foo=foo/bar').should be_success stderr.should_not match(/WARNING/) end example 'travis encrypt FOO bar -a' do described_class.any_instance.stub(:save_travis_config) run_cli('encrypt', 'FOO', 'bar', '-a') { |i| i.puts 'foo' }.should be_success stderr.should match(/Environment variables in env\.global should be formatted as FOO=bar/) end example 'travis encrypt FOO bar -a foo' do described_class.any_instance.stub(:save_travis_config) run_cli('encrypt', 'FOO', 'bar', '-a', 'foo') { |i| i.puts 'foo' }.should be_success stdout.should match(/Overwrite the config file/) end example 'travis encrypt FOO bar -a --no-interactive' do described_class.any_instance.stub(:save_travis_config) run_cli('encrypt', 'FOO', 'bar', '-a', '--no-interactive').should be_success stderr.should match(/Environment variables in env\.global should be formatted as FOO=bar/) end example 'travis encrypt FOO=bar -a foo --no-interactive' do described_class.any_instance.stub(:save_travis_config) run_cli('encrypt', 'FOO=bar', '-a', 'foo', '--no-interactive').should be_success stdout.should be_empty end end