package com.thoughtworks.go.plugin.access.scm;
import com.thoughtworks.go.plugin.api.config.Property;
import org.junit.Test;
import java.util.List;
import static org.hamcrest.core.Is.is;
import static org.junit.Assert.*;
public class SCMConfigurationsTest {
@Test
public void shouldGetAllSCMsSortedByDisplayOrder() throws Exception {
SCMConfiguration c1 = new SCMConfiguration("k1").with(SCMConfiguration.DISPLAY_ORDER, 2);
SCMConfiguration c2 = new SCMConfiguration("k2").with(SCMConfiguration.DISPLAY_ORDER, 0);
SCMConfiguration c3 = new SCMConfiguration("k3").with(SCMConfiguration.DISPLAY_ORDER, 1);
SCMConfigurations scmConfigurations = new SCMConfigurations();
scmConfigurations.add(c1);
scmConfigurations.add(c2);
scmConfigurations.add(c3);
List<SCMConfiguration> scmConfigurationList = scmConfigurations.list();
assertThat(scmConfigurationList.get(0), is(c2));
assertThat(scmConfigurationList.get(1), is(c3));
assertThat(scmConfigurationList.get(2), is(c1));
}
@Test
public void shouldConstructSCMConfiguration() throws Exception {
SCMPropertyConfiguration scmPropertyConfiguration = new SCMPropertyConfiguration();
scmPropertyConfiguration.add(new SCMProperty("k1", "v1").with(Property.SECURE, Boolean.TRUE));
SCMConfigurations scmConfigurations = new SCMConfigurations(scmPropertyConfiguration);
assertThat(scmConfigurations.list().size(), is(1));
SCMConfiguration scmConfiguration = scmConfigurations.list().get(0);
assertThat(scmConfiguration.getKey(), is("k1"));
assertThat(scmConfiguration.getValue(), is("v1"));
assertThat(scmConfiguration.getOption(SCMConfiguration.REQUIRED), is(true));
assertThat(scmConfiguration.getOption(SCMConfiguration.PART_OF_IDENTITY), is(true));
assertThat(scmConfiguration.getOption(SCMConfiguration.SECURE), is(true));
assertThat(scmConfiguration.getOption(SCMConfiguration.DISPLAY_NAME), is(""));
assertThat(scmConfiguration.getOption(SCMConfiguration.DISPLAY_ORDER), is(0));
}
}