package com.intrbiz.bergamot.model; import static org.hamcrest.MatcherAssert.*; import static org.hamcrest.Matchers.*; import java.util.LinkedHashMap; import java.util.stream.Collectors; import org.junit.Test; import com.intrbiz.bergamot.model.util.Parameter; public class CheckCommandTest { @Test public void testCheckCommandParameterResolution() { // the command Command command = new Command(); command.addParameter("command_line", "check_dummy #{arg1} #{arg2}"); command.addParameter("arg1", "#{host.address}"); // the check CheckCommand checkCommand = new CheckCommand(); checkCommand.addParameter("arg1", "127.0.0.1"); checkCommand.addParameter("arg2", "TestValue!"); // apply the parameter resolution LinkedHashMap<String, Parameter> resolved = checkCommand.resolveCheckParameters(command); assertThat(resolved, is(notNullValue())); assertThat(resolved, hasKey("arg1")); assertThat(resolved, hasKey("arg2")); assertThat(resolved, hasKey("command_line")); assertThat(resolved.entrySet().stream().map((e) -> e.getKey()).collect(Collectors.toList()).toArray(new String[0]), is(equalTo(new String[] {"command_line", "arg1", "arg2"}))); assertThat(resolved.get("arg1").getValue(), is(equalTo("127.0.0.1"))); assertThat(resolved.get("arg2").getValue(), is(equalTo("TestValue!"))); assertThat(resolved.get("command_line").getValue(), is(equalTo("check_dummy #{arg1} #{arg2}"))); } }