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