Skip to content

Commit

Permalink
Moving automation into workbench libs (#134)
Browse files Browse the repository at this point in the history
* use workbench libs

* auth token for leo, other deletions, tweaks

* adding methods to configs

* adding some more info

* forgot to render users.json

* build/push swat tests docker image in jenkins build script

* all up to date

* syncing users json

* Add campaignManagers to users

* workbench-libs needs these (TODO remove)

* fix for app conf

* real fix for app conf

* Hermione and Ron

* more app conf fix

* more app conf ctmpl

* Update scalatest version for workbench-libs compatibility

* implicits are the devil

* dammit weasley

* MORE PATIENCE

* fix build script when pushing to develop

* save git SHA during build script
  • Loading branch information
UrsaStutsman committed Jan 25, 2018
1 parent 6b5e1a1 commit 4d41008
Show file tree
Hide file tree
Showing 45 changed files with 252 additions and 1,245 deletions.
20 changes: 20 additions & 0 deletions automation/docker/application.conf.ctmpl
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
{{with $environment := env "ENVIRONMENT"}}
{{with $dir := env "ROOT_DIR"}}
{{with $local_ui := env "LOCAL_UI"}}
{{with $trialBillingPemSecrets := vault (printf "secret/dsde/firecloud/%s/common/trial-billing-account.pem" $environment)}}
{{with $users := vault (printf "secret/dsde/firecloud/%s/common/users" $environment)}}
{{with $secrets := vault (printf "secret/dsde/firecloud/%s/common/secrets" $environment)}}
{{with $leoServiceAccount := vault (printf "secret/dsde/firecloud/%s/leonardo/leonardo-swagger-account.json" $environment)}}
Expand Down Expand Up @@ -43,11 +44,29 @@ gcs {
qaPemFile = "{{$dir}}/src/test/resources/firecloud-account.pem"
billingAccount = "Broad Institute - 8201528"
billingAccountId = "billingAccounts/00708C-45D19D-27AAFA"
trialBillingPemFile = "{{$dir}}/src/test/resources/trial-billing-account.pem"
trialBillingPemFileClientId = "{{$trialBillingPemSecrets.Data.client_email}}"
smoketestsProject = {{if eq $environment "prod"}}"broad-dsde-{{$environment}}-smoketests"{{else}}"broad-dsde-{{$environment}}"{{end}}

appsDomain = {{if eq $environment "qa"}}"quality.firecloud.org"{{else}}"{{$environment}}.test.firecloud.org"{{end}}
}

methods {
testMethod = "DO_NOT_CHANGE_test_method"
testMethodConfig = "DO_NOT_CHANGE_test1_config"
methodConfigNamespace = "automationmethods"
snapshotID = 1
}

users {
notSoSecretPassword = "{{$users.Data.automation_users_passwd}}"
userDataPath = "{{$dir}}/src/test/resources/users.json"

# TODO: these settings only apply to UI but are required by workbench-libs

tempSubjectId = "{{if or (eq $environment "dev") (eq $environment "alpha")}}111010567286567716739{{else if eq $environment "qa"}}117891551413045861932{{else}}[undefined]{{end}}"
smoketestpassword = "{{$users.Data.users_passwd}}"
smoketestuser = {{if eq $environment "prod"}}"b.adm.firec@gmail.com"{{else}}"hermione.owner@{{template "USER_DOMAIN"}}"{{end}}

dumbledore = "dumbledore.admin@{{template "USER_DOMAIN"}}"
voldemort = "voldemort.admin@{{template "USER_DOMAIN"}}"
Expand Down Expand Up @@ -77,3 +96,4 @@ chromeSettings {
{{end}}
{{end}}
{{end}}
{{end}}
1 change: 1 addition & 0 deletions automation/docker/run-tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ docker run -e DOCKERHOST=$DOCKERHOST \
-P --rm -t -e CHROME_URL="http://hub:4444/" ${HOST_MAPPING} \
-v $WORKING_DIR/target/application.conf:/app/src/test/resources/application.conf \
-v $WORKING_DIR/target/firecloud-account.pem:/app/src/test/resources/firecloud-account.pem \
-v $WORKING_DIR/target/users.json:/app/src/test/resources/users.json \
-v $WORKING_DIR/target:/app/target \
-v $WORKING_DIR/chrome/downloads:/app/chrome/downloads \
-v $WORKING_DIR/failure_screenshots:/app/failure_screenshots \
Expand Down
90 changes: 90 additions & 0 deletions automation/docker/users.json.ctmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
{{with $environment := env "ENVIRONMENT"}}
{{if eq $environment "qa"}}
{
"admins": {
"dumbledore": "dumbledore.admin@quality.firecloud.org",
"voldemort": "voldemort.admin@quality.firecloud.org"
},
"owners": {
"hermione": "hermione.owner@quality.firecloud.org",
"sirius": "sirius.owner@quality.firecloud.org",
"tonks": "tonks.owner@quality.firecloud.org"
},
"curators": {
"mcgonagall": "mcgonagall.curator@quality.firecloud.org",
"snape": "snape.curator@quality.firecloud.org",
"hagrid": "hagrid.curator@quality.firecloud.org",
"lupin": "lupin.curator@quality.firecloud.org",
"flitwick": "flitwick.curator@quality.firecloud.org"
},
"authdomains": {
"fred": "fred.authdomain@quality.firecloud.org",
"george": "george.authdomain@quality.firecloud.org",
"bill": "bill.authdomain@quality.firecloud.org",
"percy": "percy.authdomain@quality.firecloud.org",
"molly": "molly.authdomain@quality.firecloud.org",
"arthur": "arthur.authdomain@quality.firecloud.org"
},
"students": {
"harry": "harry.potter@quality.firecloud.org",
"ron": "ron.weasley@quality.firecloud.org",
"lavender": "lavender.brown@quality.firecloud.org",
"cho": "cho.chang@quality.firecloud.org",
"oliver": "oliver.wood@quality.firecloud.org",
"cedric": "cedric.diggory@quality.firecloud.org",
"crabbe": "vincent.crabbe@quality.firecloud.org",
"goyle": "gregory.goyle@quality.firecloud.org",
"dean": "dean.thomas@quality.firecloud.org",
"ginny": "ginny.weasley@quality.firecloud.org"
},
"temps": {
"luna": "luna.temp@quality.firecloud.org",
"neville": "neville.temp@quality.firecloud.org"
},
"notebookswhitelisted": {
"hermione": "hermione.owner@quality.firecloud.org",
"ron": "ron.weasley@quality.firecloud.org"
},
"campaignManagers": {
"dumbledore": "dumbledore.admin@test.firecloud.org",
"voldemort": "voldemort.admin@test.firecloud.org"
}
}
{{else}}
{
"admins": {
"dumbledore": "dumbledore.admin@test.firecloud.org",
"voldemort": "voldemort.admin@test.firecloud.org"
},
"owners": {
"hermione": "hermione.owner@test.firecloud.org"
},
"curators": {
"mcgonagall": "mcgonagall.curator@test.firecloud.org",
"snape": "snape.curator@test.firecloud.org"
},
"authdomains": {
"fred": "fred.authdomain@test.firecloud.org",
"george": "george.authdomain@test.firecloud.org",
"bill": "bill.authdomain@test.firecloud.org"
},
"students": {
"harry": "harry.potter@test.firecloud.org",
"ron": "ron.weasley@test.firecloud.org",
"draco": "draco.malfoy@test.firecloud.org"
},
"temps": {
"luna": "luna.temp@test.firecloud.org",
"neville": "neville.temp@test.firecloud.org"
},
"notebookswhitelisted": {
"hermione": "hermione.owner@test.firecloud.org",
"ron": "ron.weasley@test.firecloud.org"
},
"campaignManagers": {
"dumbledore": "dumbledore.admin@test.firecloud.org",
"voldemort": "voldemort.admin@test.firecloud.org"
}
}
{{end}}
{{end}}
5 changes: 4 additions & 1 deletion automation/project/Dependencies.scala
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,13 @@ object Dependencies {

val workbenchModelV = "0.8-d97f551"
val workbenchGoogleV = "0.10-b95b2c1"
val serviceTestV = "0.1-c5a3162-SNAP"

val excludeWorkbenchModel = ExclusionRule(organization = "org.broadinstitute.dsde.workbench", name = "workbench-model_2.11")

val workbenchModel: ModuleID = "org.broadinstitute.dsde.workbench" %% "workbench-model" % workbenchModelV
val workbenchGoogle: ModuleID = "org.broadinstitute.dsde.workbench" %% "workbench-google" % workbenchGoogleV excludeAll excludeWorkbenchModel
val workbenchServiceTest: ModuleID = "org.broadinstitute.dsde.workbench" %% "workbench-service-test" % serviceTestV % "test" classifier "tests" excludeAll excludeWorkbenchModel

val rootDependencies = Seq(
// proactively pull in latest versions of Jackson libs, instead of relying on the versions
Expand All @@ -35,13 +37,14 @@ object Dependencies {
"com.typesafe.akka" %% "akka-testkit" % akkaV % "test",
"com.typesafe.akka" %% "akka-slf4j" % akkaV,
"org.specs2" %% "specs2-core" % "3.7" % "test",
"org.scalatest" %% "scalatest" % "2.2.6" % "test",
"org.scalatest" %% "scalatest" % "3.0.1" % "test",
"org.seleniumhq.selenium" % "selenium-java" % "3.8.1" % "test",
"com.typesafe.scala-logging" %% "scala-logging" % "3.1.0",
"org.apache.commons" % "commons-text" % "1.2",

workbenchModel,
workbenchGoogle,
workbenchServiceTest,

// required by workbenchGoogle
"com.typesafe.akka" %% "akka-http-spray-json" % "10.0.6" % "provided"
Expand Down
Loading

0 comments on commit 4d41008

Please sign in to comment.