@@ -0,0 +1,3179 @@
+/*%0A * Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.%0A *%0A * WSO2 Inc. licenses this file to you under the Apache License,%0A * Version 2.0 (the %22License%22); you may not use this file except%0A * in compliance with the License.%0A * You may obtain a copy of the License at%0A *%0A *   http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing,%0A * software distributed under the License is distributed on an%0A * %22AS IS%22 BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY%0A * KIND, either express or implied.  See the License for the%0A * specific language governing permissions and limitations%0A * under the License.%0A */%0A%0Apackage org.wso2.carbon.uis.internal.http;%0A%0Aimport org.testng.Assert;%0Aimport org.testng.annotations.Test;%0Aimport org.wso2.carbon.uis.api.App;%0Aimport org.wso2.carbon.uis.api.Configuration;%0Aimport org.wso2.carbon.uis.api.exception.PageNotFoundException;%0Aimport org.wso2.carbon.uis.api.exception.PageRedirectException;%0Aimport org.wso2.carbon.uis.api.exception.RenderingException;%0Aimport org.wso2.carbon.uis.api.http.HttpRequest;%0Aimport org.wso2.carbon.uis.api.http.HttpResponse;%0A%0Aimport static org.mockito.ArgumentMatchers.any;%0Aimport static org.mockito.Mockito.mock;%0Aimport static org.mockito.Mockito.when;%0A%0A/**%0A * Test cases for %7B@link PageRequestDispatcher%7D class.%0A *%0A * @since 0.13.4%0A */%0Apublic class PageRequestDispatcherTest %7B%0A%0A    @Test%0A    public void testServe() %7B%0A        App app = mock(App.class);%0A        when(app.renderPage(any())).thenReturn(%22%3Cp%3Esome html%3C/p%3E%22);%0A        when(app.getConfiguration()).thenReturn(Configuration.DEFAULT_CONFIGURATION);%0A%0A        HttpResponse response = new PageRequestDispatcher(app).serve(mock(HttpRequest.class));%0A        Assert.assertEquals(response.getStatus(), HttpResponse.STATUS_OK);%0A        Assert.assertEquals(response.getContent(), %22%3Cp%3Esome html%3C/p%3E%22);%0A        Assert.assertEquals(response.getContentType(), HttpResponse.CONTENT_TYPE_TEXT_HTML);%0A    %7D%0A%0A    @Test%0A    public void testServeWithRenderingException() %7B%0A        App app = mock(App.class);%0A        when(app.renderPage(any())).thenThrow(RenderingException.class);%0A%0A        HttpResponse response = new PageRequestDispatcher(app).serve(mock(HttpRequest.class));%0A        Assert.assertEquals(response.getStatus(), HttpResponse.STATUS_INTERNAL_SERVER_ERROR);%0A    %7D%0A%0A    @Test%0A    public void testServeWithPageNotFoundException() %7B%0A        App app = mock(App.class);%0A        when(app.renderPage(any())).thenThrow(PageNotFoundException.class);%0A%0A        HttpResponse response = new PageRequestDispatcher(app).serve(mock(HttpRequest.class));%0A        Assert.assertEquals(response.getStatus(), HttpResponse.STATUS_NOT_FOUND);%0A    %7D%0A%0A    @Test%0A    public void testServeWithPageRedirectException() %7B%0A        App app = mock(App.class);%0A        when(app.renderPage(any())).thenThrow(new PageRedirectException(%22redirect/url%22));%0A%0A        HttpResponse response = new PageRequestDispatcher(app).serve(mock(HttpRequest.class));%0A        Assert.assertEquals(response.getStatus(), HttpResponse.STATUS_FOUND);%0A        Assert.assertEquals(response.getHeaders().get(HttpResponse.HEADER_LOCATION), %22redirect/url%22);%0A    %7D%0A%7D%0A

add test cases for PageRequestDispatcher class