diff --git a/acceptance/tests/modules/build/build_basic.rb b/acceptance/tests/modules/build/build_basic.rb index e7260b0bc..e40ae9939 100644 --- a/acceptance/tests/modules/build/build_basic.rb +++ b/acceptance/tests/modules/build/build_basic.rb @@ -1,46 +1,46 @@ begin test_name "puppet module build (basic)" step 'Setup' apply_manifest_on master, "file { ['/etc/puppet/modules', '/usr/share/puppet/modules']: ensure => directory, recurse => true, purge => true, force => true }" apply_manifest_on master, <<-PP file { [ '/etc/puppet/modules/nginx', ]: ensure => directory; '/etc/puppet/modules/nginx/Modulefile': content => 'name "puppetlabs-nginx" version "0.0.1" source "git://github.com/puppetlabs/puppetlabs-nginx.git" author "Puppet Labs" license "Apache Version 2.0" summary "Nginx Module" description "Nginx" project_page "http://github.com/puppetlabs/puppetlabs-ntp" dependency "puppetlabs/stdlib", ">= 1.0.0" '; } PP step "Try to build a module with an absolute path" on master, puppet("module build /etc/puppet/modules/nginx") do assert_output <<-OUTPUT - Building /etc/puppet/modules/nginx for release + \e[mNotice: Building /etc/puppet/modules/nginx for release\e[0m Module built: /etc/puppet/modules/nginx/pkg/puppetlabs-nginx-0.0.1.tar.gz OUTPUT end on master, '[ -d /etc/puppet/modules/nginx/pkg/puppetlabs-nginx-0.0.1 ]' on master, '[ -f /etc/puppet/modules/nginx/pkg/puppetlabs-nginx-0.0.1.tar.gz ]' step "Try to build a module without providing a path" on master, ("cd /etc/puppet/modules/nginx && puppet module build") do assert_output <<-OUTPUT - Building /etc/puppet/modules/nginx for release + \e[mNotice: Building /etc/puppet/modules/nginx for release\e[0m Module built: /etc/puppet/modules/nginx/pkg/puppetlabs-nginx-0.0.1.tar.gz OUTPUT end on master, '[ -d /etc/puppet/modules/nginx/pkg/puppetlabs-nginx-0.0.1 ]' on master, '[ -f /etc/puppet/modules/nginx/pkg/puppetlabs-nginx-0.0.1.tar.gz ]' ensure step "Teardown" apply_manifest_on master, "file { '/etc/puppet/modules': recurse => true, purge => true, force => true }" end diff --git a/acceptance/tests/modules/install/already_installed.rb b/acceptance/tests/modules/install/already_installed.rb index 671501aec..945e42dff 100644 --- a/acceptance/tests/modules/install/already_installed.rb +++ b/acceptance/tests/modules/install/already_installed.rb @@ -1,65 +1,65 @@ test_name "puppet module install (already installed)" step 'Setup' stub_forge_on(master) # Ensure module path dirs are purged before and after the tests apply_manifest_on master, "file { ['/etc/puppet/modules', '/usr/share/puppet/modules']: ensure => directory, recurse => true, purge => true, force => true }" teardown do on master, "rm -rf /etc/puppet/modules" on master, "rm -rf /usr/share/puppet/modules" end apply_manifest_on master, <<-PP file { [ '/etc/puppet/modules/nginx', ]: ensure => directory; '/etc/puppet/modules/nginx/metadata.json': content => '{ "name": "pmtacceptance/nginx", "version": "0.0.1", "source": "", "author": "pmtacceptance", "license": "MIT", "dependencies": [] }'; } PP step "Try to install a module that is already installed" on master, puppet("module install pmtacceptance-nginx"), :acceptable_exit_codes => [1] do assert_output <<-OUTPUT - STDOUT> Preparing to install into /etc/puppet/modules ... + STDOUT> \e[mNotice: Preparing to install into /etc/puppet/modules ...\e[0m STDERR> \e[1;31mError: Could not install module 'pmtacceptance-nginx' (latest) STDERR> Module 'pmtacceptance-nginx' (v0.0.1) is already installed STDERR> Use `puppet module upgrade` to install a different version STDERR> Use `puppet module install --force` to re-install only this module\e[0m OUTPUT end on master, '[ -d /etc/puppet/modules/nginx ]' step "Try to install a specific version of a module that is already installed" on master, puppet("module install pmtacceptance-nginx --version 1.x"), :acceptable_exit_codes => [1] do assert_output <<-OUTPUT - STDOUT> Preparing to install into /etc/puppet/modules ... + STDOUT> \e[mNotice: Preparing to install into /etc/puppet/modules ...\e[0m STDERR> \e[1;31mError: Could not install module 'pmtacceptance-nginx' (v1.x) STDERR> Module 'pmtacceptance-nginx' (v0.0.1) is already installed STDERR> Use `puppet module upgrade` to install a different version STDERR> Use `puppet module install --force` to re-install only this module\e[0m OUTPUT end on master, '[ -d /etc/puppet/modules/nginx ]' step "Install a module that is already installed (with --force)" on master, puppet("module install pmtacceptance-nginx --force") do assert_output <<-OUTPUT - Preparing to install into /etc/puppet/modules ... - Downloading from https://forge.puppetlabs.com ... - Installing -- do not interrupt ... + \e[mNotice: Preparing to install into /etc/puppet/modules ...\e[0m + \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m + \e[mNotice: Installing -- do not interrupt ...\e[0m /etc/puppet/modules └── pmtacceptance-nginx (\e[0;36mv0.0.1\e[0m) OUTPUT end on master, '[ -d /etc/puppet/modules/nginx ]' diff --git a/acceptance/tests/modules/install/already_installed_elsewhere.rb b/acceptance/tests/modules/install/already_installed_elsewhere.rb index 0617941a6..3f98770a8 100644 --- a/acceptance/tests/modules/install/already_installed_elsewhere.rb +++ b/acceptance/tests/modules/install/already_installed_elsewhere.rb @@ -1,68 +1,68 @@ test_name "puppet module install (already installed elsewhere)" step 'Setup' stub_forge_on(master) # Ensure module path dirs are purged before and after the tests apply_manifest_on master, "file { ['/etc/puppet/modules', '/usr/share/puppet/modules']: ensure => directory, recurse => true, purge => true, force => true }" teardown do on master, "rm -rf /etc/puppet/modules" on master, "rm -rf /usr/share/puppet/modules" end apply_manifest_on master, <<-PP file { [ '/etc/puppet/modules', '/usr/share/puppet', '/usr/share/puppet/modules', '/usr/share/puppet/modules/nginx', ]: ensure => directory; '/usr/share/puppet/modules/nginx/metadata.json': content => '{ "name": "pmtacceptance/nginx", "version": "0.0.1", "source": "", "author": "pmtacceptance", "license": "MIT", "dependencies": [] }'; } PP step "Try to install a module that is already installed" on master, puppet("module install pmtacceptance-nginx"), :acceptable_exit_codes => [1] do assert_output <<-OUTPUT - STDOUT> Preparing to install into /etc/puppet/modules ... + STDOUT> \e[mNotice: Preparing to install into /etc/puppet/modules ...\e[0m STDERR> \e[1;31mError: Could not install module 'pmtacceptance-nginx' (latest) STDERR> Module 'pmtacceptance-nginx' (v0.0.1) is already installed STDERR> Use `puppet module upgrade` to install a different version STDERR> Use `puppet module install --force` to re-install only this module\e[0m OUTPUT end on master, '[ ! -d /etc/puppet/modules/nginx ]' step "Try to install a specific version of a module that is already installed" on master, puppet("module install pmtacceptance-nginx --version 1.x"), :acceptable_exit_codes => [1] do assert_output <<-OUTPUT - STDOUT> Preparing to install into /etc/puppet/modules ... + STDOUT> \e[mNotice: Preparing to install into /etc/puppet/modules ...\e[0m STDERR> \e[1;31mError: Could not install module 'pmtacceptance-nginx' (v1.x) STDERR> Module 'pmtacceptance-nginx' (v0.0.1) is already installed STDERR> Use `puppet module upgrade` to install a different version STDERR> Use `puppet module install --force` to re-install only this module\e[0m OUTPUT end on master, '[ ! -d /etc/puppet/modules/nginx ]' step "Install a module that is already installed (with --force)" on master, puppet("module install pmtacceptance-nginx --force") do assert_output <<-OUTPUT - Preparing to install into /etc/puppet/modules ... - Downloading from https://forge.puppetlabs.com ... - Installing -- do not interrupt ... + \e[mNotice: Preparing to install into /etc/puppet/modules ...\e[0m + \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m + \e[mNotice: Installing -- do not interrupt ...\e[0m /etc/puppet/modules └── pmtacceptance-nginx (\e[0;36mv0.0.1\e[0m) OUTPUT end on master, '[ -d /etc/puppet/modules/nginx ]' diff --git a/acceptance/tests/modules/install/already_installed_with_local_changes.rb b/acceptance/tests/modules/install/already_installed_with_local_changes.rb index 80f28081a..622c512e3 100644 --- a/acceptance/tests/modules/install/already_installed_with_local_changes.rb +++ b/acceptance/tests/modules/install/already_installed_with_local_changes.rb @@ -1,71 +1,71 @@ test_name "puppet module install (already installed with local changes)" step 'Setup' stub_forge_on(master) apply_manifest_on master, "file { ['/etc/puppet/modules', '/usr/share/puppet/modules']: ensure => directory, recurse => true, purge => true, force => true }" teardown do on master, "rm -rf /etc/puppet/modules" on master, "rm -rf /usr/share/puppet/modules" end apply_manifest_on master, <<-PP file { [ '/etc/puppet/modules/nginx', ]: ensure => directory; '/etc/puppet/modules/nginx/metadata.json': content => '{ "name": "pmtacceptance/nginx", "version": "0.0.1", "source": "", "author": "pmtacceptance", "license": "MIT", "checksums": { "README": "2a3adc3b053ef1004df0a02cefbae31f" }, "dependencies": [] }'; '/etc/puppet/modules/nginx/README': content => 'Nginx module'; } PP step "Try to install a module that is already installed" on master, puppet("module install pmtacceptance-nginx"), :acceptable_exit_codes => [1] do assert_output <<-OUTPUT - STDOUT> Preparing to install into /etc/puppet/modules ... + STDOUT> \e[mNotice: Preparing to install into /etc/puppet/modules ...\e[0m STDERR> \e[1;31mError: Could not install module 'pmtacceptance-nginx' (latest) STDERR> Module 'pmtacceptance-nginx' (v0.0.1) is already installed STDERR> Installed module has had changes made locally STDERR> Use `puppet module upgrade` to install a different version STDERR> Use `puppet module install --force` to re-install only this module\e[0m OUTPUT end on master, '[ -d /etc/puppet/modules/nginx ]' step "Try to install a specific version of a module that is already installed" on master, puppet("module install pmtacceptance-nginx --version 1.x"), :acceptable_exit_codes => [1] do assert_output <<-OUTPUT - STDOUT> Preparing to install into /etc/puppet/modules ... + STDOUT> \e[mNotice: Preparing to install into /etc/puppet/modules ...\e[0m STDERR> \e[1;31mError: Could not install module 'pmtacceptance-nginx' (v1.x) STDERR> Module 'pmtacceptance-nginx' (v0.0.1) is already installed STDERR> Installed module has had changes made locally STDERR> Use `puppet module upgrade` to install a different version STDERR> Use `puppet module install --force` to re-install only this module\e[0m OUTPUT end on master, '[ -d /etc/puppet/modules/nginx ]' step "Install a module that is already installed (with --force)" on master, puppet("module install pmtacceptance-nginx --force") do assert_output <<-OUTPUT - Preparing to install into /etc/puppet/modules ... - Downloading from https://forge.puppetlabs.com ... - Installing -- do not interrupt ... + \e[mNotice: Preparing to install into /etc/puppet/modules ...\e[0m + \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m + \e[mNotice: Installing -- do not interrupt ...\e[0m /etc/puppet/modules └── pmtacceptance-nginx (\e[0;36mv0.0.1\e[0m) OUTPUT end on master, '[ -d /etc/puppet/modules/nginx ]' diff --git a/acceptance/tests/modules/install/force_ignores_dependencies.rb b/acceptance/tests/modules/install/force_ignores_dependencies.rb index be55c25fc..d7a752ad6 100644 --- a/acceptance/tests/modules/install/force_ignores_dependencies.rb +++ b/acceptance/tests/modules/install/force_ignores_dependencies.rb @@ -1,41 +1,41 @@ test_name "puppet module install (force ignores dependencies)" step 'Setup' stub_forge_on(master) # Ensure module path dirs are purged before and after the tests apply_manifest_on master, "file { ['/etc/puppet/modules', '/usr/share/puppet/modules']: ensure => directory, recurse => true, purge => true, force => true }" teardown do on master, "rm -rf /etc/puppet/modules" on master, "rm -rf /usr/share/puppet/modules" end step "Try to install an unsatisfiable module" on master, puppet("module install pmtacceptance-php"), :acceptable_exit_codes => [1] do assert_output <<-OUTPUT - STDOUT> Preparing to install into /etc/puppet/modules ... - STDOUT> Downloading from https://forge.puppetlabs.com ... + STDOUT> \e[mNotice: Preparing to install into /etc/puppet/modules ...\e[0m + STDOUT> \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m STDERR> \e[1;31mError: Could not install module 'pmtacceptance-php' (latest: v0.0.2) STDERR> No version of 'pmtacceptance-php' will satisfy dependencies STDERR> You specified 'pmtacceptance-php' (latest: v0.0.2), STDERR> which depends on 'pmtacceptance-apache' (v0.0.1), STDERR> which depends on 'pmtacceptance-php' (v0.0.1) STDERR> Use `puppet module install --force` to install this module anyway\e[0m OUTPUT end on master, '[ ! -d /etc/puppet/modules/php ]' on master, '[ ! -d /etc/puppet/modules/apache ]' step "Install an unsatisfiable module with force" on master, puppet("module install pmtacceptance-php --force") do assert_output <<-OUTPUT - Preparing to install into /etc/puppet/modules ... - Downloading from https://forge.puppetlabs.com ... - Installing -- do not interrupt ... + \e[mNotice: Preparing to install into /etc/puppet/modules ...\e[0m + \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m + \e[mNotice: Installing -- do not interrupt ...\e[0m /etc/puppet/modules └── pmtacceptance-php (\e[0;36mv0.0.2\e[0m) OUTPUT end on master, '[ -d /etc/puppet/modules/php ]' on master, '[ ! -d /etc/puppet/modules/apache ]' diff --git a/acceptance/tests/modules/install/ignoring_dependencies.rb b/acceptance/tests/modules/install/ignoring_dependencies.rb index 9b2f2f9ca..497e7ea2a 100644 --- a/acceptance/tests/modules/install/ignoring_dependencies.rb +++ b/acceptance/tests/modules/install/ignoring_dependencies.rb @@ -1,25 +1,25 @@ test_name "puppet module install (ignoring dependencies)" step 'Setup' stub_forge_on(master) # Ensure module path dirs are purged before and after the tests apply_manifest_on master, "file { ['/etc/puppet/modules', '/usr/share/puppet/modules']: ensure => directory, recurse => true, purge => true, force => true }" teardown do on master, "rm -rf /etc/puppet/modules" on master, "rm -rf /usr/share/puppet/modules" end step "Install a module, but ignore dependencies" on master, puppet("module install pmtacceptance-java --ignore-dependencies") do assert_output <<-OUTPUT - Preparing to install into /etc/puppet/modules ... - Downloading from https://forge.puppetlabs.com ... - Installing -- do not interrupt ... + \e[mNotice: Preparing to install into /etc/puppet/modules ...\e[0m + \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m + \e[mNotice: Installing -- do not interrupt ...\e[0m /etc/puppet/modules └── pmtacceptance-java (\e[0;36mv1.7.1\e[0m) OUTPUT end on master, '[ -d /etc/puppet/modules/java ]' on master, '[ ! -d /etc/puppet/modules/stdlib ]' diff --git a/acceptance/tests/modules/install/nonexistent_directory.rb b/acceptance/tests/modules/install/nonexistent_directory.rb index 8bf07bd91..87fb79005 100644 --- a/acceptance/tests/modules/install/nonexistent_directory.rb +++ b/acceptance/tests/modules/install/nonexistent_directory.rb @@ -1,45 +1,45 @@ test_name "puppet module install (nonexistent directory)" step 'Setup' stub_forge_on(master) apply_manifest_on master, <<-PP file { [ '/etc/puppet/modules', '/tmp/modules', ]: ensure => absent, recurse => true, force => true; } PP teardown do on master, "rm -rf /etc/puppet/modules" on master, "rm -rf /tmp/modules" end step "Try to install a module to a non-existent directory" on master, puppet("module install pmtacceptance-nginx --target-dir /tmp/modules") do assert_output <<-OUTPUT - Preparing to install into /tmp/modules ... - Created target directory /tmp/modules - Downloading from https://forge.puppetlabs.com ... - Installing -- do not interrupt ... + \e[mNotice: Preparing to install into /tmp/modules ...\e[0m + \e[mNotice: Created target directory /tmp/modules\e[0m + \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m + \e[mNotice: Installing -- do not interrupt ...\e[0m /tmp/modules └── pmtacceptance-nginx (\e[0;36mv0.0.1\e[0m) OUTPUT end on master, '[ -d /tmp/modules/nginx ]' step "Try to install a module to a non-existent implicit directory" on master, puppet("module install pmtacceptance-nginx") do assert_output <<-OUTPUT - Preparing to install into /etc/puppet/modules ... - Created target directory /etc/puppet/modules - Downloading from https://forge.puppetlabs.com ... - Installing -- do not interrupt ... + \e[mNotice: Preparing to install into /etc/puppet/modules ...\e[0m + \e[mNotice: Created target directory /etc/puppet/modules\e[0m + \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m + \e[mNotice: Installing -- do not interrupt ...\e[0m /etc/puppet/modules └── pmtacceptance-nginx (\e[0;36mv0.0.1\e[0m) OUTPUT end on master, '[ -d /etc/puppet/modules/nginx ]' diff --git a/acceptance/tests/modules/install/with_cycles.rb b/acceptance/tests/modules/install/with_cycles.rb index 379edd827..f00465b94 100644 --- a/acceptance/tests/modules/install/with_cycles.rb +++ b/acceptance/tests/modules/install/with_cycles.rb @@ -1,33 +1,33 @@ test_name "puppet module install (with cycles)" step 'Setup' stub_forge_on(master) # Ensure module path dirs are purged before and after the tests apply_manifest_on master, "file { ['/etc/puppet/modules', '/usr/share/puppet/modules']: ensure => directory, recurse => true, purge => true, force => true }" teardown do on master, "rm -rf /etc/puppet/modules" on master, "rm -rf /usr/share/puppet/modules" end step "Install a module with cycles" on master, puppet("module install pmtacceptance-php --version 0.0.1") do assert_output <<-OUTPUT - Preparing to install into /etc/puppet/modules ... - Downloading from https://forge.puppetlabs.com ... - Installing -- do not interrupt ... + \e[mNotice: Preparing to install into /etc/puppet/modules ...\e[0m + \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m + \e[mNotice: Installing -- do not interrupt ...\e[0m /etc/puppet/modules └─┬ pmtacceptance-php (\e[0;36mv0.0.1\e[0m) └── pmtacceptance-apache (\e[0;36mv0.0.1\e[0m) OUTPUT end on master, puppet('module list') do assert_output <<-OUTPUT /etc/puppet/modules ├── pmtacceptance-apache (\e[0;36mv0.0.1\e[0m) └── pmtacceptance-php (\e[0;36mv0.0.1\e[0m) /usr/share/puppet/modules (no modules installed) OUTPUT end diff --git a/acceptance/tests/modules/install/with_dependencies.rb b/acceptance/tests/modules/install/with_dependencies.rb index da34e1374..95d831206 100644 --- a/acceptance/tests/modules/install/with_dependencies.rb +++ b/acceptance/tests/modules/install/with_dependencies.rb @@ -1,26 +1,26 @@ test_name "puppet module install (with dependencies)" step 'Setup' stub_forge_on(master) # Ensure module path dirs are purged before and after the tests apply_manifest_on master, "file { ['/etc/puppet/modules', '/usr/share/puppet/modules']: ensure => directory, recurse => true, purge => true, force => true }" teardown do on master, "rm -rf /etc/puppet/modules" on master, "rm -rf /usr/share/puppet/modules" end step "Install a module with dependencies" on master, puppet("module install pmtacceptance-java") do assert_output <<-OUTPUT - Preparing to install into /etc/puppet/modules ... - Downloading from https://forge.puppetlabs.com ... - Installing -- do not interrupt ... + \e[mNotice: Preparing to install into /etc/puppet/modules ...\e[0m + \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m + \e[mNotice: Installing -- do not interrupt ...\e[0m /etc/puppet/modules └─┬ pmtacceptance-java (\e[0;36mv1.7.1\e[0m) └── pmtacceptance-stdlib (\e[0;36mv1.0.0\e[0m) OUTPUT end on master, '[ -d /etc/puppet/modules/java ]' on master, '[ -d /etc/puppet/modules/stdlib ]' diff --git a/acceptance/tests/modules/install/with_existing_module_directory.rb b/acceptance/tests/modules/install/with_existing_module_directory.rb index 1fdeccc3c..13627587a 100644 --- a/acceptance/tests/modules/install/with_existing_module_directory.rb +++ b/acceptance/tests/modules/install/with_existing_module_directory.rb @@ -1,103 +1,103 @@ begin test_name "puppet module install (with existing module directory)" step 'Setup' stub_forge_on(master) # Ensure module path dirs are purged before and after the tests apply_manifest_on master, "file { ['/etc/puppet/modules', '/usr/share/puppet/modules']: ensure => directory, recurse => true, purge => true, force => true }" teardown do on master, "rm -rf /etc/puppet/modules" on master, "rm -rf /usr/share/puppet/modules" end apply_manifest_on master, <<-PP file { [ '/etc/puppet/modules/nginx', '/etc/puppet/modules/apache', ]: ensure => directory; '/etc/puppet/modules/nginx/metadata.json': content => '{ "name": "notpmtacceptance/nginx", "version": "0.0.3", "source": "", "author": "notpmtacceptance", "license": "MIT", "dependencies": [] }'; [ '/etc/puppet/modules/nginx/extra.json', '/etc/puppet/modules/apache/extra.json', ]: content => ''; } PP step "Try to install an module with a name collision" on master, puppet("module install pmtacceptance-nginx"), :acceptable_exit_codes => [1] do assert_output <<-OUTPUT - STDOUT> Preparing to install into /etc/puppet/modules ... - STDOUT> Downloading from https://forge.puppetlabs.com ... + STDOUT> \e[mNotice: Preparing to install into /etc/puppet/modules ...\e[0m + STDOUT> \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m STDERR> \e[1;31mError: Could not install module 'pmtacceptance-nginx' (latest: v0.0.1) STDERR> Installation would overwrite /etc/puppet/modules/nginx STDERR> Currently, 'notpmtacceptance-nginx' (v0.0.3) is installed to that directory STDERR> Use `puppet module install --dir ` to install modules elsewhere STDERR> Use `puppet module install --force` to install this module anyway\e[0m OUTPUT end on master, '[ -f /etc/puppet/modules/nginx/extra.json ]' step "Try to install an module with a path collision" on master, puppet("module install pmtacceptance-apache"), :acceptable_exit_codes => [1] do assert_output <<-OUTPUT - STDOUT> Preparing to install into /etc/puppet/modules ... - STDOUT> Downloading from https://forge.puppetlabs.com ... + STDOUT> \e[mNotice: Preparing to install into /etc/puppet/modules ...\e[0m + STDOUT> \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m STDERR> \e[1;31mError: Could not install module 'pmtacceptance-apache' (latest: v0.0.1) STDERR> Installation would overwrite /etc/puppet/modules/apache STDERR> Use `puppet module install --dir ` to install modules elsewhere STDERR> Use `puppet module install --force` to install this module anyway\e[0m OUTPUT end on master, '[ -f /etc/puppet/modules/apache/extra.json ]' step "Try to install an module with a dependency that has collides" on master, puppet("module install pmtacceptance-php --version 0.0.1"), :acceptable_exit_codes => [1] do assert_output <<-OUTPUT - STDOUT> Preparing to install into /etc/puppet/modules ... - STDOUT> Downloading from https://forge.puppetlabs.com ... + STDOUT> \e[mNotice: Preparing to install into /etc/puppet/modules ...\e[0m + STDOUT> \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m STDERR> \e[1;31mError: Could not install module 'pmtacceptance-php' (v0.0.1) STDERR> Dependency 'pmtacceptance-apache' (v0.0.1) would overwrite /etc/puppet/modules/apache STDERR> Use `puppet module install --dir ` to install modules elsewhere STDERR> Use `puppet module install --ignore-dependencies` to install only this module\e[0m OUTPUT end on master, '[ -f /etc/puppet/modules/apache/extra.json ]' step "Install an module with a name collision by using --force" on master, puppet("module install pmtacceptance-nginx --force"), :acceptable_exit_codes => [0] do assert_output <<-OUTPUT - Preparing to install into /etc/puppet/modules ... - Downloading from https://forge.puppetlabs.com ... - Installing -- do not interrupt ... + \e[mNotice: Preparing to install into /etc/puppet/modules ...\e[0m + \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m + \e[mNotice: Installing -- do not interrupt ...\e[0m /etc/puppet/modules └── pmtacceptance-nginx (\e[0;36mv0.0.1\e[0m) OUTPUT end on master, '[ ! -f /etc/puppet/modules/nginx/extra.json ]' step "Install an module with a name collision by using --force" on master, puppet("module install pmtacceptance-apache --force"), :acceptable_exit_codes => [0] do assert_output <<-OUTPUT - Preparing to install into /etc/puppet/modules ... - Downloading from https://forge.puppetlabs.com ... - Installing -- do not interrupt ... + \e[mNotice: Preparing to install into /etc/puppet/modules ...\e[0m + \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m + \e[mNotice: Installing -- do not interrupt ...\e[0m /etc/puppet/modules └── pmtacceptance-apache (\e[0;36mv0.0.1\e[0m) OUTPUT end on master, '[ ! -f /etc/puppet/modules/apache/extra.json ]' ensure step "Teardown" apply_manifest_on master, "host { 'forge.puppetlabs.com': ensure => absent }" apply_manifest_on master, "file { '/etc/puppet/modules': recurse => true, purge => true, force => true }" end diff --git a/acceptance/tests/modules/install/with_modulepath.rb b/acceptance/tests/modules/install/with_modulepath.rb index ab30dcf9a..f4a5487c2 100644 --- a/acceptance/tests/modules/install/with_modulepath.rb +++ b/acceptance/tests/modules/install/with_modulepath.rb @@ -1,37 +1,37 @@ test_name "puppet module install (with modulepath)" step 'Setup' stub_forge_on(master) # Ensure module path dirs are purged before and after the tests apply_manifest_on master, "file { ['/etc/puppet/modules2', '/usr/share/puppet/modules']: ensure => directory, recurse => true, purge => true, force => true }" teardown do on master, "rm -rf /etc/puppet/modules2" on master, "rm -rf /usr/share/puppet/modules" end step "Install a module with relative modulepath" on master, "cd /etc/puppet/modules2 && puppet module install pmtacceptance-nginx --modulepath=." do assert_output <<-OUTPUT - Preparing to install into /etc/puppet/modules2 ... - Downloading from https://forge.puppetlabs.com ... - Installing -- do not interrupt ... + \e[mNotice: Preparing to install into /etc/puppet/modules2 ...\e[0m + \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m + \e[mNotice: Installing -- do not interrupt ...\e[0m /etc/puppet/modules2 └── pmtacceptance-nginx (\e[0;36mv0.0.1\e[0m) OUTPUT end on master, '[ -d /etc/puppet/modules2/nginx ]' apply_manifest_on master, "file { ['/etc/puppet/modules2']: ensure => directory, recurse => true, purge => true, force => true }" step "Install a module with absolute modulepath" on master, puppet('module install pmtacceptance-nginx --modulepath=/etc/puppet/modules2') do assert_output <<-OUTPUT - Preparing to install into /etc/puppet/modules2 ... - Downloading from https://forge.puppetlabs.com ... - Installing -- do not interrupt ... + \e[mNotice: Preparing to install into /etc/puppet/modules2 ...\e[0m + \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m + \e[mNotice: Installing -- do not interrupt ...\e[0m /etc/puppet/modules2 └── pmtacceptance-nginx (\e[0;36mv0.0.1\e[0m) OUTPUT end on master, '[ -d /etc/puppet/modules2/nginx ]' diff --git a/acceptance/tests/modules/install/with_necessary_upgrade.rb b/acceptance/tests/modules/install/with_necessary_upgrade.rb index 49b7a8be0..cf3ecb288 100644 --- a/acceptance/tests/modules/install/with_necessary_upgrade.rb +++ b/acceptance/tests/modules/install/with_necessary_upgrade.rb @@ -1,56 +1,56 @@ test_name "puppet module install (with necessary dependency upgrade)" step 'Setup' stub_forge_on(master) # Ensure module path dirs are purged before and after the tests apply_manifest_on master, "file { ['/etc/puppet/modules', '/usr/share/puppet/modules']: ensure => directory, recurse => true, purge => true, force => true }" teardown do on master, "rm -rf /etc/puppet/modules" on master, "rm -rf /usr/share/puppet/modules" end step "Install an older module version" on master, puppet("module install pmtacceptance-java --version 1.6.0") do assert_output <<-OUTPUT - Preparing to install into /etc/puppet/modules ... - Downloading from https://forge.puppetlabs.com ... - Installing -- do not interrupt ... + \e[mNotice: Preparing to install into /etc/puppet/modules ...\e[0m + \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m + \e[mNotice: Installing -- do not interrupt ...\e[0m /etc/puppet/modules └─┬ pmtacceptance-java (\e[0;36mv1.6.0\e[0m) └── pmtacceptance-stdlib (\e[0;36mv1.0.0\e[0m) OUTPUT end on master, puppet('module list --tree') do assert_output <<-OUTPUT /etc/puppet/modules └─┬ pmtacceptance-java (\e[0;36mv1.6.0\e[0m) └── pmtacceptance-stdlib (\e[0;36mv1.0.0\e[0m) /usr/share/puppet/modules (no modules installed) OUTPUT end step "Install a module that requires the older module dependency be upgraded" on master, puppet("module install pmtacceptance-apollo") do assert_output <<-OUTPUT - Preparing to install into /etc/puppet/modules ... - Downloading from https://forge.puppetlabs.com ... - Installing -- do not interrupt ... + \e[mNotice: Preparing to install into /etc/puppet/modules ...\e[0m + \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m + \e[mNotice: Installing -- do not interrupt ...\e[0m /etc/puppet/modules └─┬ pmtacceptance-apollo (\e[0;36mv0.0.1\e[0m) └── pmtacceptance-java (\e[0;36mv1.6.0 -> v1.7.1\e[0m) OUTPUT end on master, puppet('module list') do assert_output <<-OUTPUT /etc/puppet/modules ├── pmtacceptance-apollo (\e[0;36mv0.0.1\e[0m) ├── pmtacceptance-java (\e[0;36mv1.7.1\e[0m) └── pmtacceptance-stdlib (\e[0;36mv1.0.0\e[0m) /usr/share/puppet/modules (no modules installed) OUTPUT end diff --git a/acceptance/tests/modules/install/with_no_dependencies.rb b/acceptance/tests/modules/install/with_no_dependencies.rb index 9a52bf5c2..03f072723 100644 --- a/acceptance/tests/modules/install/with_no_dependencies.rb +++ b/acceptance/tests/modules/install/with_no_dependencies.rb @@ -1,24 +1,24 @@ test_name "puppet module install (with no dependencies)" step 'Setup' stub_forge_on(master) # Ensure module path dirs are purged before and after the tests apply_manifest_on master, "file { ['/etc/puppet/modules', '/usr/share/puppet/modules']: ensure => directory, recurse => true, purge => true, force => true }" teardown do on master, "rm -rf /etc/puppet/modules" on master, "rm -rf /usr/share/puppet/modules" end step "Install a module with no dependencies" on master, puppet("module install pmtacceptance-nginx") do assert_output <<-OUTPUT - Preparing to install into /etc/puppet/modules ... - Downloading from https://forge.puppetlabs.com ... - Installing -- do not interrupt ... + \e[mNotice: Preparing to install into /etc/puppet/modules ...\e[0m + \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m + \e[mNotice: Installing -- do not interrupt ...\e[0m /etc/puppet/modules └── pmtacceptance-nginx (\e[0;36mv0.0.1\e[0m) OUTPUT end on master, '[ -d /etc/puppet/modules/nginx ]' diff --git a/acceptance/tests/modules/install/with_unnecessary_upgrade.rb b/acceptance/tests/modules/install/with_unnecessary_upgrade.rb index 44cf09348..973bf69ef 100644 --- a/acceptance/tests/modules/install/with_unnecessary_upgrade.rb +++ b/acceptance/tests/modules/install/with_unnecessary_upgrade.rb @@ -1,55 +1,55 @@ test_name "puppet module install (with unnecessary dependency upgrade)" step 'Setup' stub_forge_on(master) # Ensure module path dirs are purged before and after the tests apply_manifest_on master, "file { ['/etc/puppet/modules', '/usr/share/puppet/modules']: ensure => directory, recurse => true, purge => true, force => true }" teardown do on master, "rm -rf /etc/puppet/modules" on master, "rm -rf /usr/share/puppet/modules" end step "Install an older module version" on master, puppet("module install pmtacceptance-java --version 1.7.0") do assert_output <<-OUTPUT - Preparing to install into /etc/puppet/modules ... - Downloading from https://forge.puppetlabs.com ... - Installing -- do not interrupt ... + \e[mNotice: Preparing to install into /etc/puppet/modules ...\e[0m + \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m + \e[mNotice: Installing -- do not interrupt ...\e[0m /etc/puppet/modules └─┬ pmtacceptance-java (\e[0;36mv1.7.0\e[0m) └── pmtacceptance-stdlib (\e[0;36mv1.0.0\e[0m) OUTPUT end on master, puppet('module list') do assert_output <<-OUTPUT /etc/puppet/modules ├── pmtacceptance-java (\e[0;36mv1.7.0\e[0m) └── pmtacceptance-stdlib (\e[0;36mv1.0.0\e[0m) /usr/share/puppet/modules (no modules installed) OUTPUT end step "Install a module that depends on a dependency that could be upgraded, but already satisfies constraints" on master, puppet("module install pmtacceptance-apollo") do assert_output <<-OUTPUT - Preparing to install into /etc/puppet/modules ... - Downloading from https://forge.puppetlabs.com ... - Installing -- do not interrupt ... + \e[mNotice: Preparing to install into /etc/puppet/modules ...\e[0m + \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m + \e[mNotice: Installing -- do not interrupt ...\e[0m /etc/puppet/modules └── pmtacceptance-apollo (\e[0;36mv0.0.1\e[0m) OUTPUT end on master, puppet('module list') do assert_output <<-OUTPUT /etc/puppet/modules ├── pmtacceptance-apollo (\e[0;36mv0.0.1\e[0m) ├── pmtacceptance-java (\e[0;36mv1.7.0\e[0m) └── pmtacceptance-stdlib (\e[0;36mv1.0.0\e[0m) /usr/share/puppet/modules (no modules installed) OUTPUT end diff --git a/acceptance/tests/modules/install/with_unsatisfied_constraints.rb b/acceptance/tests/modules/install/with_unsatisfied_constraints.rb index 430e02d04..b58f89e39 100644 --- a/acceptance/tests/modules/install/with_unsatisfied_constraints.rb +++ b/acceptance/tests/modules/install/with_unsatisfied_constraints.rb @@ -1,99 +1,99 @@ test_name "puppet module install (with unsatisfied constraints)" step 'Setup' stub_forge_on(master) # Ensure module path dirs are purged before and after the tests apply_manifest_on master, "file { ['/etc/puppet/modules', '/usr/share/puppet/modules']: ensure => directory, recurse => true, purge => true, force => true }" teardown do on master, "rm -rf /etc/puppet/modules" on master, "rm -rf /usr/share/puppet/modules" end apply_manifest_on master, <<-PP file { [ '/etc/puppet/modules/crakorn', ]: ensure => directory; '/etc/puppet/modules/crakorn/metadata.json': content => '{ "name": "jimmy/crakorn", "version": "0.0.1", "source": "", "author": "jimmy", "license": "MIT", "dependencies": [ { "name": "pmtacceptance/stdlib", "version_requirement": "1.x" } ] }'; } PP step "Try to install a module that has an unsatisfiable dependency" on master, puppet("module install pmtacceptance-git"), :acceptable_exit_codes => [1] do assert_output <<-OUTPUT - STDOUT> Preparing to install into /etc/puppet/modules ... - STDOUT> Downloading from https://forge.puppetlabs.com ... + STDOUT> \e[mNotice: Preparing to install into /etc/puppet/modules ...\e[0m + STDOUT> \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m STDERR> \e[1;31mError: Could not install module 'pmtacceptance-git' (latest: v0.0.1) STDERR> No version of 'pmtacceptance-stdlib' will satisfy dependencies STDERR> 'jimmy-crakorn' (v0.0.1) requires 'pmtacceptance-stdlib' (v1.x) STDERR> 'pmtacceptance-git' (v0.0.1) requires 'pmtacceptance-stdlib' (>= 2.0.0) STDERR> Use `puppet module install --ignore-dependencies` to install only this module\e[0m OUTPUT end on master, '[ ! -d /etc/puppet/modules/git ]' step "Install the module with an unsatisfiable dependency" on master, puppet("module install pmtacceptance-git --ignore-dependencies") do assert_output <<-OUTPUT - Preparing to install into /etc/puppet/modules ... - Downloading from https://forge.puppetlabs.com ... - Installing -- do not interrupt ... + \e[mNotice: Preparing to install into /etc/puppet/modules ...\e[0m + \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m + \e[mNotice: Installing -- do not interrupt ...\e[0m /etc/puppet/modules └── pmtacceptance-git (\e[0;36mv0.0.1\e[0m) OUTPUT end on master, '[ -d /etc/puppet/modules/git ]' step "Try to install a specific version of the unsatisfiable dependency" on master, puppet("module install pmtacceptance-stdlib --version 1.x"), :acceptable_exit_codes => [1] do assert_output <<-OUTPUT - STDOUT> Preparing to install into /etc/puppet/modules ... - STDOUT> Downloading from https://forge.puppetlabs.com ... + STDOUT> \e[mNotice: Preparing to install into /etc/puppet/modules ...\e[0m + STDOUT> \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m STDERR> \e[1;31mError: Could not install module 'pmtacceptance-stdlib' (v1.x) STDERR> No version of 'pmtacceptance-stdlib' will satisfy dependencies STDERR> You specified 'pmtacceptance-stdlib' (v1.x) STDERR> 'jimmy-crakorn' (v0.0.1) requires 'pmtacceptance-stdlib' (v1.x) STDERR> 'pmtacceptance-git' (v0.0.1) requires 'pmtacceptance-stdlib' (>= 2.0.0) STDERR> Use `puppet module install --force` to install this module anyway\e[0m OUTPUT end on master, '[ ! -d /etc/puppet/modules/stdlib ]' step "Try to install any version of the unsatisfiable dependency" on master, puppet("module install pmtacceptance-stdlib"), :acceptable_exit_codes => [1] do assert_output <<-OUTPUT - STDOUT> Preparing to install into /etc/puppet/modules ... - STDOUT> Downloading from https://forge.puppetlabs.com ... + STDOUT> \e[mNotice: Preparing to install into /etc/puppet/modules ...\e[0m + STDOUT> \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m STDERR> \e[1;31mError: Could not install module 'pmtacceptance-stdlib' (best: v1.0.0) STDERR> No version of 'pmtacceptance-stdlib' will satisfy dependencies STDERR> You specified 'pmtacceptance-stdlib' (best: v1.0.0) STDERR> 'jimmy-crakorn' (v0.0.1) requires 'pmtacceptance-stdlib' (v1.x) STDERR> 'pmtacceptance-git' (v0.0.1) requires 'pmtacceptance-stdlib' (>= 2.0.0) STDERR> Use `puppet module install --force` to install this module anyway\e[0m OUTPUT end on master, '[ ! -d /etc/puppet/modules/stdlib ]' step "Install the unsatisfiable dependency with --force" on master, puppet("module install pmtacceptance-stdlib --force") do assert_output <<-OUTPUT - Preparing to install into /etc/puppet/modules ... - Downloading from https://forge.puppetlabs.com ... - Installing -- do not interrupt ... + \e[mNotice: Preparing to install into /etc/puppet/modules ...\e[0m + \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m + \e[mNotice: Installing -- do not interrupt ...\e[0m /etc/puppet/modules └── pmtacceptance-stdlib (\e[0;36mv1.0.0\e[0m) OUTPUT end on master, '[ -d /etc/puppet/modules/stdlib ]' diff --git a/acceptance/tests/modules/search/by_description.rb b/acceptance/tests/modules/search/by_description.rb index 3e508e3b3..4088364cb 100644 --- a/acceptance/tests/modules/search/by_description.rb +++ b/acceptance/tests/modules/search/by_description.rb @@ -1,23 +1,23 @@ test_name 'puppet module search should do substring matches on description' step 'Setup' stub_forge_on(master) step 'Search for a module by description' on master, puppet("module search dummy") do assert_equal '', stderr # FIXME: The Forge does not presently match against description. # assert_equal <<-STDOUT, stdout -# Searching https://forge.puppetlabs.com ... +# \e[mNotice: Searching https://forge.puppetlabs.com ...\e[0m # NAME DESCRIPTION AUTHOR KEYWORDS # pmtacceptance-nginx This is a dummy nginx mo... @pmtacceptance nginx # pmtacceptance-thin This is a dummy thin mod... @pmtacceptance ruby thin # pmtacceptance-apollo This is a dummy apollo m... @pmtacceptance stomp apollo # pmtacceptance-java This is a dummy java mod... @pmtacceptance java # pmtacceptance-stdlib This is a dummy stdlib m... @pmtacceptance stdlib libs # pmtacceptance-git This is a dummy git modu... @pmtacceptance git dvcs # pmtacceptance-apache This is a dummy apache m... @pmtacceptance apache php # pmtacceptance-php This is a dummy php modu... @pmtacceptance apache php # pmtacceptance-geordi This is a module that do... @pmtacceptance star trek # STDOUT end diff --git a/acceptance/tests/modules/search/by_keyword.rb b/acceptance/tests/modules/search/by_keyword.rb index 6d36807c9..ae7878189 100644 --- a/acceptance/tests/modules/search/by_keyword.rb +++ b/acceptance/tests/modules/search/by_keyword.rb @@ -1,25 +1,25 @@ test_name 'puppet module search should do exact keyword matches' step 'Setup' stub_forge_on(master) step 'Search for a module by exact keyword' on master, puppet("module search github") do assert_equal '', stderr assert_equal <<-STDOUT, stdout -Searching https://forge.puppetlabs.com ... +\e[mNotice: Searching https://forge.puppetlabs.com ...\e[0m NAME DESCRIPTION AUTHOR KEYWORDS pmtacceptance-git This is a dummy git module... @pmtacceptance git \e[0;32mgithub\e[0m STDOUT end # FIXME: The Forge presently matches partial keywords. # step 'Search for a module by partial keyword' # on master, puppet("module search hub") do # assert_equal '', stderr # assert_equal <<-STDOUT, stdout -# Searching https://forge.puppetlabs.com ... +# \e[mNotice: Searching https://forge.puppetlabs.com ...\e[0m # No results found for 'hub'. # STDOUT # end diff --git a/acceptance/tests/modules/search/by_module_name.rb b/acceptance/tests/modules/search/by_module_name.rb index f321fdcd6..96ef47bc7 100644 --- a/acceptance/tests/modules/search/by_module_name.rb +++ b/acceptance/tests/modules/search/by_module_name.rb @@ -1,35 +1,35 @@ test_name 'Searching for modules by part of the name' step 'Setup' stub_forge_on(master) step 'Search for modules by partial name' on master, puppet("module search geordi") do assert_equal '', stderr assert_equal <<-STDOUT, stdout -Searching https://forge.puppetlabs.com ... +\e[mNotice: Searching https://forge.puppetlabs.com ...\e[0m NAME DESCRIPTION AUTHOR KEYWORDS pmtacceptance-\e[0;32mgeordi\e[0m This is a module that do... @pmtacceptance star trek STDOUT end # FIXME: The Forge does not presently support matches by dashed full name. # step 'Search for modules by partial full name (dashed)' # on master, puppet("module search tance-ge") do # assert_equal '', stderr # assert_equal <<-STDOUT, stdout -# Searching https://forge.puppetlabs.com ... +# \e[mNotice: Searching https://forge.puppetlabs.com ...\e[0m # NAME DESCRIPTION AUTHOR KEYWORDS # pmtacceptance-geordi This is a module that do... @pmtacceptance star trek # STDOUT # end step 'Search for modules by partial full name (slashed)' on master, puppet("module search tance/ge") do assert_equal '', stderr assert_equal <<-STDOUT, stdout -Searching https://forge.puppetlabs.com ... +\e[mNotice: Searching https://forge.puppetlabs.com ...\e[0m NAME DESCRIPTION AUTHOR KEYWORDS pmtaccep\e[0;32mtance-ge\e[0mordi This is a module that do... @pmtacceptance star trek STDOUT end diff --git a/acceptance/tests/modules/search/communication_error.rb b/acceptance/tests/modules/search/communication_error.rb index b78261372..87f0c5cb9 100644 --- a/acceptance/tests/modules/search/communication_error.rb +++ b/acceptance/tests/modules/search/communication_error.rb @@ -1,19 +1,19 @@ test_name 'puppet module search should print a reasonable message on communication errors' confine :except, :platform => 'solaris' step 'Setup' stub_hosts_on(master, 'forge.puppetlabs.com' => '127.0.0.2') step "Search against a non-existent Forge" on master, puppet("module search yup"), :acceptable_exit_codes => [1] do assert_match <<-STDOUT, stdout -Searching https://forge.puppetlabs.com ... +\e[mNotice: Searching https://forge.puppetlabs.com ...\e[0m STDOUT assert_match <<-STDERR.chomp, stderr Error: Could not connect to https://forge.puppetlabs.com There was a network communications problem The error we caught said 'Connection refused - connect(2)' Check your network connection and try again STDERR end diff --git a/acceptance/tests/modules/search/formatting.rb b/acceptance/tests/modules/search/formatting.rb index 96c1781f0..22f1c6262 100644 --- a/acceptance/tests/modules/search/formatting.rb +++ b/acceptance/tests/modules/search/formatting.rb @@ -1,17 +1,17 @@ test_name 'puppet module search output should be well structured' step 'Setup' stub_forge_on(master) step 'Search results should line up by column' on master, puppet("module search apache") do assert_equal('', stderr) - assert_equal "Searching https://forge.puppetlabs.com ...\n", stdout.lines.first + assert_equal "\e[mNotice: Searching https://forge.puppetlabs.com ...\e[0m\n", stdout.lines.first columns = stdout.lines.to_a[1].split(/\s{2}(?=\S)/) pattern = /^#{ columns.map { |c| c.chomp.gsub(/./, '.') }.join(' ') }$/ stdout.gsub(/\e.*?m/, '').lines.to_a[1..-1].each do |line| assert_match(pattern, line.chomp, 'columns were misaligned') end end diff --git a/acceptance/tests/modules/search/no_results.rb b/acceptance/tests/modules/search/no_results.rb index 7af23f905..10a45bed9 100644 --- a/acceptance/tests/modules/search/no_results.rb +++ b/acceptance/tests/modules/search/no_results.rb @@ -1,13 +1,13 @@ test_name 'puppet module search should print a reasonable message for no results' step 'Setup' stub_forge_on(master) step "Search for a module that doesn't exist" on master, puppet("module search module_not_appearing_in_this_forge") do assert_equal '', stderr assert_equal <<-STDOUT, stdout -Searching https://forge.puppetlabs.com ... +\e[mNotice: Searching https://forge.puppetlabs.com ...\e[0m No results found for 'module_not_appearing_in_this_forge'. STDOUT end diff --git a/acceptance/tests/modules/search/ssl_errors.rb b/acceptance/tests/modules/search/ssl_errors.rb index 0d1a5df11..e6c518efd 100644 --- a/acceptance/tests/modules/search/ssl_errors.rb +++ b/acceptance/tests/modules/search/ssl_errors.rb @@ -1,24 +1,24 @@ begin test_name 'puppet module search should print a reasonable message on ssl errors' step "Search against a website where the certificate is not signed by a public authority" # This might seem silly, but a master has a self-signed certificate and is a # cheap way of testing against a web server without a publicly signed cert with_master_running_on(master) do on master, puppet("module search yup --module_repository=https://#{master}:8140"), :acceptable_exit_codes => [1] do assert_match <<-STDOUT, stdout -Searching https://#{master}:8140 ... +\e[mNotice: Searching https://#{master}:8140 ...\e[0m STDOUT assert_match <<-STDERR.chomp, stderr Error: Could not connect via HTTPS to https://#{master}:8140 Unable to verify the SSL certificate The certificate may not be signed by a valid CA The CA bundle included with OpenSSL may not be valid or up to date STDERR end end ensure step 'Remove fake forge hostname' apply_manifest_on master, "host { 'fake.fakeforge.com': ensure => absent }" end diff --git a/acceptance/tests/modules/uninstall/using_directory_name.rb b/acceptance/tests/modules/uninstall/using_directory_name.rb index 96897a091..265f67c65 100644 --- a/acceptance/tests/modules/uninstall/using_directory_name.rb +++ b/acceptance/tests/modules/uninstall/using_directory_name.rb @@ -1,46 +1,46 @@ test_name "puppet module uninstall (using directory name)" step "Setup" apply_manifest_on master, <<-PP file { [ '/etc/puppet/modules', '/etc/puppet/modules/apache', '/etc/puppet/modules/crakorn', ]: ensure => directory; '/etc/puppet/modules/crakorn/metadata.json': content => '{ "name": "jimmy/crakorn", "version": "0.4.0", "source": "", "author": "jimmy", "license": "MIT", "dependencies": [] }'; } PP teardown do on master, "rm -rf /etc/puppet/modules" end on master, '[ -d /etc/puppet/modules/apache ]' on master, '[ -d /etc/puppet/modules/crakorn ]' step "Try to uninstall the module apache" on master, puppet('module uninstall apache') do assert_output <<-OUTPUT - Preparing to uninstall 'apache' ... + \e[mNotice: Preparing to uninstall 'apache' ...\e[0m Removed 'apache' from /etc/puppet/modules OUTPUT end on master, '[ ! -d /etc/puppet/modules/apache ]' step "Try to uninstall the module crakorn" on master, puppet('module uninstall crakorn'), :acceptable_exit_codes => [1] do assert_output <<-OUTPUT - STDOUT> Preparing to uninstall 'crakorn' ... + STDOUT> \e[mNotice: Preparing to uninstall 'crakorn' ...\e[0m STDERR> \e[1;31mError: Could not uninstall module 'crakorn' STDERR> Module 'crakorn' is not installed STDERR> You may have meant `puppet module uninstall jimmy-crakorn`\e[0m OUTPUT end on master, '[ -d /etc/puppet/modules/crakorn ]' diff --git a/acceptance/tests/modules/uninstall/using_version_filter.rb b/acceptance/tests/modules/uninstall/using_version_filter.rb index f5d25f87a..e015f0e17 100644 --- a/acceptance/tests/modules/uninstall/using_version_filter.rb +++ b/acceptance/tests/modules/uninstall/using_version_filter.rb @@ -1,59 +1,59 @@ test_name "puppet module uninstall (with module installed)" step "Setup" apply_manifest_on master, <<-PP file { [ '/etc/puppet/modules', '/etc/puppet/modules/crakorn', '/usr/share/puppet', '/usr/share/puppet/modules', '/usr/share/puppet/modules/crakorn', ]: ensure => directory; '/etc/puppet/modules/crakorn/metadata.json': content => '{ "name": "jimmy/crakorn", "version": "0.4.0", "source": "", "author": "jimmy", "license": "MIT", "dependencies": [] }'; '/usr/share/puppet/modules/crakorn/metadata.json': content => '{ "name": "jimmy/crakorn", "version": "0.5.1", "source": "", "author": "jimmy", "license": "MIT", "dependencies": [] }'; } PP teardown do on master, "rm -rf /etc/puppet/modules" on master, "rm -rf /usr/share/puppet/modules" end on master, '[ -d /etc/puppet/modules/crakorn ]' on master, '[ -d /usr/share/puppet/modules/crakorn ]' step "Uninstall jimmy-crakorn version 0.5.x" on master, puppet('module uninstall jimmy-crakorn --version 0.5.x') do assert_output <<-OUTPUT - Preparing to uninstall 'jimmy-crakorn' (\e[0;36mv0.5.x\e[0m) ... + \e[mNotice: Preparing to uninstall 'jimmy-crakorn' (\e[0;36mv0.5.x\e[m) ...\e[0m Removed 'jimmy-crakorn' (\e[0;36mv0.5.1\e[0m) from /usr/share/puppet/modules OUTPUT end on master, '[ -d /etc/puppet/modules/crakorn ]' on master, '[ ! -d /usr/share/puppet/modules/crakorn ]' step "Try to uninstall jimmy-crakorn v0.4.0 with `--version 0.5.x`" on master, puppet('module uninstall jimmy-crakorn --version 0.5.x'), :acceptable_exit_codes => [1] do assert_output <<-OUTPUT - STDOUT> Preparing to uninstall 'jimmy-crakorn' (\e[0;36mv0.5.x\e[0m) ... + STDOUT> \e[mNotice: Preparing to uninstall 'jimmy-crakorn' (\e[0;36mv0.5.x\e[m) ...\e[0m STDERR> \e[1;31mError: Could not uninstall module 'jimmy-crakorn' (v0.5.x) STDERR> No installed version of 'jimmy-crakorn' matches (v0.5.x) STDERR> 'jimmy-crakorn' (v0.4.0) is installed in /etc/puppet/modules\e[0m OUTPUT end on master, '[ -d /etc/puppet/modules/crakorn ]' diff --git a/acceptance/tests/modules/uninstall/with_active_dependency.rb b/acceptance/tests/modules/uninstall/with_active_dependency.rb index 0e63ca880..078499775 100644 --- a/acceptance/tests/modules/uninstall/with_active_dependency.rb +++ b/acceptance/tests/modules/uninstall/with_active_dependency.rb @@ -1,73 +1,73 @@ test_name "puppet module uninstall (with active dependency)" step "Setup" apply_manifest_on master, <<-PP file { [ '/etc/puppet/modules', '/etc/puppet/modules/crakorn', '/etc/puppet/modules/appleseed', ]: ensure => directory; '/etc/puppet/modules/crakorn/metadata.json': content => '{ "name": "jimmy/crakorn", "version": "0.4.0", "source": "", "author": "jimmy", "license": "MIT", "dependencies": [] }'; '/etc/puppet/modules/appleseed/metadata.json': content => '{ "name": "jimmy/appleseed", "version": "1.1.0", "source": "", "author": "jimmy", "license": "MIT", "dependencies": [ { "name": "jimmy/crakorn", "version_requirement": "0.4.0" } ] }'; } PP teardown do on master, "rm -rf /etc/puppet/modules" end on master, '[ -d /etc/puppet/modules/crakorn ]' on master, '[ -d /etc/puppet/modules/appleseed ]' step "Try to uninstall the module jimmy-crakorn" on master, puppet('module uninstall jimmy-crakorn'), :acceptable_exit_codes => [1] do assert_output <<-OUTPUT - STDOUT> Preparing to uninstall 'jimmy-crakorn' ... + STDOUT> \e[mNotice: Preparing to uninstall 'jimmy-crakorn' ...\e[0m STDERR> \e[1;31mError: Could not uninstall module 'jimmy-crakorn' STDERR> Other installed modules have dependencies on 'jimmy-crakorn' (v0.4.0) STDERR> 'jimmy/appleseed' (v1.1.0) requires 'jimmy-crakorn' (v0.4.0) STDERR> Use `puppet module uninstall --force` to uninstall this module anyway\e[0m OUTPUT end on master, '[ -d /etc/puppet/modules/crakorn ]' on master, '[ -d /etc/puppet/modules/appleseed ]' step "Try to uninstall the module jimmy-crakorn with a version range" on master, puppet('module uninstall jimmy-crakorn --version 0.x'), :acceptable_exit_codes => [1] do assert_output <<-OUTPUT - STDOUT> Preparing to uninstall 'jimmy-crakorn' (\e[0;36mv0.x\e[0m) ... + STDOUT> \e[mNotice: Preparing to uninstall 'jimmy-crakorn' (\e[0;36mv0.x\e[m) ...\e[0m STDERR> \e[1;31mError: Could not uninstall module 'jimmy-crakorn' (v0.x) STDERR> Other installed modules have dependencies on 'jimmy-crakorn' (v0.4.0) STDERR> 'jimmy/appleseed' (v1.1.0) requires 'jimmy-crakorn' (v0.4.0) STDERR> Use `puppet module uninstall --force` to uninstall this module anyway\e[0m OUTPUT end on master, '[ -d /etc/puppet/modules/crakorn ]' on master, '[ -d /etc/puppet/modules/appleseed ]' step "Uninstall the module jimmy-crakorn forcefully" on master, puppet('module uninstall jimmy-crakorn --force') do assert_output <<-OUTPUT - Preparing to uninstall 'jimmy-crakorn' ... + \e[mNotice: Preparing to uninstall 'jimmy-crakorn' ...\e[0m Removed 'jimmy-crakorn' (\e[0;36mv0.4.0\e[0m) from /etc/puppet/modules OUTPUT end on master, '[ ! -d /etc/puppet/modules/crakorn ]' on master, '[ -d /etc/puppet/modules/appleseed ]' diff --git a/acceptance/tests/modules/uninstall/with_module_installed.rb b/acceptance/tests/modules/uninstall/with_module_installed.rb index b103ea7fe..fa6d82e02 100644 --- a/acceptance/tests/modules/uninstall/with_module_installed.rb +++ b/acceptance/tests/modules/uninstall/with_module_installed.rb @@ -1,33 +1,33 @@ test_name "puppet module uninstall (with module installed)" step "Setup" apply_manifest_on master, <<-PP file { [ '/etc/puppet/modules', '/etc/puppet/modules/crakorn', ]: ensure => directory; '/etc/puppet/modules/crakorn/metadata.json': content => '{ "name": "jimmy/crakorn", "version": "0.4.0", "source": "", "author": "jimmy", "license": "MIT", "dependencies": [] }'; } PP teardown do on master, "rm -rf /etc/puppet/modules" end on master, '[ -d /etc/puppet/modules/crakorn ]' step "Uninstall the module jimmy-crakorn" on master, puppet('module uninstall jimmy-crakorn') do assert_output <<-OUTPUT - Preparing to uninstall 'jimmy-crakorn' ... + \e[mNotice: Preparing to uninstall 'jimmy-crakorn' ...\e[0m Removed 'jimmy-crakorn' (\e[0;36mv0.4.0\e[0m) from /etc/puppet/modules OUTPUT end on master, '[ ! -d /etc/puppet/modules/crakorn ]' diff --git a/acceptance/tests/modules/uninstall/with_modulepath.rb b/acceptance/tests/modules/uninstall/with_modulepath.rb index e61e686dd..860f5b63c 100644 --- a/acceptance/tests/modules/uninstall/with_modulepath.rb +++ b/acceptance/tests/modules/uninstall/with_modulepath.rb @@ -1,53 +1,53 @@ test_name "puppet module uninstall (with modulepath)" step "Setup" apply_manifest_on master, <<-PP file { [ '/etc/puppet/modules2', '/etc/puppet/modules2/crakorn', '/etc/puppet/modules2/absolute', ]: ensure => directory; '/etc/puppet/modules2/crakorn/metadata.json': content => '{ "name": "jimmy/crakorn", "version": "0.4.0", "source": "", "author": "jimmy", "license": "MIT", "dependencies": [] }'; '/etc/puppet/modules2/absolute/metadata.json': content => '{ "name": "jimmy/absolute", "version": "0.4.0", "source": "", "author": "jimmy", "license": "MIT", "dependencies": [] }'; } PP teardown do on master, "rm -rf /etc/puppet/modules2" end on master, '[ -d /etc/puppet/modules2/crakorn ]' on master, '[ -d /etc/puppet/modules2/absolute ]' step "Try to uninstall the module jimmy-crakorn using relative modulepath" on master, 'cd /etc/puppet/modules2 && puppet module uninstall jimmy-crakorn --modulepath=.' do assert_output <<-OUTPUT - Preparing to uninstall 'jimmy-crakorn' ... + \e[mNotice: Preparing to uninstall 'jimmy-crakorn' ...\e[0m Removed 'jimmy-crakorn' (\e[0;36mv0.4.0\e[0m) from /etc/puppet/modules2 OUTPUT end on master, '[ ! -d /etc/puppet/modules2/crakorn ]' step "Try to uninstall the module jimmy-absolute using an absolute modulepath" on master, 'cd /etc/puppet/modules2 && puppet module uninstall jimmy-absolute --modulepath=/etc/puppet/modules2' do assert_output <<-OUTPUT - Preparing to uninstall 'jimmy-absolute' ... + \e[mNotice: Preparing to uninstall 'jimmy-absolute' ...\e[0m Removed 'jimmy-absolute' (\e[0;36mv0.4.0\e[0m) from /etc/puppet/modules2 OUTPUT end on master, '[ ! -d /etc/puppet/modules2/absolute ]' diff --git a/acceptance/tests/modules/uninstall/with_multiple_modules_installed.rb b/acceptance/tests/modules/uninstall/with_multiple_modules_installed.rb index 8e81d0c69..26249cda6 100644 --- a/acceptance/tests/modules/uninstall/with_multiple_modules_installed.rb +++ b/acceptance/tests/modules/uninstall/with_multiple_modules_installed.rb @@ -1,44 +1,44 @@ test_name "puppet module uninstall (with multiple modules installed)" step 'Setup' stub_forge_on(master) apply_manifest_on master, "file { ['/etc/puppet/modules', '/usr/share/puppet/modules']: ensure => directory, recurse => true, purge => true, force => true }" teardown do on master, "rm -rf /etc/puppet/modules" on master, "rm -rf /usr/share/puppet/modules" end on master, puppet("module install pmtacceptance-java --version 1.6.0 --modulepath /etc/puppet/modules") on master, puppet("module install pmtacceptance-java --version 1.7.0 --modulepath /usr/share/puppet/modules") on master, puppet("module list") do assert_output <<-OUTPUT /etc/puppet/modules ├── pmtacceptance-java (\e[0;36mv1.6.0\e[0m) └── pmtacceptance-stdlib (\e[0;36mv1.0.0\e[0m) /usr/share/puppet/modules ├── pmtacceptance-java (\e[0;36mv1.7.0\e[0m) └── pmtacceptance-stdlib (\e[0;36mv1.0.0\e[0m) OUTPUT end step "Try to uninstall a module that exists multiple locations in the module path" on master, puppet("module uninstall pmtacceptance-java"), :acceptable_exit_codes => [1] do assert_output <<-OUTPUT - STDOUT> Preparing to uninstall 'pmtacceptance-java' ... + STDOUT> \e[mNotice: Preparing to uninstall 'pmtacceptance-java' ...\e[0m STDERR> \e[1;31mError: Could not uninstall module 'pmtacceptance-java' STDERR> Module 'pmtacceptance-java' appears multiple places in the module path STDERR> 'pmtacceptance-java' (v1.6.0) was found in /etc/puppet/modules STDERR> 'pmtacceptance-java' (v1.7.0) was found in /usr/share/puppet/modules STDERR> Use the `--modulepath` option to limit the search to specific directories\e[0m OUTPUT end step "Uninstall a module that exists multiple locations by restricting the --modulepath" on master, puppet("module uninstall pmtacceptance-java --modulepath /etc/puppet/modules") do assert_output <<-OUTPUT - Preparing to uninstall 'pmtacceptance-java' ... + \e[mNotice: Preparing to uninstall 'pmtacceptance-java' ...\e[0m Removed 'pmtacceptance-java' (\e[0;36mv1.6.0\e[0m) from /etc/puppet/modules OUTPUT end diff --git a/acceptance/tests/modules/upgrade/in_a_secondary_directory.rb b/acceptance/tests/modules/upgrade/in_a_secondary_directory.rb index 394fc2926..03481abc4 100644 --- a/acceptance/tests/modules/upgrade/in_a_secondary_directory.rb +++ b/acceptance/tests/modules/upgrade/in_a_secondary_directory.rb @@ -1,43 +1,43 @@ test_name "puppet module upgrade (in a secondary directory)" step 'Setup' stub_forge_on(master) apply_manifest_on master, <<-'MANIFEST1' file { '/usr/share/puppet': ensure => directory, } file { ['/etc/puppet/modules', '/usr/share/puppet/modules']: ensure => directory, recurse => true, purge => true, force => true, } MANIFEST1 teardown do on master, "rm -rf /etc/puppet/modules" on master, "rm -rf /usr/share/puppet/modules" end on master, puppet("module install pmtacceptance-java --version 1.6.0 --target-dir /usr/share/puppet/modules") on master, puppet("module list") do assert_output <<-OUTPUT /etc/puppet/modules (no modules installed) /usr/share/puppet/modules ├── pmtacceptance-java (\e[0;36mv1.6.0\e[0m) └── pmtacceptance-stdlib (\e[0;36mv1.0.0\e[0m) OUTPUT end step "Upgrade a module that has a more recent version published" on master, puppet("module upgrade pmtacceptance-java") do assert_output <<-OUTPUT - Preparing to upgrade 'pmtacceptance-java' ... - Found 'pmtacceptance-java' (\e[0;36mv1.6.0\e[0m) in /usr/share/puppet/modules ... - Downloading from https://forge.puppetlabs.com ... - Upgrading -- do not interrupt ... + \e[mNotice: Preparing to upgrade 'pmtacceptance-java' ...\e[0m + \e[mNotice: Found 'pmtacceptance-java' (\e[0;36mv1.6.0\e[m) in /usr/share/puppet/modules ...\e[0m + \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m + \e[mNotice: Upgrading -- do not interrupt ...\e[0m /usr/share/puppet/modules └── pmtacceptance-java (\e[0;36mv1.6.0 -> v1.7.1\e[0m) OUTPUT end diff --git a/acceptance/tests/modules/upgrade/introducing_new_dependencies.rb b/acceptance/tests/modules/upgrade/introducing_new_dependencies.rb index 0b0aec88e..474a34a3f 100644 --- a/acceptance/tests/modules/upgrade/introducing_new_dependencies.rb +++ b/acceptance/tests/modules/upgrade/introducing_new_dependencies.rb @@ -1,47 +1,47 @@ test_name "puppet module upgrade (introducing new dependencies)" step 'Setup' stub_forge_on(master) apply_manifest_on master, <<-'MANIFEST1' file { '/usr/share/puppet': ensure => directory, } file { ['/etc/puppet/modules', '/usr/share/puppet/modules']: ensure => directory, recurse => true, purge => true, force => true, } MANIFEST1 teardown do on master, "rm -rf /etc/puppet/modules" on master, "rm -rf /usr/share/puppet/modules" end on master, puppet("module install pmtacceptance-stdlib --version 1.0.0") on master, puppet("module install pmtacceptance-java --version 1.7.0") on master, puppet("module install pmtacceptance-postgresql --version 0.0.2") on master, puppet("module list") do assert_output <<-OUTPUT /etc/puppet/modules ├── pmtacceptance-java (\e[0;36mv1.7.0\e[0m) ├── pmtacceptance-postgresql (\e[0;36mv0.0.2\e[0m) └── pmtacceptance-stdlib (\e[0;36mv1.0.0\e[0m) /usr/share/puppet/modules (no modules installed) OUTPUT end step "Upgrade a module to a version that introduces new dependencies" on master, puppet("module upgrade pmtacceptance-postgresql") do assert_output <<-OUTPUT - Preparing to upgrade 'pmtacceptance-postgresql' ... - Found 'pmtacceptance-postgresql' (\e[0;36mv0.0.2\e[0m) in /etc/puppet/modules ... - Downloading from https://forge.puppetlabs.com ... - Upgrading -- do not interrupt ... + \e[mNotice: Preparing to upgrade 'pmtacceptance-postgresql' ...\e[0m + \e[mNotice: Found 'pmtacceptance-postgresql' (\e[0;36mv0.0.2\e[m) in /etc/puppet/modules ...\e[0m + \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m + \e[mNotice: Upgrading -- do not interrupt ...\e[0m /etc/puppet/modules └─┬ pmtacceptance-postgresql (\e[0;36mv0.0.2 -> v1.0.0\e[0m) └── pmtacceptance-geordi (\e[0;36mv0.0.1\e[0m) OUTPUT end diff --git a/acceptance/tests/modules/upgrade/not_upgradable.rb b/acceptance/tests/modules/upgrade/not_upgradable.rb index cd0d11acd..891bb81c8 100644 --- a/acceptance/tests/modules/upgrade/not_upgradable.rb +++ b/acceptance/tests/modules/upgrade/not_upgradable.rb @@ -1,93 +1,93 @@ test_name "puppet module upgrade (not upgradable)" step 'Setup' stub_forge_on(master) apply_manifest_on master, <<-'MANIFEST1' file { '/usr/share/puppet': ensure => directory, } file { ['/etc/puppet/modules', '/usr/share/puppet/modules']: ensure => directory, recurse => true, purge => true, force => true, } MANIFEST1 teardown do on master, "rm -rf /etc/puppet/modules" on master, "rm -rf /usr/share/puppet/modules" end apply_manifest_on master, <<-PP file { [ '/etc/puppet/modules/nginx', '/etc/puppet/modules/unicorns', ]: ensure => directory; '/etc/puppet/modules/unicorns/metadata.json': content => '{ "name": "notpmtacceptance/unicorns", "version": "0.0.3", "source": "", "author": "notpmtacceptance", "license": "MIT", "dependencies": [] }'; } PP on master, puppet("module install pmtacceptance-java --version 1.6.0") on master, puppet("module list") do assert_output <<-OUTPUT /etc/puppet/modules ├── nginx (\e[0;36m???\e[0m) ├── notpmtacceptance-unicorns (\e[0;36mv0.0.3\e[0m) ├── pmtacceptance-java (\e[0;36mv1.6.0\e[0m) └── pmtacceptance-stdlib (\e[0;36mv1.0.0\e[0m) /usr/share/puppet/modules (no modules installed) OUTPUT end step "Try to upgrade a module that is not installed" on master, puppet("module upgrade pmtacceptance-nginx"), :acceptable_exit_codes => [1] do assert_output <<-OUTPUT - STDOUT> Preparing to upgrade 'pmtacceptance-nginx' ... + STDOUT> \e[mNotice: Preparing to upgrade 'pmtacceptance-nginx' ...\e[0m STDERR> \e[1;31mError: Could not upgrade module 'pmtacceptance-nginx' STDERR> Module 'pmtacceptance-nginx' is not installed STDERR> Use `puppet module install` to install this module\e[0m OUTPUT end step "Try to upgrade a local module" on master, puppet("module upgrade nginx"), :acceptable_exit_codes => [1] do assert_output <<-OUTPUT - STDOUT> Preparing to upgrade 'nginx' ... - STDOUT> Found 'nginx' (\e[0;36m???\e[0m) in /etc/puppet/modules ... - STDOUT> Downloading from https://forge.puppetlabs.com ... + STDOUT> \e[mNotice: Preparing to upgrade 'nginx' ...\e[0m + STDOUT> \e[mNotice: Found 'nginx' (\e[0;36m???\e[m) in /etc/puppet/modules ...\e[0m + STDOUT> \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m STDERR> \e[1;31mError: Could not upgrade module 'nginx' (??? -> latest) STDERR> Module 'nginx' does not exist on https://forge.puppetlabs.com\e[0m OUTPUT end step "Try to upgrade a module that doesn't exist" on master, puppet("module upgrade notpmtacceptance-unicorns"), :acceptable_exit_codes => [1] do assert_output <<-OUTPUT - STDOUT> Preparing to upgrade 'notpmtacceptance-unicorns' ... - STDOUT> Found 'notpmtacceptance-unicorns' (\e[0;36mv0.0.3\e[0m) in /etc/puppet/modules ... - STDOUT> Downloading from https://forge.puppetlabs.com ... + STDOUT> \e[mNotice: Preparing to upgrade 'notpmtacceptance-unicorns' ...\e[0m + STDOUT> \e[mNotice: Found 'notpmtacceptance-unicorns' (\e[0;36mv0.0.3\e[m) in /etc/puppet/modules ...\e[0m + STDOUT> \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m STDERR> \e[1;31mError: Could not upgrade module 'notpmtacceptance-unicorns' (v0.0.3 -> latest) STDERR> Module 'notpmtacceptance-unicorns' does not exist on https://forge.puppetlabs.com\e[0m OUTPUT end step "Try to upgrade an installed module to a version that doesn't exist" on master, puppet("module upgrade pmtacceptance-java --version 2.0.0"), :acceptable_exit_codes => [1] do assert_output <<-OUTPUT - STDOUT> Preparing to upgrade 'pmtacceptance-java' ... - STDOUT> Found 'pmtacceptance-java' (\e[0;36mv1.6.0\e[0m) in /etc/puppet/modules ... - STDOUT> Downloading from https://forge.puppetlabs.com ... + STDOUT> \e[mNotice: Preparing to upgrade 'pmtacceptance-java' ...\e[0m + STDOUT> \e[mNotice: Found 'pmtacceptance-java' (\e[0;36mv1.6.0\e[m) in /etc/puppet/modules ...\e[0m + STDOUT> \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m STDERR> \e[1;31mError: Could not upgrade module 'pmtacceptance-java' (v1.6.0 -> v2.0.0) STDERR> No version matching '2.0.0' exists on https://forge.puppetlabs.com\e[0m OUTPUT end diff --git a/acceptance/tests/modules/upgrade/that_was_installed_twice.rb b/acceptance/tests/modules/upgrade/that_was_installed_twice.rb index 8c825c24e..481578b93 100644 --- a/acceptance/tests/modules/upgrade/that_was_installed_twice.rb +++ b/acceptance/tests/modules/upgrade/that_was_installed_twice.rb @@ -1,58 +1,58 @@ test_name "puppet module upgrade (that was installed twice)" step 'Setup' stub_forge_on(master) apply_manifest_on master, <<-'MANIFEST1' file { '/usr/share/puppet': ensure => directory, } file { ['/etc/puppet/modules', '/usr/share/puppet/modules']: ensure => directory, recurse => true, purge => true, force => true, } MANIFEST1 teardown do on master, "rm -rf /etc/puppet/modules" on master, "rm -rf /usr/share/puppet/modules" end on master, puppet("module install pmtacceptance-java --version 1.6.0 --modulepath /etc/puppet/modules") on master, puppet("module install pmtacceptance-java --version 1.7.0 --modulepath /usr/share/puppet/modules") on master, puppet("module list") do assert_output <<-OUTPUT /etc/puppet/modules ├── pmtacceptance-java (\e[0;36mv1.6.0\e[0m) └── pmtacceptance-stdlib (\e[0;36mv1.0.0\e[0m) /usr/share/puppet/modules ├── pmtacceptance-java (\e[0;36mv1.7.0\e[0m) └── pmtacceptance-stdlib (\e[0;36mv1.0.0\e[0m) OUTPUT end step "Try to upgrade a module that exists multiple locations in the module path" on master, puppet("module upgrade pmtacceptance-java"), :acceptable_exit_codes => [1] do assert_output <<-OUTPUT - STDOUT> Preparing to upgrade 'pmtacceptance-java' ... + STDOUT> \e[mNotice: Preparing to upgrade 'pmtacceptance-java' ...\e[0m STDERR> \e[1;31mError: Could not upgrade module 'pmtacceptance-java' STDERR> Module 'pmtacceptance-java' appears multiple places in the module path STDERR> 'pmtacceptance-java' (v1.6.0) was found in /etc/puppet/modules STDERR> 'pmtacceptance-java' (v1.7.0) was found in /usr/share/puppet/modules STDERR> Use the `--modulepath` option to limit the search to specific directories\e[0m OUTPUT end step "Upgrade a module that exists multiple locations by restricting the --modulepath" on master, puppet("module upgrade pmtacceptance-java --modulepath /etc/puppet/modules") do assert_output <<-OUTPUT - Preparing to upgrade 'pmtacceptance-java' ... - Found 'pmtacceptance-java' (\e[0;36mv1.6.0\e[0m) in /etc/puppet/modules ... - Downloading from https://forge.puppetlabs.com ... - Upgrading -- do not interrupt ... + \e[mNotice: Preparing to upgrade 'pmtacceptance-java' ...\e[0m + \e[mNotice: Found 'pmtacceptance-java' (\e[0;36mv1.6.0\e[m) in /etc/puppet/modules ...\e[0m + \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m + \e[mNotice: Upgrading -- do not interrupt ...\e[0m /etc/puppet/modules └── pmtacceptance-java (\e[0;36mv1.6.0 -> v1.7.1\e[0m) OUTPUT end diff --git a/acceptance/tests/modules/upgrade/to_a_specific_version.rb b/acceptance/tests/modules/upgrade/to_a_specific_version.rb index 043c68ebf..3de4622d0 100644 --- a/acceptance/tests/modules/upgrade/to_a_specific_version.rb +++ b/acceptance/tests/modules/upgrade/to_a_specific_version.rb @@ -1,55 +1,55 @@ test_name "puppet module upgrade (to a specific version)" step 'Setup' stub_forge_on(master) apply_manifest_on master, <<-'MANIFEST1' file { '/usr/share/puppet': ensure => directory, } file { ['/etc/puppet/modules', '/usr/share/puppet/modules']: ensure => directory, recurse => true, purge => true, force => true, } MANIFEST1 teardown do on master, "rm -rf /etc/puppet/modules" on master, "rm -rf /usr/share/puppet/modules" end on master, puppet("module install pmtacceptance-java --version 1.6.0") on master, puppet("module list") do assert_output <<-OUTPUT /etc/puppet/modules ├── pmtacceptance-java (\e[0;36mv1.6.0\e[0m) └── pmtacceptance-stdlib (\e[0;36mv1.0.0\e[0m) /usr/share/puppet/modules (no modules installed) OUTPUT end step "Upgrade a module to a specific (greater) version" on master, puppet("module upgrade pmtacceptance-java --version 1.7.0") do assert_output <<-OUTPUT - Preparing to upgrade 'pmtacceptance-java' ... - Found 'pmtacceptance-java' (\e[0;36mv1.6.0\e[0m) in /etc/puppet/modules ... - Downloading from https://forge.puppetlabs.com ... - Upgrading -- do not interrupt ... + \e[mNotice: Preparing to upgrade 'pmtacceptance-java' ...\e[0m + \e[mNotice: Found 'pmtacceptance-java' (\e[0;36mv1.6.0\e[m) in /etc/puppet/modules ...\e[0m + \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m + \e[mNotice: Upgrading -- do not interrupt ...\e[0m /etc/puppet/modules └── pmtacceptance-java (\e[0;36mv1.6.0 -> v1.7.0\e[0m) OUTPUT end step "Upgrade a module to a specific (lesser) version" on master, puppet("module upgrade pmtacceptance-java --version 1.6.0") do assert_output <<-OUTPUT - Preparing to upgrade 'pmtacceptance-java' ... - Found 'pmtacceptance-java' (\e[0;36mv1.7.0\e[0m) in /etc/puppet/modules ... - Downloading from https://forge.puppetlabs.com ... - Upgrading -- do not interrupt ... + \e[mNotice: Preparing to upgrade 'pmtacceptance-java' ...\e[0m + \e[mNotice: Found 'pmtacceptance-java' (\e[0;36mv1.7.0\e[m) in /etc/puppet/modules ...\e[0m + \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m + \e[mNotice: Upgrading -- do not interrupt ...\e[0m /etc/puppet/modules └── pmtacceptance-java (\e[0;36mv1.7.0 -> v1.6.0\e[0m) OUTPUT end diff --git a/acceptance/tests/modules/upgrade/to_installed_version.rb b/acceptance/tests/modules/upgrade/to_installed_version.rb index d2419c3c8..68c5c250d 100644 --- a/acceptance/tests/modules/upgrade/to_installed_version.rb +++ b/acceptance/tests/modules/upgrade/to_installed_version.rb @@ -1,92 +1,92 @@ test_name "puppet module upgrade (to installed version)" step 'Setup' stub_forge_on(master) apply_manifest_on master, <<-'MANIFEST1' file { '/usr/share/puppet': ensure => directory, } file { ['/etc/puppet/modules', '/usr/share/puppet/modules']: ensure => directory, recurse => true, purge => true, force => true, } MANIFEST1 teardown do on master, "rm -rf /etc/puppet/modules" on master, "rm -rf /usr/share/puppet/modules" end on master, puppet("module install pmtacceptance-java --version 1.6.0") on master, puppet("module list") do assert_output <<-OUTPUT /etc/puppet/modules ├── pmtacceptance-java (\e[0;36mv1.6.0\e[0m) └── pmtacceptance-stdlib (\e[0;36mv1.0.0\e[0m) /usr/share/puppet/modules (no modules installed) OUTPUT end step "Try to upgrade a module to the current version" on master, puppet("module upgrade pmtacceptance-java --version 1.6.x"), :acceptable_exit_codes => [0] do assert_output <<-OUTPUT - STDOUT> Preparing to upgrade 'pmtacceptance-java' ... - STDOUT> Found 'pmtacceptance-java' (\e[0;36mv1.6.0\e[0m) in /etc/puppet/modules ... - STDOUT> Downloading from https://forge.puppetlabs.com ... + STDOUT> \e[mNotice: Preparing to upgrade 'pmtacceptance-java' ...\e[0m + STDOUT> \e[mNotice: Found 'pmtacceptance-java' (\e[0;36mv1.6.0\e[m) in /etc/puppet/modules ...\e[0m + STDOUT> \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m STDERR> \e[1;31mError: Could not upgrade module 'pmtacceptance-java' (v1.6.0 -> v1.6.x) STDERR> The installed version is already the best fit for the current dependencies STDERR> You specified 'pmtacceptance-java' (v1.6.x) STDERR> Use `puppet module install --force` to re-install this module\e[0m OUTPUT end step "Upgrade a module to the current version with --force" on master, puppet("module upgrade pmtacceptance-java --version 1.6.x --force") do assert_output <<-OUTPUT - Preparing to upgrade 'pmtacceptance-java' ... - Found 'pmtacceptance-java' (\e[0;36mv1.6.0\e[0m) in /etc/puppet/modules ... - Downloading from https://forge.puppetlabs.com ... - Upgrading -- do not interrupt ... + \e[mNotice: Preparing to upgrade 'pmtacceptance-java' ...\e[0m + \e[mNotice: Found 'pmtacceptance-java' (\e[0;36mv1.6.0\e[m) in /etc/puppet/modules ...\e[0m + \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m + \e[mNotice: Upgrading -- do not interrupt ...\e[0m /etc/puppet/modules └── pmtacceptance-java (\e[0;36mv1.6.0 -> v1.6.0\e[0m) OUTPUT end step "Upgrade to the latest version" on master, puppet("module upgrade pmtacceptance-java") do assert_output <<-OUTPUT - Preparing to upgrade 'pmtacceptance-java' ... - Found 'pmtacceptance-java' (\e[0;36mv1.6.0\e[0m) in /etc/puppet/modules ... - Downloading from https://forge.puppetlabs.com ... - Upgrading -- do not interrupt ... + \e[mNotice: Preparing to upgrade 'pmtacceptance-java' ...\e[0m + \e[mNotice: Found 'pmtacceptance-java' (\e[0;36mv1.6.0\e[m) in /etc/puppet/modules ...\e[0m + \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m + \e[mNotice: Upgrading -- do not interrupt ...\e[0m /etc/puppet/modules └── pmtacceptance-java (\e[0;36mv1.6.0 -> v1.7.1\e[0m) OUTPUT end step "Try to upgrade a module to the latest version with the latest version installed" on master, puppet("module upgrade pmtacceptance-java"), :acceptable_exit_codes => [0] do assert_output <<-OUTPUT - STDOUT> Preparing to upgrade 'pmtacceptance-java' ... - STDOUT> Found 'pmtacceptance-java' (\e[0;36mv1.7.1\e[0m) in /etc/puppet/modules ... - STDOUT> Downloading from https://forge.puppetlabs.com ... + STDOUT> \e[mNotice: Preparing to upgrade 'pmtacceptance-java' ...\e[0m + STDOUT> \e[mNotice: Found 'pmtacceptance-java' (\e[0;36mv1.7.1\e[m) in /etc/puppet/modules ...\e[0m + STDOUT> \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m STDERR> \e[1;31mError: Could not upgrade module 'pmtacceptance-java' (v1.7.1 -> latest: v1.7.1) STDERR> The installed version is already the latest version STDERR> Use `puppet module install --force` to re-install this module\e[0m OUTPUT end step "Upgrade a module to the latest version with --force" on master, puppet("module upgrade pmtacceptance-java --force") do assert_output <<-OUTPUT - Preparing to upgrade 'pmtacceptance-java' ... - Found 'pmtacceptance-java' (\e[0;36mv1.7.1\e[0m) in /etc/puppet/modules ... - Downloading from https://forge.puppetlabs.com ... - Upgrading -- do not interrupt ... + \e[mNotice: Preparing to upgrade 'pmtacceptance-java' ...\e[0m + \e[mNotice: Found 'pmtacceptance-java' (\e[0;36mv1.7.1\e[m) in /etc/puppet/modules ...\e[0m + \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m + \e[mNotice: Upgrading -- do not interrupt ...\e[0m /etc/puppet/modules └── pmtacceptance-java (\e[0;36mv1.7.1 -> v1.7.1\e[0m) OUTPUT end diff --git a/acceptance/tests/modules/upgrade/with_constraints_on_it.rb b/acceptance/tests/modules/upgrade/with_constraints_on_it.rb index 86a1ecf7a..c4c5e9e2d 100644 --- a/acceptance/tests/modules/upgrade/with_constraints_on_it.rb +++ b/acceptance/tests/modules/upgrade/with_constraints_on_it.rb @@ -1,59 +1,59 @@ test_name "puppet module upgrade (with constraints on it)" step 'Setup' stub_forge_on(master) apply_manifest_on master, <<-'MANIFEST1' file { '/usr/share/puppet': ensure => directory, } file { ['/etc/puppet/modules', '/usr/share/puppet/modules']: ensure => directory, recurse => true, purge => true, force => true, } MANIFEST1 teardown do on master, "rm -rf /etc/puppet/modules" on master, "rm -rf /usr/share/puppet/modules" end on master, puppet("module install pmtacceptance-java --version 1.7.0") on master, puppet("module install pmtacceptance-apollo") on master, puppet("module list") do assert_output <<-OUTPUT /etc/puppet/modules ├── pmtacceptance-apollo (\e[0;36mv0.0.1\e[0m) ├── pmtacceptance-java (\e[0;36mv1.7.0\e[0m) └── pmtacceptance-stdlib (\e[0;36mv1.0.0\e[0m) /usr/share/puppet/modules (no modules installed) OUTPUT end step "Upgrade a version-constrained module that has an upgrade" on master, puppet("module upgrade pmtacceptance-java") do assert_output <<-OUTPUT - Preparing to upgrade 'pmtacceptance-java' ... - Found 'pmtacceptance-java' (\e[0;36mv1.7.0\e[0m) in /etc/puppet/modules ... - Downloading from https://forge.puppetlabs.com ... - Upgrading -- do not interrupt ... + \e[mNotice: Preparing to upgrade 'pmtacceptance-java' ...\e[0m + \e[mNotice: Found 'pmtacceptance-java' (\e[0;36mv1.7.0\e[m) in /etc/puppet/modules ...\e[0m + \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m + \e[mNotice: Upgrading -- do not interrupt ...\e[0m /etc/puppet/modules └── pmtacceptance-java (\e[0;36mv1.7.0 -> v1.7.1\e[0m) OUTPUT end step "Try to upgrade a version-constrained module that has no upgrade" on master, puppet("module upgrade pmtacceptance-stdlib"), :acceptable_exit_codes => [0] do assert_output <<-OUTPUT - STDOUT> Preparing to upgrade 'pmtacceptance-stdlib' ... - STDOUT> Found 'pmtacceptance-stdlib' (\e[0;36mv1.0.0\e[0m) in /etc/puppet/modules ... - STDOUT> Downloading from https://forge.puppetlabs.com ... + STDOUT> \e[mNotice: Preparing to upgrade 'pmtacceptance-stdlib' ...\e[0m + STDOUT> \e[mNotice: Found 'pmtacceptance-stdlib' (\e[0;36mv1.0.0\e[m) in /etc/puppet/modules ...\e[0m + STDOUT> \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m STDERR> \e[1;31mError: Could not upgrade module 'pmtacceptance-stdlib' (v1.0.0 -> best: v1.0.0) STDERR> The installed version is already the best fit for the current dependencies STDERR> 'pmtacceptance-apollo' (v0.0.1) requires 'pmtacceptance-stdlib' (>= 1.0.0) STDERR> 'pmtacceptance-java' (v1.7.1) requires 'pmtacceptance-stdlib' (v1.0.0) STDERR> Use `puppet module install --force` to re-install this module\e[0m OUTPUT end diff --git a/acceptance/tests/modules/upgrade/with_constraints_on_its_dependencies.rb b/acceptance/tests/modules/upgrade/with_constraints_on_its_dependencies.rb index e4f8c3303..a44d6ee88 100644 --- a/acceptance/tests/modules/upgrade/with_constraints_on_its_dependencies.rb +++ b/acceptance/tests/modules/upgrade/with_constraints_on_its_dependencies.rb @@ -1,101 +1,101 @@ test_name "puppet module upgrade (with constraints on its dependencies)" step 'Setup' stub_forge_on(master) apply_manifest_on master, <<-'MANIFEST1' file { '/usr/share/puppet': ensure => directory, } file { ['/etc/puppet/modules', '/usr/share/puppet/modules']: ensure => directory, recurse => true, purge => true, force => true, } MANIFEST1 teardown do on master, "rm -rf /etc/puppet/modules" on master, "rm -rf /usr/share/puppet/modules" end apply_manifest_on master, <<-PP file { [ '/etc/puppet/modules/unicorns', ]: ensure => directory; '/etc/puppet/modules/unicorns/metadata.json': content => '{ "name": "notpmtacceptance/unicorns", "version": "0.0.3", "source": "", "author": "notpmtacceptance", "license": "MIT", "dependencies": [ { "name": "pmtacceptance/stdlib", "version_requirement": "0.0.2" } ] }'; } PP on master, puppet("module install pmtacceptance-stdlib --version 0.0.2") on master, puppet("module install pmtacceptance-java --version 1.6.0") on master, puppet("module list") do assert_output <<-OUTPUT /etc/puppet/modules ├── notpmtacceptance-unicorns (\e[0;36mv0.0.3\e[0m) ├── pmtacceptance-java (\e[0;36mv1.6.0\e[0m) └── pmtacceptance-stdlib (\e[0;36mv0.0.2\e[0m) /usr/share/puppet/modules (no modules installed) OUTPUT end step "Try to upgrade a module with constraints on its dependencies that cannot be met" on master, puppet("module upgrade pmtacceptance-java"), :acceptable_exit_codes => [1] do assert_output <<-OUTPUT - STDOUT> Preparing to upgrade 'pmtacceptance-java' ... - STDOUT> Found 'pmtacceptance-java' (\e[0;36mv1.6.0\e[0m) in /etc/puppet/modules ... - STDOUT> Downloading from https://forge.puppetlabs.com ... + STDOUT> \e[mNotice: Preparing to upgrade 'pmtacceptance-java' ...\e[0m + STDOUT> \e[mNotice: Found 'pmtacceptance-java' (\e[0;36mv1.6.0\e[m) in /etc/puppet/modules ...\e[0m + STDOUT> \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m STDERR> \e[1;31mError: Could not upgrade module 'pmtacceptance-java' (v1.6.0 -> latest: v1.7.1) STDERR> No version of 'pmtacceptance-stdlib' will satisfy dependencies STDERR> 'notpmtacceptance-unicorns' (v0.0.3) requires 'pmtacceptance-stdlib' (v0.0.2) STDERR> 'pmtacceptance-java' (v1.7.1) requires 'pmtacceptance-stdlib' (v1.0.0) STDERR> Use `puppet module upgrade --ignore-dependencies` to upgrade only this module\e[0m OUTPUT end step "Relax constraints" on master, puppet("module uninstall notpmtacceptance-unicorns") on master, puppet("module list") do assert_output <<-OUTPUT /etc/puppet/modules ├── pmtacceptance-java (\e[0;36mv1.6.0\e[0m) └── pmtacceptance-stdlib (\e[0;36mv0.0.2\e[0m) /usr/share/puppet/modules (no modules installed) OUTPUT end step "Upgrade a single module, ignoring its dependencies" on master, puppet("module upgrade pmtacceptance-java --version 1.7.0 --ignore-dependencies") do assert_output <<-OUTPUT - Preparing to upgrade 'pmtacceptance-java' ... - Found 'pmtacceptance-java' (\e[0;36mv1.6.0\e[0m) in /etc/puppet/modules ... - Downloading from https://forge.puppetlabs.com ... - Upgrading -- do not interrupt ... + \e[mNotice: Preparing to upgrade 'pmtacceptance-java' ...\e[0m + \e[mNotice: Found 'pmtacceptance-java' (\e[0;36mv1.6.0\e[m) in /etc/puppet/modules ...\e[0m + \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m + \e[mNotice: Upgrading -- do not interrupt ...\e[0m /etc/puppet/modules └── pmtacceptance-java (\e[0;36mv1.6.0 -> v1.7.0\e[0m) OUTPUT end step "Upgrade a module with constraints on its dependencies that can be met" on master, puppet("module upgrade pmtacceptance-java") do assert_output <<-OUTPUT - Preparing to upgrade 'pmtacceptance-java' ... - Found 'pmtacceptance-java' (\e[0;36mv1.7.0\e[0m) in /etc/puppet/modules ... - Downloading from https://forge.puppetlabs.com ... - Upgrading -- do not interrupt ... + \e[mNotice: Preparing to upgrade 'pmtacceptance-java' ...\e[0m + \e[mNotice: Found 'pmtacceptance-java' (\e[0;36mv1.7.0\e[m) in /etc/puppet/modules ...\e[0m + \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m + \e[mNotice: Upgrading -- do not interrupt ...\e[0m /etc/puppet/modules └─┬ pmtacceptance-java (\e[0;36mv1.7.0 -> v1.7.1\e[0m) └── pmtacceptance-stdlib (\e[0;36mv0.0.2 -> v1.0.0\e[0m) OUTPUT end diff --git a/acceptance/tests/modules/upgrade/with_local_changes.rb b/acceptance/tests/modules/upgrade/with_local_changes.rb index c0a009a90..b7c97b107 100644 --- a/acceptance/tests/modules/upgrade/with_local_changes.rb +++ b/acceptance/tests/modules/upgrade/with_local_changes.rb @@ -1,64 +1,64 @@ test_name "puppet module upgrade (with local changes)" step 'Setup' stub_forge_on(master) apply_manifest_on master, <<-'MANIFEST1' file { '/usr/share/puppet': ensure => directory, } file { ['/etc/puppet/modules', '/usr/share/puppet/modules']: ensure => directory, recurse => true, purge => true, force => true, } MANIFEST1 teardown do on master, "rm -rf /etc/puppet/modules" on master, "rm -rf /usr/share/puppet/modules" end on master, puppet("module install pmtacceptance-java --version 1.6.0") on master, puppet("module list") do assert_output <<-OUTPUT /etc/puppet/modules ├── pmtacceptance-java (\e[0;36mv1.6.0\e[0m) └── pmtacceptance-stdlib (\e[0;36mv1.0.0\e[0m) /usr/share/puppet/modules (no modules installed) OUTPUT end apply_manifest_on master, <<-PP file { '/etc/puppet/modules/java/README': content => "I CHANGE MY READMES"; '/etc/puppet/modules/java/NEWFILE': content => "I don't exist.'"; } PP step "Try to upgrade a module with local changes" on master, puppet("module upgrade pmtacceptance-java"), :acceptable_exit_codes => [1] do assert_output <<-OUTPUT - STDOUT> Preparing to upgrade 'pmtacceptance-java' ... - STDOUT> Found 'pmtacceptance-java' (\e[0;36mv1.6.0\e[0m) in /etc/puppet/modules ... + STDOUT> \e[mNotice: Preparing to upgrade 'pmtacceptance-java' ...\e[0m + STDOUT> \e[mNotice: Found 'pmtacceptance-java' (\e[0;36mv1.6.0\e[m) in /etc/puppet/modules ...\e[0m STDERR> \e[1;31mError: Could not upgrade module 'pmtacceptance-java' (v1.6.0 -> latest) STDERR> Installed module has had changes made locally STDERR> Use `puppet module upgrade --force` to upgrade this module anyway\e[0m OUTPUT end on master, '[[ "$(cat /etc/puppet/modules/java/README)" == "I CHANGE MY READMES" ]]' on master, '[ -f /etc/puppet/modules/java/NEWFILE ]' step "Upgrade a module with local changes with --force" on master, puppet("module upgrade pmtacceptance-java --force") do assert_output <<-OUTPUT - Preparing to upgrade 'pmtacceptance-java' ... - Found 'pmtacceptance-java' (\e[0;36mv1.6.0\e[0m) in /etc/puppet/modules ... - Downloading from https://forge.puppetlabs.com ... - Upgrading -- do not interrupt ... + \e[mNotice: Preparing to upgrade 'pmtacceptance-java' ...\e[0m + \e[mNotice: Found 'pmtacceptance-java' (\e[0;36mv1.6.0\e[m) in /etc/puppet/modules ...\e[0m + \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m + \e[mNotice: Upgrading -- do not interrupt ...\e[0m /etc/puppet/modules └── pmtacceptance-java (\e[0;36mv1.6.0 -> v1.7.1\e[0m) OUTPUT end on master, '[[ "$(cat /etc/puppet/modules/java/README)" != "I CHANGE MY READMES" ]]' on master, '[ ! -f /etc/puppet/modules/java/NEWFILE ]' diff --git a/acceptance/tests/modules/upgrade/with_scattered_dependencies.rb b/acceptance/tests/modules/upgrade/with_scattered_dependencies.rb index 1c9933743..bcd1e88df 100644 --- a/acceptance/tests/modules/upgrade/with_scattered_dependencies.rb +++ b/acceptance/tests/modules/upgrade/with_scattered_dependencies.rb @@ -1,49 +1,49 @@ test_name "puppet module upgrade (with scattered dependencies)" step 'Setup' stub_forge_on(master) apply_manifest_on master, <<-'MANIFEST1' file { '/usr/share/puppet': ensure => directory, } file { ['/etc/puppet/modules', '/usr/share/puppet/modules']: ensure => directory, recurse => true, purge => true, force => true, } MANIFEST1 teardown do on master, "rm -rf /etc/puppet/modules" on master, "rm -rf /usr/share/puppet/modules" end on master, puppet("module install pmtacceptance-stdlib --version 0.0.2 --target-dir /usr/share/puppet/modules") on master, puppet("module install pmtacceptance-java --version 1.6.0 --target-dir /etc/puppet/modules --ignore-dependencies") on master, puppet("module install pmtacceptance-postgresql --version 0.0.1 --target-dir /etc/puppet/modules --ignore-dependencies") on master, puppet("module list") do assert_output <<-OUTPUT /etc/puppet/modules ├── pmtacceptance-java (\e[0;36mv1.6.0\e[0m) └── pmtacceptance-postgresql (\e[0;36mv0.0.1\e[0m) /usr/share/puppet/modules └── pmtacceptance-stdlib (\e[0;36mv0.0.2\e[0m) OUTPUT end step "Upgrade a module that has a more recent version published" on master, puppet("module upgrade pmtacceptance-postgresql --version 0.0.2") do assert_output <<-OUTPUT - Preparing to upgrade 'pmtacceptance-postgresql' ... - Found 'pmtacceptance-postgresql' (\e[0;36mv0.0.1\e[0m) in /etc/puppet/modules ... - Downloading from https://forge.puppetlabs.com ... - Upgrading -- do not interrupt ... + \e[mNotice: Preparing to upgrade 'pmtacceptance-postgresql' ...\e[0m + \e[mNotice: Found 'pmtacceptance-postgresql' (\e[0;36mv0.0.1\e[m) in /etc/puppet/modules ...\e[0m + \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m + \e[mNotice: Upgrading -- do not interrupt ...\e[0m /etc/puppet/modules └─┬ pmtacceptance-postgresql (\e[0;36mv0.0.1 -> v0.0.2\e[0m) ├─┬ pmtacceptance-java (\e[0;36mv1.6.0 -> v1.7.0\e[0m) │ └── pmtacceptance-stdlib (\e[0;36mv0.0.2 -> v1.0.0\e[0m) [/usr/share/puppet/modules] └── pmtacceptance-stdlib (\e[0;36mv0.0.2 -> v1.0.0\e[0m) [/usr/share/puppet/modules] OUTPUT end diff --git a/acceptance/tests/modules/upgrade/with_update_available.rb b/acceptance/tests/modules/upgrade/with_update_available.rb index da48a2687..55605f61e 100644 --- a/acceptance/tests/modules/upgrade/with_update_available.rb +++ b/acceptance/tests/modules/upgrade/with_update_available.rb @@ -1,43 +1,43 @@ test_name "puppet module upgrade (with update available)" step 'Setup' stub_forge_on(master) apply_manifest_on master, <<-'MANIFEST1' file { '/usr/share/puppet': ensure => directory, } file { ['/etc/puppet/modules', '/usr/share/puppet/modules']: ensure => directory, recurse => true, purge => true, force => true, } MANIFEST1 teardown do on master, "rm -rf /etc/puppet/modules" on master, "rm -rf /usr/share/puppet/modules" end on master, puppet("module install pmtacceptance-java --version 1.6.0") on master, puppet("module list") do assert_output <<-OUTPUT /etc/puppet/modules ├── pmtacceptance-java (\e[0;36mv1.6.0\e[0m) └── pmtacceptance-stdlib (\e[0;36mv1.0.0\e[0m) /usr/share/puppet/modules (no modules installed) OUTPUT end step "Upgrade a module that has a more recent version published" on master, puppet("module upgrade pmtacceptance-java") do assert_output <<-OUTPUT - Preparing to upgrade 'pmtacceptance-java' ... - Found 'pmtacceptance-java' (\e[0;36mv1.6.0\e[0m) in /etc/puppet/modules ... - Downloading from https://forge.puppetlabs.com ... - Upgrading -- do not interrupt ... + \e[mNotice: Preparing to upgrade 'pmtacceptance-java' ...\e[0m + \e[mNotice: Found 'pmtacceptance-java' (\e[0;36mv1.6.0\e[m) in /etc/puppet/modules ...\e[0m + \e[mNotice: Downloading from https://forge.puppetlabs.com ...\e[0m + \e[mNotice: Upgrading -- do not interrupt ...\e[0m /etc/puppet/modules └── pmtacceptance-java (\e[0;36mv1.6.0 -> v1.7.1\e[0m) OUTPUT end