Package scenic3

Source Code of scenic3.ScenicPageTest$MockScenicController

package scenic3;

import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;

import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.util.concurrent.atomic.AtomicBoolean;

import org.junit.Before;
import org.junit.Test;
import org.slim3.controller.Navigation;
import org.slim3.tester.MockHttpServletRequest;
import org.slim3.tester.MockHttpServletResponse;
import org.slim3.tester.MockServletContext;

/**
* Test for @{link ScenicPage}.
* <p></p>
* @author shuji.w6e
* @since 0.4.0
*/
public class ScenicPageTest {

    private ScenicPage target;
    private MockServletContext servletContext;
    private MockHttpServletRequest request;
    private MockHttpServletResponse response;
    private ScenicController controller;

    @Before
    public void setUp() throws Exception {
        target = new ScenicPage() {
        };
        servletContext = new MockServletContext();
        request = new MockHttpServletRequest(servletContext);
        response = new MockHttpServletResponse();
        controller = new ScenicController() {
            {
                super.servletContext = ScenicPageTest.this.servletContext;
                super.request = ScenicPageTest.this.request;
                super.response = ScenicPageTest.this.response;
            }

            @Override
            protected Navigation run() throws Exception {
                return null;
            }

            @Override
            public ScenicPage getPage() {
                return target;
            }

            @Override
            public String getActionMethodName() {
                return null;
            }
        };
        controller.setupPage(target);
    }

    @Test
    public void response() throws Exception {
        request.setCharacterEncoding("UTF-8");
        Navigation result = target.response("OK");
        assertThat(result, is(nullValue()));
        assertThat(response.getContentType(), is("text/plain; charset=UTF-8"));
        assertThat(response.getContentLength(), is(2));
        assertThat(response.getOutputAsString(), is("OK"));
    }

    @Test
    public void response_shift_jis() throws Exception {
        request.setCharacterEncoding("Shift_JIS");
        Navigation result = target.response("こんにちは001");
        assertThat(result, is(nullValue()));
        assertThat(response.getContentType(), is("text/plain; charset=Shift_JIS"));
        assertThat(response.getContentLength(), is(13));
        assertThat(response.getOutputAsString(), is("こんにちは001"));
    }
   
    @Test
    public void delegate_controllers_isGet() throws Exception {
        final AtomicBoolean delegate = new AtomicBoolean(false);
        // create mock controller and set to target page object
        new MockScenicController() {
            @Override
            protected boolean isGet() {
                delegate.set(true);
                return super.isGet();
            }
        }.setupPage(target);
        target.isGet();
        assertThat(delegate.get(), is(true));
    }

    @Test
    public void delegate_controllers_isPost() throws Exception {
        final AtomicBoolean delegate = new AtomicBoolean(false);
        // create mock controller and set to target page object
        new MockScenicController() {
            @Override
            protected boolean isPost() {
                delegate.set(true);
                return super.isPost();
            }
        }.setupPage(target);
        target.isPost();
        assertThat(delegate.get(), is(true));
    }

    @Test
    public void delegate_controllers_isPut() throws Exception {
        final AtomicBoolean delegate = new AtomicBoolean(false);
        // create mock controller and set to target page object
        new MockScenicController() {
            @Override
            protected boolean isPut() {
                delegate.set(true);
                return super.isPut();
            }
        }.setupPage(target);
        target.isPut();
        assertThat(delegate.get(), is(true));
    }

    @Test
    public void delegate_controllers_isDelete() throws Exception {
        final AtomicBoolean delegate = new AtomicBoolean(false);
        // create mock controller and set to target page object
        new MockScenicController() {
            @Override
            protected boolean isDelete() {
                delegate.set(true);
                return super.isDelete();
            }
        }.setupPage(target);
        target.isDelete();
        assertThat(delegate.get(), is(true));
    }

    @Test
    public void delegate_controllers_forward() throws Exception {
        final AtomicBoolean delegate = new AtomicBoolean(false);
        // create mock controller and set to target page object
        new MockScenicController() {
            @Override
            protected Navigation forward(String path) {
                delegate.set(true);
                return super.forward(path);
            }
        }.setupPage(target);
        target.forward("aaa");
        assertThat(delegate.get(), is(true));
    }

    @Test
    public void delegate_controllers_redirect() throws Exception {
        final AtomicBoolean delegate = new AtomicBoolean(false);
        // create mock controller and set to target page object
        new MockScenicController() {
            @Override
            protected Navigation redirect(String path) {
                delegate.set(true);
                return super.redirect(path);
            }
        }.setupPage(target);
        target.redirect("aaa");
        assertThat(delegate.get(), is(true));
    }

    @Test
    public void delegate_controllers_requestScope() throws Exception {
        final AtomicBoolean delegate = new AtomicBoolean(false);
        // create mock controller and set to target page object
        new MockScenicController() {

            @Override
            protected <T> T requestScope(CharSequence name) {
                delegate.set(true);
                return super.<T> requestScope(name);
            }
        }.setupPage(target);
        target.requestScope("aaa");
        assertThat(delegate.get(), is(true));
    }

    @Test
    public void delegate_controllers_requestScope2() throws Exception {
        final AtomicBoolean delegate = new AtomicBoolean(false);
        // create mock controller and set to target page object
        new MockScenicController() {

            @Override
            protected void requestScope(CharSequence name, Object value) throws NullPointerException {
                delegate.set(true);
                super.requestScope(name, value);
            }
        }.setupPage(target);
        target.requestScope("aaa", "aaa");
        assertThat(delegate.get(), is(true));
    }

    @Test
    public void delegate_controllers_removeRequestScope() throws Exception {
        final AtomicBoolean delegate = new AtomicBoolean(false);
        // create mock controller and set to target page object
        new MockScenicController() {

            @Override
            protected <T> T removeRequestScope(CharSequence name) throws NullPointerException {
                delegate.set(true);
                return super.<T> removeRequestScope(name);
            }

        }.setupPage(target);
        target.removeRequestScope("aaa");
        assertThat(delegate.get(), is(true));
    }

    @Test
    public void delegate_controllers_paramValues() throws Exception {
        final AtomicBoolean delegate = new AtomicBoolean(false);
        // create mock controller and set to target page object
        new MockScenicController() {
            @Override
            protected String[] paramValues(CharSequence name) {
                delegate.set(true);
                return super.paramValues(name);

            }
        }.setupPage(target);
        target.paramValues("aaa");
        assertThat(delegate.get(), is(true));
    }

    @Test
    public void delegate_controllers_param() throws Exception {
        final AtomicBoolean delegate = new AtomicBoolean(false);
        // create mock controller and set to target page object
        new MockScenicController() {
            @Override
            protected String param(CharSequence name) throws NullPointerException {
                delegate.set(true);
                return super.param(name);

            }
        }.setupPage(target);
        target.param("aaa");
        assertThat(delegate.get(), is(true));
    }

    @Test
    public void delegate_controllers_sessionScope() throws Exception {
        final AtomicBoolean delegate = new AtomicBoolean(false);
        // create mock controller and set to target page object
        new MockScenicController() {

            @Override
            protected <T> T sessionScope(CharSequence name) {
                delegate.set(true);
                return super.<T> sessionScope(name);
            }
        }.setupPage(target);
        target.sessionScope("aaa");
        assertThat(delegate.get(), is(true));
    }

    @Test
    public void delegate_controllers_sessionScope2() throws Exception {
        final AtomicBoolean delegate = new AtomicBoolean(false);
        // create mock controller and set to target page object
        new MockScenicController() {

            @Override
            protected void sessionScope(CharSequence name, Object value) throws NullPointerException {
                delegate.set(true);
                super.sessionScope(name, value);
            }
        }.setupPage(target);
        target.sessionScope("aaa", "aaa");
        assertThat(delegate.get(), is(true));
    }

    @Test
    public void delegate_controllers_removeSessionScope() throws Exception {
        final AtomicBoolean delegate = new AtomicBoolean(false);
        // create mock controller and set to target page object
        new MockScenicController() {

            @Override
            protected <T> T removeSessionScope(CharSequence name) throws NullPointerException {
                delegate.set(true);
                return super.<T> removeSessionScope(name);
            }

        }.setupPage(target);
        target.removeSessionScope("aaa");
        assertThat(delegate.get(), is(true));
    }

    @Test
    public void delegate_controllers_download_bytes() throws Exception {
        final AtomicBoolean delegate = new AtomicBoolean(false);
        // create mock controller and set to target page object
        new MockScenicController() {

            @Override
            protected void download(String name, byte[] bytes) throws NullPointerException {
                delegate.set(true);
                super.download(name, bytes);
            }

        }.setupPage(target);
        target.download("aaa", new byte[10]);
        assertThat(delegate.get(), is(true));
    }

    @Test
    public void delegate_controllers_download_InputStream() throws Exception {
        final AtomicBoolean delegate = new AtomicBoolean(false);
        // create mock controller and set to target page object
        new MockScenicController() {

            @Override
            protected void download(String name, InputStream input) throws NullPointerException {
                delegate.set(true);
                super.download(name, input);
            }

        }.setupPage(target);
        target.download("aaa", new ByteArrayInputStream(new byte[64]));
        assertThat(delegate.get(), is(true));
    }

    static class MockScenicController extends ScenicController {
        {
            super.servletContext = new MockServletContext();
            super.request = new MockHttpServletRequest(super.servletContext);
            super.response = new MockHttpServletResponse();
        }

        @Override
        protected Navigation run() throws Exception {
            return null;
        }

        @Override
        public ScenicPage getPage() {
            return null;
        }

        @Override
        public String getActionMethodName() {
            return null;
        }

    }
}
TOP

Related Classes of scenic3.ScenicPageTest$MockScenicController

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.