Java tutorial
/* * ==================================================================== * Copyright (c) 2005-2012 sventon project. All rights reserved. * * This software is licensed as described in the file LICENSE, which * you should have received as part of this distribution. The terms * are also available at http://www.sventon.org. * If newer versions of this license are posted there, you may use a * newer version instead, at your option. * ==================================================================== */ package org.sventon.web.ctrl.template; import org.easymock.classextension.EasyMock; import org.junit.Test; import org.springframework.web.servlet.ModelAndView; import org.sventon.Colorer; import org.sventon.model.AnnotatedTextFile; import org.sventon.model.RepositoryName; import org.sventon.model.Revision; import org.sventon.service.RepositoryService; import org.sventon.web.UserRepositoryContext; import org.sventon.web.command.BaseCommand; import java.io.IOException; import java.util.Map; import static org.easymock.EasyMock.expect; import static org.easymock.classextension.EasyMock.replay; import static org.easymock.classextension.EasyMock.verify; import static org.junit.Assert.assertEquals; public class BlameControllerTest { @Test public void testSvnHandle() throws Exception { final RepositoryService mockService = EasyMock.createMock(RepositoryService.class); final Colorer colorer = new Colorer() { public String getColorizedContent(String content, String fileExtension, String encoding) throws IOException { return content; } }; final AnnotatedTextFile annotatedFile = new AnnotatedTextFile(); final UserRepositoryContext context = new UserRepositoryContext(); context.setCharset("UTF-8"); final BaseCommand command = new BaseCommand(); command.setPath("trunk/test"); command.setName(new RepositoryName("test")); command.setRevision(Revision.create(12)); final BlameController ctrl = new BlameController(colorer); ctrl.setRepositoryService(mockService); expect(mockService.blame(null, command.getPath(), command.getRevisionNumber(), context.getCharset(), colorer)).andStubReturn(annotatedFile); replay(mockService); final ModelAndView modelAndView = ctrl.svnHandle(null, command, 100, context, null, null, null); final Map model = modelAndView.getModel(); verify(mockService); assertEquals(1, model.size()); assertEquals(annotatedFile, model.get("annotatedFile")); } }