@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 testHeaderWhitelistMatchWithNoneInWL() throws Exception { Multimap<String, String> headers1 = LinkedHashMultimap.create(); headers1.put("key3", "value3"); RecordedHttpRequest recordedHttpRequest1 = new RecordedHttpRequest(null, null, headers1, null); Multimap<String, String> headers2 = LinkedHashMultimap.create(); headers2.put("key2", "value2"); headers2.put("key3", "value3"); RecordedHttpRequest recordedHttpRequest2 = new RecordedHttpRequest(null, null, headers2, null); Set<String> wList = new HashSet<>(); wList.add("key1"); MatchRule matchRule = MatchRuleUtils.matchHeadersWithWhitelist(wList); Assert.assertTrue(matchRule.test(recordedHttpRequest1, recordedHttpRequest2)); }
@Test public void testHeaderWhitelistMatch() throws Exception { Multimap<String, String> headers1 = LinkedHashMultimap.create(); headers1.put("key1", "value1"); headers1.put("key2", "value2"); RecordedHttpRequest recordedHttpRequest1 = new RecordedHttpRequest(null, null, headers1, null); Multimap<String, String> headers2 = LinkedHashMultimap.create(); headers2.put("key1", "value1"); headers2.put("key2", "value2"); headers2.put("key3", "value3"); RecordedHttpRequest recordedHttpRequest2 = new RecordedHttpRequest(null, null, headers2, null); Set<String> wList = new HashSet<>(); wList.add("key1"); wList.add("key2"); MatchRule matchRule = MatchRuleUtils.matchHeadersWithWhitelist(wList); Assert.assertTrue(matchRule.test(recordedHttpRequest1, recordedHttpRequest2)); }
@Test public void testHeaderWhitelistNotMatchWithOneHeaderNull() throws Exception { Multimap<String, String> headers1 = LinkedHashMultimap.create(); headers1.put("key1", "value1"); headers1.put("key3", "value3"); RecordedHttpRequest recordedHttpRequest1 = new RecordedHttpRequest(null, null, headers1, null); Multimap<String, String> headers2 = LinkedHashMultimap.create(); headers2.put("key2", "value2"); headers2.put("key3", "value3"); RecordedHttpRequest recordedHttpRequest2 = new RecordedHttpRequest(null, null, headers2, null); Set<String> wList = new HashSet<>(); wList.add("key1"); MatchRule matchRule = MatchRuleUtils.matchHeadersWithWhitelist(wList); Assert.assertFalse(matchRule.test(recordedHttpRequest1, recordedHttpRequest2)); Assert.assertTrue(matchRule.getMatchFailureDescriptionForRequests(recordedHttpRequest1, recordedHttpRequest2).contains("HTTP Headers Mismatch (with Whitelist)")); }