Skip to content

Instantly share code, notes, and snippets.

@Dispader
Created December 28, 2016 19:33
Show Gist options
  • Save Dispader/4e214f162338225f92f23f2b177fcda9 to your computer and use it in GitHub Desktop.
Save Dispader/4e214f162338225f92f23f2b177fcda9 to your computer and use it in GitHub Desktop.
Configuration test specification, including XML configuration object test.
package edu.umn.pssa.ibmonitorservice
import org.apache.commons.configuration2.XMLConfiguration
import org.apache.commons.configuration2.builder.fluent.Configurations
import spock.lang.Specification
class ConfigSpec extends Specification {
Config config = new Config('configs.xml')
def 'can access non-database configuration data'() {
expect:
config.getOnCallFile() == '/oncall/file.name'
config.getEmailReplyTo() == 'dummy@bademail.com'
config.getEmailUser() == 'dummy@bademail.com'
config.getEmailPassword() == 'passw0rd!'
config.getEmailHost() == 'localhost'
config.getEmailPort() == 25
config.getDebugMode() == 'ON'
}
def 'can access database configuration data'() {
when:
def databases = config.getDatabase()
DatabaseType database = databases.first()
then:
databases.size() == 1
database.databaseName == 'DEBUG'
}
def 'can run a simple Commons Configuration test'() {
when:
Configurations configurations = new Configurations()
XMLConfiguration config = configurations.xml('configs.xml')
then:
config.getString('emailUser') == 'dummy@bademail.com'
config.getString('emailPassword') == 'passw0rd!'
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment