/** * @return rule to match request URI, Method, Headers, and Body */ public static MatchRule matchEntireRequest() { CompositeMatchRule compositeMatchRule = new CompositeMatchRule(); compositeMatchRule.addRule(new MatchMethod()); compositeMatchRule.addRule(new MatchUri()); compositeMatchRule.addRule(new MatchHeaders()); compositeMatchRule.addRule(new MatchBody()); return compositeMatchRule; }
/** * @return rule to match the request POST body parameters, except for those in the blacklist */ public static MatchRule matchBodyPostParametersWithBlacklist(Set<String> blackList) { return new MatchBodyPostParameters(new MatchRuleBlacklistTransform(blackList)); } }
/** * @return rule to match request URI, blacklisting the specified query parameters */ public static MatchRule matchUriWithQueryBlacklist(Set<String> blackList) { return new MatchUriWithQueryTransform(new MatchRuleBlacklistTransform(blackList)); }
@Test public void testInsertion() { Set<MatchRule> matchRuleSet = new HashSet<>(); matchRuleSet.add(new MatchBody()); Assert.assertEquals(matchRuleSet.size(), 1); matchRuleSet.add(new MatchBody()); Assert.assertEquals(matchRuleSet.size(), 1); matchRuleSet.add(new MatchHeaders()); matchRuleSet.add(MatchRuleUtils.matchHeadersWithBlacklist(null)); matchRuleSet.add(MatchRuleUtils.matchHeadersWithWhitelist(null)); Assert.assertEquals(matchRuleSet.size(), 4); }
@Test public void testIsNotMatch() throws Exception { RecordedHttpRequest recordedHttpRequest1 = new RecordedHttpRequest("GET", null, null, null); RecordedHttpRequest recordedHttpRequest2 = new RecordedHttpRequest("get", null, null, null); MatchRule matchRule = new MatchMethod(); Assert.assertFalse(matchRule.test(recordedHttpRequest1, recordedHttpRequest2)); } }
@Test public void testBothNullBodyMatch() { RecordedHttpRequest recordedHttpRequest1 = new RecordedHttpRequest(null, null, null, null); RecordedHttpRequest recordedHttpRequest2 = new RecordedHttpRequest(null, null, null, null); MatchRule matchRule = new MatchBody(); Assert.assertTrue(matchRule.test(recordedHttpRequest1, recordedHttpRequest2)); }
/** * @return rule to match the request headers contained in the whitelist */ public static MatchRule matchHeadersWithWhitelist(Set<String> whiteList) { return new MatchHeaders(new MatchRuleWhitelistTransform(whiteList)); }
/** * @return rule to match the request POST body parameters contained in the whitelist */ public static MatchRule matchBodyPostParametersWithWhitelist(Set<String> whiteList) { return new MatchBodyPostParameters(new MatchRuleWhitelistTransform(whiteList)); }
/** * @return rule to match the request headers, except for those in the blacklist */ public static MatchRule matchHeadersWithBlacklist(Set<String> blackList) { return new MatchHeaders(new MatchRuleBlacklistTransform(blackList)); }
@Test public void testIsMatchWithCaseInsensitive() throws Exception { RecordedHttpRequest recordedHttpRequest1 = new RecordedHttpRequest("GET", null, null, null); RecordedHttpRequest recordedHttpRequest2 = new RecordedHttpRequest("get", null, null, null); MatchRule matchRule = new MatchCaseInsensitiveMethod(); Assert.assertTrue(matchRule.test(recordedHttpRequest1, recordedHttpRequest2)); } }
/** * @return rule to match request URI, whitelisting the specified query parameters */ public static MatchRule matchUriWithQueryWhitelist(Set<String> whiteList) { return new MatchUriWithQueryTransform(new MatchRuleWhitelistTransform(whiteList)); }
@Override public boolean apply(MatchRule rule) { return rule.test(incomingRequest, expectedRequest); } });
@Override protected boolean testUriEquivalency(URI incomingUri, URI expectedUri) { try { URI modifiedIncomingUri = getModifiedUri(incomingUri); URI modifiedExpectedUri = getModifiedUri(expectedUri); return super.testUriEquivalency(modifiedIncomingUri, modifiedExpectedUri); } catch (URISyntaxException | UnsupportedEncodingException e) { LOGGER.error("Caught exception " + e + " while constructing modified URI"); } return false; }
@Override public boolean test(RecordedHttpRequest incomingRequest, RecordedHttpRequest expectedRequest) { return _transform.transform(multimapToCommaSeparatedMap(incomingRequest.getHeaders())) .equals(_transform.transform(multimapToCommaSeparatedMap(expectedRequest.getHeaders()))); }
public MatchHeaders(MatchRuleMapTransform transform) { if (transform != null) { _transform = transform; } else { _transform = new MatchRuleIdentityTransform(); } }
/** * @return rule to match request URI, Body and Method */ public static MatchRule matchMethodBodyUri() { CompositeMatchRule compositeMatchRule = new CompositeMatchRule(); compositeMatchRule.addRule(new MatchBody()); compositeMatchRule.addRule(new MatchMethod()); compositeMatchRule.addRule(new MatchUri()); return compositeMatchRule; }
public MatchUriWithQueryTransform(MatchRuleMapTransform transform) { if (transform != null) { _transform = transform; } else { _transform = new MatchRuleIdentityTransform(); } }
/** * @return rule to match request Method, URI and Body with any boundary */ public static MatchRule matchMethodUriBodyWithAnyBoundary() { CompositeMatchRule compositeMatchRule = new CompositeMatchRule(); compositeMatchRule.addRule(new MatchMethod()); compositeMatchRule.addRule(new MatchUri()); compositeMatchRule.addRule(new MatchBodyWithAnyBoundary()); return compositeMatchRule; }
public MatchBodyPostParameters(MatchRuleMapTransform transform) { if (transform != null) { _transform = transform; } else { _transform = new MatchRuleIdentityTransform(); } }
/** * @return rule to match request URI and Method */ public static MatchRule matchMethodUri() { CompositeMatchRule compositeMatchRule = new CompositeMatchRule(); compositeMatchRule.addRule(new MatchMethod()); compositeMatchRule.addRule(new MatchUri()); return compositeMatchRule; }