package org.jenkinsci.tools.configcloner; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.equalTo; import java.net.MalformedURLException; import java.net.URL; import java.util.Arrays; import org.junit.Test; public class UrlParserTest { @Test(expected = IllegalArgumentException.class) public void sameInstanceShouldBeDisallowed() { final ConfigDestination from = new ConfigDestination( "http://localhost:8080", "my-job" ); constParser(from).pair(from, Arrays.asList("http://localhost:8080")); } @Test public void completePathFromSourceWhenMissingInDestination() throws MalformedURLException { final ConfigDestination from = new ConfigDestination( "http://localhost:8080", "my-job" ); final ConfigDestination to = constParser("http://localhost:4242", "") .pair(from, Arrays.asList("http://ignored:4242")) .get(0) ; assertThat(new URL("http://localhost:4242"), equalTo(to.jenkins())); assertThat("my-job", equalTo(to.entity())); } private UrlParser constParser(final String jenkins, final String path) { return constParser(new ConfigDestination(jenkins, path)); } private UrlParser constParser(final ConfigDestination dest) { return new UrlParser() { @Override protected ConfigDestination parseDestination(final URL url) { return dest; } }; } }