cas10responseviewtests.java

来自「CAS在Tomcat中实现单点登录项目,单点登录(Single Sign On 」· Java 代码 · 共 108 行

JAVA
108
字号
/* * Copyright 2007 The JA-SIG Collaborative. All rights reserved. See license * distributed with this file and available online at * http://www.ja-sig.org/products/cas/overview/license/ */package org.jasig.cas.web.view;import java.io.ByteArrayOutputStream;import java.io.OutputStream;import java.io.PrintWriter;import java.io.Writer;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import org.jasig.cas.TestUtils;import org.jasig.cas.authentication.Authentication;import org.jasig.cas.authentication.ImmutableAuthentication;import org.jasig.cas.authentication.principal.SimplePrincipal;import org.jasig.cas.validation.ImmutableAssertionImpl;import org.springframework.mock.web.MockHttpServletRequest;import org.springframework.mock.web.MockHttpServletResponse;import junit.framework.TestCase;/** * @author Scott Battaglia * @version $Revision: 42053 $ $Date: 2007-06-10 09:17:55 -0400 (Sun, 10 Jun 2007) $ */public class Cas10ResponseViewTests extends TestCase {    private final Cas10ResponseView view = new Cas10ResponseView();    private Map<String, Object> model;    protected void setUp() throws Exception {        this.model = new HashMap<String,Object>();        List<Authentication> list = new ArrayList<Authentication>();        list.add(new ImmutableAuthentication(new SimplePrincipal("test")));        this.model.put("assertion", new ImmutableAssertionImpl(list,            TestUtils.getService("TestService"), true));    }    public void testSuccessView() throws Exception {        final MockWriterHttpMockHttpServletResponse response = new MockWriterHttpMockHttpServletResponse();        this.view.setSuccessResponse(true);        this.view.render(this.model, new MockHttpServletRequest(), response            );        assertEquals("yes\ntest\n", response.getWrittenValue());    }    public void testFailureView() throws Exception {        final MockWriterHttpMockHttpServletResponse response = new MockWriterHttpMockHttpServletResponse();        this.view.setSuccessResponse(false);        this.view.render(this.model, new MockHttpServletRequest(),            response);        assertEquals("no\n\n", response.getWrittenValue());    }    protected static class MockWriterHttpMockHttpServletResponse extends        MockHttpServletResponse {                private StringBuilder builder = new StringBuilder();        public PrintWriter getWriter() {            try {                return new MockPrintWriter(new ByteArrayOutputStream(), this.builder);            } catch (Exception e) {                throw new RuntimeException();            }        }                public String getWrittenValue() {            return this.builder.toString();        }    }    protected static class MockPrintWriter extends PrintWriter {                final StringBuilder builder;        public MockPrintWriter(OutputStream out, boolean autoFlush, final StringBuilder builder) {            super(out, autoFlush);            this.builder = builder;        }        public MockPrintWriter(OutputStream out, final StringBuilder builder) {            super(out);            this.builder = builder;        }        public MockPrintWriter(Writer out, boolean autoFlush, final StringBuilder builder) {            super(out, autoFlush);            this.builder = builder;        }        public MockPrintWriter(Writer out, final StringBuilder builder) {            super(out);            this.builder = builder;        }        public void print(String s) {            this.builder.append(s);        }    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?