def test_with_httpd_hhvm_and_appdynamics(self):
     # helpers to confirm the environment
     bp = BuildPackAssertHelper()
     ad = AppDynamicsAssertHelper()
     httpd = HttpdAssertHelper()
     hhvm = HhvmAssertHelper()
     # set web server to httpd, since that's what we're expecting here
     self.opts.set_php_vm('hhvm')
     self.opts.set_hhvm_download_url(
         '/hhvm/{HHVM_VERSION}/{HHVM_PACKAGE}')
     self.opts.set_web_server('httpd')
     # run the compile step of the build pack
     output = ErrorHelper().compile(self.bp)
     # confirm downloads
     DownloadAssertHelper(2, 2).assert_downloads_from_output(output)
     # confirm start script
     bp.assert_start_script_is_correct(self.build_dir)
     httpd.assert_start_script_is_correct(self.build_dir)
     hhvm.assert_start_script_is_correct(self.build_dir)
     # confirm bp utils installed
     bp.assert_scripts_are_installed(self.build_dir)
     bp.assert_config_options(self.build_dir)
     # check env & proc files
     httpd.assert_contents_of_procs_file(self.build_dir)
     httpd.assert_contents_of_env_file(self.build_dir)
     hhvm.assert_contents_of_procs_file(self.build_dir)
     hhvm.assert_contents_of_env_file(self.build_dir)
     # webdir exists
     httpd.assert_web_dir_exists(self.build_dir, self.opts.get_webdir())
     # check php & httpd installed
     httpd.assert_files_installed(self.build_dir)
     hhvm.assert_files_installed(self.build_dir)
     # Test AppDynamics should not be installed w/HHVM
     ad.is_not_installed(self.build_dir)
 def test_standalone(self):
     # helpers to confirm the environment
     bp = BuildPackAssertHelper()
     php = PhpAssertHelper()
     none = NoWebServerAssertHelper()
     ad = AppDynamicsAssertHelper()
     # no web server
     self.opts.set_web_server('none')
     # run the compile step of the build pack
     output = ErrorHelper().compile(self.bp)
     # confirm downloads
     DownloadAssertHelper(2, 1).assert_downloads_from_output(output)
     # confirm httpd and nginx are not installed
     none.assert_no_web_server_is_installed(self.build_dir)
     # confirm start script
     bp.assert_start_script_is_correct(self.build_dir)
     php.assert_start_script_is_correct(self.build_dir)
     # confirm bp utils installed
     bp.assert_scripts_are_installed(self.build_dir)
     # check env & proc files
     none.assert_contents_of_procs_file(self.build_dir)
     php.assert_contents_of_env_file(self.build_dir)
     # webdir exists
     none.assert_no_web_dir(self.build_dir, self.opts.get_webdir())
     # check php cli installed
     none.assert_files_installed(self.build_dir)
     ad.assert_files_installed(self.build_dir)
 def test_with_httpd_and_appdynamics(self):
     # helpers to confirm the environment
     bp = BuildPackAssertHelper()
     ad = AppDynamicsAssertHelper()
     httpd = HttpdAssertHelper()
     php = PhpAssertHelper()
     # set web server to httpd, since that's what we're expecting here
     self.opts.set_web_server('httpd')
     # run the compile step of the build pack
     output = ErrorHelper().compile(self.bp)
     # confirm downloads
     DownloadAssertHelper(3, 2).assert_downloads_from_output(output)
     # confirm start script
     bp.assert_start_script_is_correct(self.build_dir)
     httpd.assert_start_script_is_correct(self.build_dir)
     php.assert_start_script_is_correct(self.build_dir)
     # confirm bp utils installed
     bp.assert_scripts_are_installed(self.build_dir)
     bp.assert_config_options(self.build_dir)
     # check env & proc files
     httpd.assert_contents_of_procs_file(self.build_dir)
     httpd.assert_contents_of_env_file(self.build_dir)
     php.assert_contents_of_procs_file(self.build_dir)
     php.assert_contents_of_env_file(self.build_dir)
     # webdir exists
     httpd.assert_web_dir_exists(self.build_dir, self.opts.get_webdir())
     # check php & httpd installed
     httpd.assert_files_installed(self.build_dir)
     php.assert_files_installed(self.build_dir)
     ad.assert_files_installed(self.build_dir)