1 package org.apache.maven.continuum.web.action; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 import org.apache.continuum.builder.distributed.manager.DistributedBuildManager; 7 import org.apache.continuum.configuration.BuildAgentConfiguration; 8 import org.apache.continuum.configuration.BuildAgentGroupConfiguration; 9 import org.apache.continuum.web.action.admin.BuildAgentAction; 10 import org.apache.maven.continuum.Continuum; 11 import org.apache.maven.continuum.configuration.ConfigurationService; 12 import org.jmock.Mock; 13 import org.jmock.MockObjectTestCase; 14 15 public class BuildAgentActionTest 16 extends MockObjectTestCase 17 { 18 private BuildAgentAction action; 19 20 private Mock continuumMock; 21 22 private Mock configurationServiceMock; 23 24 private Mock distributedBuildManagerMock; 25 26 private List<BuildAgentConfiguration> buildAgents; 27 28 protected void setUp() 29 throws Exception 30 { 31 action = new BuildAgentAction(); 32 continuumMock = mock( Continuum.class ); 33 configurationServiceMock = mock( ConfigurationService.class ); 34 distributedBuildManagerMock = mock( DistributedBuildManager.class ); 35 36 action.setContinuum( (Continuum) continuumMock.proxy() ); 37 38 buildAgents = new ArrayList<BuildAgentConfiguration>(); 39 } 40 41 public void testAddBuildAgent() 42 throws Exception 43 { 44 continuumMock.expects( once() ).method( "getConfiguration" ).will( returnValue( configurationServiceMock.proxy() ) ); 45 configurationServiceMock.expects( atLeastOnce() ).method( "getBuildAgents" ).will( returnValue( buildAgents ) ); 46 configurationServiceMock.expects( once() ).method( "addBuildAgent" ).isVoid(); 47 configurationServiceMock.expects( once() ).method( "store" ).isVoid(); 48 continuumMock.expects( once() ).method( "getDistributedBuildManager" ).will( returnValue( distributedBuildManagerMock.proxy() ) ); 49 distributedBuildManagerMock.expects( once() ).method( "reload" ).isVoid(); 50 51 BuildAgentConfiguration buildAgent = new BuildAgentConfiguration(); 52 buildAgent.setUrl( "http://sample/agent" ); 53 54 action.setBuildAgent( buildAgent ); 55 action.save(); 56 } 57 58 public void testDeleteBuildAgent() 59 throws Exception 60 { 61 List<BuildAgentGroupConfiguration> buildAgentGroups = new ArrayList<BuildAgentGroupConfiguration>(); 62 63 continuumMock.expects( atLeastOnce() ).method( "getDistributedBuildManager" ).will( returnValue( distributedBuildManagerMock.proxy() ) ); 64 distributedBuildManagerMock.expects( once() ).method( "isBuildAgentBusy" ).will( returnValue( false ) ); 65 continuumMock.expects( once() ).method( "getConfiguration" ).will( returnValue( configurationServiceMock.proxy() ) ); 66 configurationServiceMock.expects( atLeastOnce() ).method( "getBuildAgentGroups" ).will( returnValue( buildAgentGroups ) ); 67 configurationServiceMock.expects( atLeastOnce() ).method( "getBuildAgents" ).will( returnValue( buildAgents ) ); 68 69 distributedBuildManagerMock.expects( never() ).method( "removeDistributedBuildQueueOfAgent" ).isVoid(); 70 distributedBuildManagerMock.expects( never() ).method( "reload" ).isVoid(); 71 configurationServiceMock.expects( never() ).method( "removeBuildAgent" ).isVoid(); 72 configurationServiceMock.expects( never() ).method( "store" ).isVoid(); 73 74 BuildAgentConfiguration buildAgent = new BuildAgentConfiguration(); 75 buildAgent.setUrl( "http://sample/agent" ); 76 77 action.setConfirmed( true ); 78 action.setBuildAgent( buildAgent ); 79 action.delete(); 80 } 81 }