package org.atomhopper.util; import org.junit.Test; import org.junit.experimental.runners.Enclosed; import org.junit.runner.RunWith; import java.util.regex.Pattern; import static org.junit.Assert.assertTrue; /** * */ @RunWith(Enclosed.class) public class TargetRegexBuilderFeedTest { public static class WhenBuildingFeedRegexes extends TargetRegexBuilderTestParent { @Test public void shouldMatchAllFeedVariations() { final TargetRegexBuilder target = feedRegexBuilder(); final Pattern targetRegex = Pattern.compile(target.toFeedPattern()); assertTrue("Should match plain feed URI - regex is: " + targetRegex.pattern(), targetRegex.matcher(FEED).matches()); assertTrue("Should match plain feed URI with a slash - regex is: " + targetRegex.pattern(), targetRegex.matcher(addTrailingSlash(FEED)).matches()); } @Test public void shouldMatchWithNonRootContextPath() { final TargetRegexBuilder target = feedRegexBuilder(); target.setContextPath(CONTEXT_PATH); final Pattern targetRegex = Pattern.compile(target.toFeedPattern()); assertTrue("Should match feed URI with a context root - regex is: " + targetRegex.pattern(), targetRegex.matcher(addContextRoot(FEED)).matches()); } @Test(expected = IllegalStateException.class) public void shouldFailToBuildRegexWhenFeedIsNotSet() { new TargetRegexBuilder().toFeedPattern(); } } }