My manager is looking to get approval to use FrontLine. YAY!
In anticipation of approval, I wanted to ask a few (hopefully) quick and easy questions.
ENVIRONMENT VARIABLES
My project defines standard simulation templates that follow a basic injection pattern, with the parameters being controlled by environment variables. Those environment variables are ingested using TypeSafe Config, using the pattern of defining the default value, and then overriding that value from the environment, if specified, like so:
test {
environment = “QA”
environment = ${?GATLING_ENVIRONMENT}
. . .
}
I don’t see a place for setting “environment variables” in the FrontLine docs, but I do see a place for setting System Properties. It’s not clear from the TypeSafe Config docs, but it looks like if I set a system property named “GATLING_ENVIRONMENT”, that would work the same way. Is that right? It also looks like I could specify the system property as “test.environment” and get the same result, yes? What would be the recommended best practice?
INTEGRATION TESTS
I use the sbt plugin, and so I launch simulations locally using sbt “gatling-it:testOnly $GATLING_SIMULATION”. I didn’t see any references to src/main vs. src/test vs. src/it in the FrontLine docs, just that you input the simulation package/class name. I did notice the docs for sbt had a command sbt test:assembly which made me suspicious that if my simulation is in the src/it folder, it might not work with that command. Is the command different for simulations in the src/it folder, e.g. sbt gatling-it:assembly? Or am I going to have to change my directory structure to work with FrontLine?
RESOURCE SYMLINKS
I make use of symlinks in my resources folder. So far, everything works great, so I’m assuming that when the files are copied, the symlinks are dereferenced and the contents are stored in the .jar file, and not a symlink. Is the same thing true for the sbt *:assembly command? Or am I going to have problems working with symlinks in the resources folder?
ANYTHING ELSE?
Are there any other migration quirks I need to be aware of?
Thanks in advance for your help!