/* * #%L * Wisdom-Framework * %% * Copyright (C) 2013 - 2014 Wisdom Framework * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * #L% */ package router; import org.junit.Test; import org.wisdom.test.http.HttpResponse; import org.wisdom.test.parents.WisdomBlackBoxTest; import static org.assertj.core.api.Assertions.assertThat; public class UrlDecodingIT extends WisdomBlackBoxTest { @Test public void testURLDecoding() throws Exception { testDecoding("a", "a", "a", "a", "a", "a"); testDecoding("%2B", "%2B", "%2B", "+", "%2B", "+"); testDecoding("+", "+", "+", "+", "+", " "); testDecoding("%20", "%20", "%20", " ", "%20", " "); testDecoding("&", "&", "-", "&", "&", "-"); testDecoding("=", "=", "-", "=", "=", "-"); } public void testDecoding(String p1, String p2, String q, String expected1, String expected2, String expected3) throws Exception { final String url = "/urlcoding/" + p1 + "/" + p2 + "?q=" + q; HttpResponse<String> response = get(url).asString(); assertThat(response.code()).isEqualTo(OK); assertThat(response.body()).isEqualTo(expected1 + "," + expected2 + "," + expected3); } }