Skip to content

Instantly share code, notes, and snippets.

@generalredneck
Created July 20, 2012 15:42
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save generalredneck/3151442 to your computer and use it in GitHub Desktop.
Save generalredneck/3151442 to your computer and use it in GitHub Desktop.
headless-testing.pp
class apci_devel::headless_testing {
include java
package { "xvfb":
ensure => present,
}
package { "firefox":
ensure => present,
}
file { "/usr/lib/headless-selenium":
ensure => directory,
owner => root,
group => root,
mode => 755,
}
# TODO: Uncomment creates after everyone gets fixed.
exec { "/usr/lib/headless-selenium/selenium-server-standalone-2.24.1.jar":
path => "/bin:/usr/bin:/usr/local/bin",
cwd => "/usr/lib/headless-selenium/",
command => "wget -q http://selenium.googlecode.com/files/selenium-server-standalone-2.24.1.jar -O selenium-server-standalone-2.24.1.jar" ,
#creates => "/usr/lib/headless-selenium/selenium-server-standalone-2.24.1.jar",
onlyif => "[ ! -e /usr/lib/headless-selenium/selenium-server-standalone-2.24.1.jar ] || find /usr/lib/headless-selenium -size 0 -name selenium-server-standalone-2.24.1.jar | grep selenium-server-standalone-2.24.1.jar",
require => File["/usr/lib/headless-selenium"],
}
file { "/usr/lib/headless-selenium/selenium-server-standalone-2.24.1.jar":
ensure => file,
owner => root,
group => root,
mode => 775,
require => Exec["/usr/lib/headless-selenium/selenium-server-standalone-2.24.1.jar"],
}
file { "/usr/lib/headless-selenium/profiles":
ensure => directory,
owner => root,
group => root,
mode => 755,
require => File["/usr/lib/headless-selenium"],
}
file { "/usr/lib/headless-selenium/profiles/firefox":
ensure => directory,
owner => root,
group => root,
mode => 755,
require => File["/usr/lib/headless-selenium/profiles"],
}
# Putting a sample profile in the case someone wants to use it.
# TODO: Uncomment creates after everyone gets fixed.
exec { "/usr/lib/headless-selenium/profiles/firefox/selenium-profile.tar.gz":
path => "/bin:/usr/bin:/usr/local/bin",
cwd => "/usr/lib/headless-selenium/profiles/firefox/",
command => "wget -q http://a.util.dev.allplayers.com/puppet/selenium-profile.tar.gz -O selenium-profile.tar.gz",
#creates => "/usr/lib/headless-selenium/profiles/firefox/selenium-profile.tar.gz",
onlyif => "[ ! -e /usr/lib/headless-selenium/profiles/firefox/selenium-profile.tar.gz ] || find /usr/lib/headless-selenium/profiles/firefox -size 0 -name selenium-profile.tar.gz | grep selenium-profile.tar.gz",
require => File["/usr/lib/headless-selenium/profiles/firefox"],
}
file { "/usr/lib/headless-selenium/profiles/firefox/selenium-profile.tar.gz":
ensure => file,
owner => root,
group => root,
mode => 775,
require => Exec["/usr/lib/headless-selenium/profiles/firefox/selenium-profile.tar.gz"],
}
file { "/etc/init.d/headless-selenium":
ensure => file,
owner => root,
group => root,
mode => 755,
source => "puppet:///modules/apci_devel/headless-selenium",
require => [ Package["xvfb"], File["/usr/lib/headless-selenium/selenium-server-standalone-2.24.1.jar"] ]
}
service { "headless-selenium":
ensure => running,
enable => true,
require => [ Package["java"], File["/etc/init.d/headless-selenium"] ],
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment