/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.component.validation.spi; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import java.util.List; import org.junit.Before; import org.junit.Test; import de.rcenvironment.core.component.executor.SshExecutorConstants; import de.rcenvironment.core.component.model.api.ComponentDescription; import de.rcenvironment.core.component.model.testutils.ComponentDescriptionMockCreater; import de.rcenvironment.core.component.validation.api.ComponentValidationMessage; /** * * Test for the AbstractSshExecutorComponentValidator. * * @author Jascha Riedel */ public class AbstractSshExecutorComponentValidatorTest { private ComponentDescriptionMockCreater componentDescriptionMockCreater; private AbstractSshExecutorComponentValidator abstractSshExecutorComponentValidator; private List<ComponentValidationMessage> messages; /** Basic Setup. */ @Before public void setUp() { componentDescriptionMockCreater = new ComponentDescriptionMockCreater(); abstractSshExecutorComponentValidator = new AbstractSshExecutorComponentValidator() { @Override public String getIdentifier() { return null; } @Override protected List<ComponentValidationMessage> validateOnWorkflowStartComponentSpecific(ComponentDescription componentDescription) { return null; } @Override protected List<ComponentValidationMessage> validateSshComponentSpecific(ComponentDescription componentDescription) { return null; } }; } /** Test CONFIG_KEY_HOST not set. */ @Test public void testConfigKeyHostNotSet() { setAllNecessaryValues(); componentDescriptionMockCreater.addConfigurationValue(SshExecutorConstants.CONFIG_KEY_HOST, null); validate(); assertEquals(1, messages.size()); assertEquals(ComponentValidationMessage.Type.ERROR, messages.get(0).getType()); } /** Test CONFIG_KEY_PORT not set. */ @Test public void testConfigKeyPortNotSet() { setAllNecessaryValues(); componentDescriptionMockCreater.addConfigurationValue(SshExecutorConstants.CONFIG_KEY_PORT, null); validate(); assertEquals(1, messages.size()); assertEquals(ComponentValidationMessage.Type.ERROR, messages.get(0).getType()); } /** Test CONFIG_KEY_SANDBOXROOT not set. */ @Test public void testConfigKeySandBoxRootNotSet() { setAllNecessaryValues(); componentDescriptionMockCreater.addConfigurationValue(SshExecutorConstants.CONFIG_KEY_SANDBOXROOT, null); validate(); assertEquals(1, messages.size()); assertEquals(ComponentValidationMessage.Type.ERROR, messages.get(0).getType()); assertTrue(messages.get(0).getAbsoluteMessage().contains(SshExecutorConstants.CONFIG_KEY_SANDBOXROOT)); } /** Test CONFIG_KEY_SCRIPT. */ @Test public void testConfigKeyScriptNotSet() { setAllNecessaryValues(); componentDescriptionMockCreater.addConfigurationValue(SshExecutorConstants.CONFIG_KEY_SCRIPT, null); validate(); assertEquals(1, messages.size()); assertEquals(ComponentValidationMessage.Type.ERROR, messages.get(0).getType()); } private void setAllNecessaryValues() { componentDescriptionMockCreater.addConfigurationValue(SshExecutorConstants.CONFIG_KEY_HOST, "a"); componentDescriptionMockCreater.addConfigurationValue(SshExecutorConstants.CONFIG_KEY_PORT, "24"); componentDescriptionMockCreater.addConfigurationValue(SshExecutorConstants.CONFIG_KEY_SANDBOXROOT, "b"); componentDescriptionMockCreater.addConfigurationValue(SshExecutorConstants.CONFIG_KEY_SCRIPT, "asfsf"); } private void validate() { messages = abstractSshExecutorComponentValidator .validateComponentSpecific(componentDescriptionMockCreater.createComponentDescriptionMock()); } }