hmci/src/test/groovy/biz/nellemann/hmci/ConfigurationTest.groovy

66 lines
1.6 KiB
Groovy

package biz.nellemann.hmci
import biz.nellemann.hmci.dto.toml.Configuration
import biz.nellemann.hmci.dto.toml.HmcConfiguration
import com.fasterxml.jackson.dataformat.toml.TomlMapper
import spock.lang.Specification
import java.nio.file.Path
import java.nio.file.Paths
class ConfigurationTest extends Specification {
Path testConfigurationFile = Paths.get(getClass().getResource('/hmci.toml').toURI())
TomlMapper mapper
def setup() {
mapper = new TomlMapper();
}
def cleanup() {
}
void "test parsing of configuration file"() {
when:
Configuration conf = mapper.readerFor(Configuration.class).readValue(testConfigurationFile.toFile())
println(conf.hmc.entrySet().forEach((e) -> {
println((String)e.key + " -> " + e);
HmcConfiguration c = e.value;
println(c.url);
}));
then:
conf != null
}
void "test HMC energy flag, default setting"() {
when:
Configuration conf = mapper.readerFor(Configuration.class).readValue(testConfigurationFile.toFile())
then:
!conf.hmc.get("site1").energy
}
void "test HMC exclude and include options"() {
when:
Configuration conf = mapper.readerFor(Configuration.class).readValue(testConfigurationFile.toFile())
then:
conf.hmc.get("site1").excludeSystems.contains("notThisSys")
conf.hmc.get("site1").includeSystems.contains("onlyThisSys")
conf.hmc.get("site1").excludePartitions.contains("notThisPartition")
conf.hmc.get("site1").includePartitions.contains("onlyThisPartition")
}
}