diff options
author | John Duarte <john.duarte@puppetlabs.com> | 2014-05-12 14:42:56 -0700 |
---|---|---|
committer | John Duarte <john.duarte@puppetlabs.com> | 2014-05-18 11:38:20 -0700 |
commit | 3d35e61e4377e73365b9f7c340b225d787fe3cbb (patch) | |
tree | 5d3d872c3094ea53530acfa92c8665ab08cbc8db /spec/acceptance/beaker/git/basic_auth/negative | |
parent | eeb52c491869c7916758b4d878018ef4df460bf3 (diff) | |
download | puppet-vcsrepo-3d35e61e4377e73365b9f7c340b225d787fe3cbb.tar.gz puppet-vcsrepo-3d35e61e4377e73365b9f7c340b225d787fe3cbb.tar.bz2 |
Add beaker tests for git basic auth
Diffstat (limited to 'spec/acceptance/beaker/git/basic_auth/negative')
-rw-r--r-- | spec/acceptance/beaker/git/basic_auth/negative/basic_auth_checkout_git.rb | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/spec/acceptance/beaker/git/basic_auth/negative/basic_auth_checkout_git.rb b/spec/acceptance/beaker/git/basic_auth/negative/basic_auth_checkout_git.rb new file mode 100644 index 0000000..9b0f190 --- /dev/null +++ b/spec/acceptance/beaker/git/basic_auth/negative/basic_auth_checkout_git.rb @@ -0,0 +1,49 @@ +test_name 'C3494 - checkout with basic auth (git protocol)' + +# Globals +repo_name = 'testrepo_checkout' +user = 'foo' +password = 'bar' +http_server_script = 'basic_auth_http_daemon.rb' + +hosts.each do |host| + tmpdir = host.tmpdir('vcsrepo') + step 'setup - create repo' do + install_package(host, 'git') + my_root = File.expand_path(File.join(File.dirname(__FILE__), '../../../../..')) + scp_to(host, "#{my_root}/acceptance/files/create_git_repo.sh", tmpdir) + on(host, "cd #{tmpdir} && ./create_git_repo.sh") + end + + step 'setup - start git daemon' do + install_package(host, 'git-daemon') + on(host, "nohup git daemon --detach --base-path=/#{tmpdir}") + end + + teardown do + on(host, "rm -fr #{tmpdir}") + on(host, 'pkill -9 git-daemon') + end + + step 'checkout with puppet using basic auth' do + pp = <<-EOS + vcsrepo { "#{tmpdir}/#{repo_name}": + ensure => present, + source => "git://#{host}/testrepo.git", + provider => git, + basic_auth_username => '#{user}', + basic_auth_password => '#{password}', + } + EOS + + apply_manifest_on(host, pp) + apply_manifest_on(host, pp) + end + + step "verify checkout (silent error for basic auth using git protocol)" do + on(host, "ls #{tmpdir}/#{repo_name}/.git/") do |res| + fail_test('checkout not found') unless res.stdout.include? "HEAD" + end + end + +end |