View Javadoc

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  }