i needed a small break from staring at diffs all day, so i finished
the qa spike since it required just a little more code. here is how it
works:

there is a academyart/schema maven project which generates the
querydsl meta entities based on the current aac schema. this project
is built by the Build and Test bamboo build after the same build has
already finished running dbevo against the database schemas. the
artifacts are then deployed under the 1.0-SNAPSHOT version, so we
should always have a up-to-date version in the maven repo. this also
means automated tests cannot run against older branches, not sure if
we need that or not.

i added the schema project as a dependency to the Selenium2/commons
project so all automation projects inherit it.

i added three configuration options to test suite properties (config.properties)
DATABASE_URL, DATABASE_USERNAME, and DATABASE_PASSWORD. these are the
properties that will be used when establishing a connection to the
database. these properties can also be overridden by
net.ftlines.selenium.database.url,
net.ftlines.selenium.database.username, and
net.ftlines.selenium.database.password environment variables. there
were two config.properties files in the Selenium2 project. one in
commons and one in web submodules. i did not know which one was being
used so i added the properties to both.

the database properties currently point to the port-forwarded
database. so, in order to use them as is you have to forward the
database you wish to use beforehand. you can use one of the
port-forward-*.sh scripts in academyart folder or forward one
yourself.

i created a QueryFactory junit rule which acts as a helper for
creating query objects that can be used to execute queries and
installed it in the base class for automation tests. i also added a
couple of example queries to CourseDashboardTest. again, remember to
have the database forwarded or change the properties before running
the test.

the code for integration and example queries is here:
https://fisheye.42lines.net/changelog/aaugit?cs=a61386823b090b561f3cc7cafe4c8aa96f9c1af8

querydsl docs are here:
http://www.querydsl.com/static/querydsl/2.6.0/reference/html/index.html
look under the querying sql section.

you may want to remove the example queries soon since they will break
the ui bamboo build for that test. also, someone needs to work with
ops to setup the test suite properties to connect to some database to
run the ui tests against.

youre welcome

-igor

Reply via email to