66 lines
1.6 KiB
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")
|
|
|
|
}
|
|
|
|
}
|