Class MockBuildAgent
- java.lang.Object
-
- jetbrains.buildServer.serverSide.impl.Proxyfied<BuildAgentEx>
-
- jetbrains.buildServer.serverSide.impl.agent.AbstractBuildAgentContext
-
- jetbrains.buildServer.serverSide.impl.agent.AbstractBuildAgent
-
- jetbrains.buildServer.serverSide.impl.MockBuildAgent
-
- All Implemented Interfaces:
Comparable<BuildAgent>
,BuildAgent
,Loggable
,AgentBuildHistory
,AgentDescription
,BuildAgentEx
,BuildAgentInit
,SBuildAgent
public class MockBuildAgent extends AbstractBuildAgent
-
-
Field Summary
Fields Modifier and Type Field Description Map<String,String>
myRunBuildParameters
-
Fields inherited from class jetbrains.buildServer.serverSide.impl.agent.AbstractBuildAgent
FAILED_TO_FIND_AGENT_TYPE_FOR_AGENT_MSG_PREFIX
-
Fields inherited from class jetbrains.buildServer.serverSide.impl.agent.AbstractBuildAgentContext
myContext
-
Fields inherited from interface jetbrains.buildServer.BuildAgent
DEFAULT_POOL_ID, DEFAULT_POOL_NAME
-
-
Constructor Summary
Constructors Constructor Description MockBuildAgent(MockAgentContext context, String... availableRunTypes)
MockBuildAgent(MockAgentContext context, CurrentAgentVersionProvider currentAgentVersionProvider, String... availableRunTypes)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addAvailableParameter(String s, String s1)
void
addAvailableRunnerType(RunType typeValue)
void
addAvailableVcsPlugin(String pluginName)
void
addConfigParameter(String key, String value)
void
cleanBuildId()
String
describe(boolean verbose)
MockBuildAgent
forNewContext(MockAgentContext context)
AgentBuild
getAgentBuild()
String
getCommunicationProtocolType()
Returns type (identifier) of the protocol that is used to communicate with this agent.RemoteAgentConnection
getConnection()
long
getCurrentBuildId()
String
getCurrentVersion(VcsRoot vcsRoot)
MockAgentContext
getMockContext()
int
getPort()
Port where agent is listening for server commands.Date
getRegistrationTimestamp()
Returns timestamp of this agent registration.Map<String,String>
getRunBuildParameters()
SRunningBuild
getRunningBuild()
Returns the build which is currently running on the agent; null if no such build availablelong
getStartTime()
String
getUnregistrationComment()
If agent is not registered returns reason of its' unregistration.void
isLocal(Action<Boolean> callback)
Calls callback with true if this agent is local for sure (i.e.Boolean
isLocalFast()
Returns the result ofBuildAgentEx.isLocal(Action)
if the operation is fast, null otherwiseboolean
isOutdated()
Returns true if version of this agent does not match version of the server.boolean
isRegistered()
Returns true or false depending on whether this agent is currently registered on server or not.boolean
isStopBuildWasCalled()
boolean
ping()
Try to ping agent over networksvoid
pushAgentTypeData()
void
registerAgentStartHandler(Action<AgentBuild> action)
void
releaseCurrentVersions()
void
reregisterRunTypes(RunTypeRegistry reg)
AgentBuildResult
runBuild(AgentBuild build)
Send runBuild command to the Agent.void
setCommunicationProtocolType(String type)
void
setCpuBenchmarkIndex(int cpuBenchmarkIndex)
void
setCpuCount(int cpuCount)
void
setCurrentVersion(SVcsRoot root, String currentVersion)
void
setData(AgentData data)
void
setIsAvailable(boolean value)
void
setIsLocal(boolean isLocal)
void
setOperatingSystemName(String operatingSystemName)
void
setOutdated(boolean outdated)
void
setPort(int port)
void
setRegistrationTimestamp(Date registrationTimestamp)
void
setRunBuildException(RuntimeException exception)
void
setStartBuildLatency(int startBuildLatencyMillis)
void
setStartTime(long startTime)
void
setStopAction(Consumer<RunningBuildEx> stopAction)
void
setStopBuildReturnVal(boolean stopBuildReturnVal)
void
setUnregistrationComment(String unregistrationComment)
boolean
stopBuild(SRunningBuild build)
Sends stop build command to agent.String
toString()
boolean
trySetSpecialState(BuildAgentSpecialState specialState)
Tries atomically to set a certain special state on agent.boolean
upgrade(Action<Boolean> callback)
Sends upgrade command on agentvoid
waitForRunning()
This method guarantees that myCurrentBuildId != -1boolean
waitForRunning(int timeout)
-
Methods inherited from class jetbrains.buildServer.serverSide.impl.agent.AbstractBuildAgent
buildStartedOnAgent, canStartBuildIfAgentOutdated, clearSpecialState, compareTo, generateUniqueAgentAuthorizationToken, getAgentPool, getAgentPoolId, getAgentStatusRestoringTimestamp, getAgentStatusToRestore, getAgentType, getAgentTypeId, getAuthorizationToken, getAuthorizeComment, getAvailableParameters, getAvailableParameterValue, getAvailableRunTypeIds, getAvailableRunTypes, getAvailableVcsPlugins, getBuildConfigurationsBuilt, getBuildHistory, getBuildParameters, getCommunicationProtocolDescription, getConfigurationParameters, getCpuBenchmarkIndex, getCpuCount, getCurrentAgentPluginsSignature, getCurrentAgentVersion, getDefinedParameters, getHostAddress, getHostName, getId, getIdleTime, getLastCommunicationTimestamp, getLastFinishedBuildDateOnAgent, getName, getOperatingSystemName, getParameterValue, getPingCode, getPluginsSignature, getRemoteInterface, getSpecialState, getStatusComment, getVersion, initAgentTypeId, initAuthorized, initEnabled, isAuthorized, isCaseInsensitiveEnvironment, isCloudAgent, isEnabled, isFakeAgent, isPluginsOutdated, isRemoved, isUpgrading, markAsRemoved, register, releaseSources, releaseSources, restoreAgent, setAgentTypeId, setAuthorizationToken, setAuthorized, setCommunicationTimestamp, setEnabled, setEnabled, setHostAddress, setHostAddress, setId, setName, setNameInternal, setPingCode, setPluginsSignature, setUpgrading, setVersion, setVersion, unregister, updateAgent, updateCommunicationTimestampInMemory
-
Methods inherited from class jetbrains.buildServer.serverSide.impl.agent.AbstractBuildAgentContext
getAgentDescription, setAgentDescription
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface jetbrains.buildServer.serverSide.BuildAgentEx
isAccessible, setAgentDescription
-
-
-
-
Constructor Detail
-
MockBuildAgent
public MockBuildAgent(@NotNull MockAgentContext context, String... availableRunTypes)
-
MockBuildAgent
public MockBuildAgent(@NotNull MockAgentContext context, @NotNull CurrentAgentVersionProvider currentAgentVersionProvider, String... availableRunTypes)
-
-
Method Detail
-
setIsLocal
public void setIsLocal(boolean isLocal)
-
isLocal
public void isLocal(Action<Boolean> callback)
Description copied from interface:BuildAgentEx
Calls callback with true if this agent is local for sure (i.e. installed on the same machine as server).- Specified by:
isLocal
in interfaceBuildAgentEx
- Overrides:
isLocal
in classAbstractBuildAgent
-
isLocalFast
@Nullable public Boolean isLocalFast()
Description copied from interface:BuildAgentEx
Returns the result ofBuildAgentEx.isLocal(Action)
if the operation is fast, null otherwise- Specified by:
isLocalFast
in interfaceBuildAgentEx
- Overrides:
isLocalFast
in classAbstractBuildAgent
-
forNewContext
@NotNull public MockBuildAgent forNewContext(@NotNull MockAgentContext context)
-
getMockContext
@NotNull public MockAgentContext getMockContext()
-
registerAgentStartHandler
public void registerAgentStartHandler(@NotNull Action<AgentBuild> action)
-
setRegistrationTimestamp
public void setRegistrationTimestamp(Date registrationTimestamp)
-
getRegistrationTimestamp
@NotNull public Date getRegistrationTimestamp()
Description copied from interface:SBuildAgent
Returns timestamp of this agent registration. If agent is not registered the returned timestamp is timestamp of last agent registration.- Returns:
- see above
-
ping
public boolean ping()
Description copied from interface:SBuildAgent
Try to ping agent over networks- Returns:
- true if agent is reachable
-
isRegistered
public boolean isRegistered()
Description copied from interface:SBuildAgent
Returns true or false depending on whether this agent is currently registered on server or not.- Returns:
- see above
-
getUnregistrationComment
public String getUnregistrationComment()
Description copied from interface:SBuildAgent
If agent is not registered returns reason of its' unregistration.- Returns:
- agent is not registered returns reason of its' unregistration.
-
setUnregistrationComment
public void setUnregistrationComment(String unregistrationComment)
-
setOperatingSystemName
public void setOperatingSystemName(String operatingSystemName)
-
setCpuBenchmarkIndex
public void setCpuBenchmarkIndex(int cpuBenchmarkIndex)
-
setCpuCount
public void setCpuCount(int cpuCount)
-
setPort
public void setPort(int port)
-
setStopBuildReturnVal
public void setStopBuildReturnVal(boolean stopBuildReturnVal)
-
setStopAction
public void setStopAction(Consumer<RunningBuildEx> stopAction)
-
stopBuild
public boolean stopBuild(@NotNull SRunningBuild build)
Description copied from interface:BuildAgentEx
Sends stop build command to agent.- Specified by:
stopBuild
in interfaceBuildAgentEx
- Overrides:
stopBuild
in classAbstractBuildAgent
- Returns:
- true if build was stopped on agent and false otherwise
-
upgrade
public boolean upgrade(Action<Boolean> callback)
Description copied from interface:BuildAgentEx
Sends upgrade command on agent- Parameters:
callback
- will be called with true if upgrade was accepted by agent.- Returns:
- true if upgrade is scheduled, false otherwise (for example if previous Upgrade call is still in progress).
-
runBuild
public AgentBuildResult runBuild(@NotNull AgentBuild build)
Description copied from interface:BuildAgentEx
Send runBuild command to the Agent.
-
getCurrentBuildId
public long getCurrentBuildId()
-
setIsAvailable
public void setIsAvailable(boolean value)
-
getRunningBuild
@Nullable public SRunningBuild getRunningBuild()
Description copied from interface:SBuildAgent
Returns the build which is currently running on the agent; null if no such build available- Specified by:
getRunningBuild
in interfaceSBuildAgent
- Overrides:
getRunningBuild
in classAbstractBuildAgent
- Returns:
- the build which is currently running on the agent; null if no such build available
-
waitForRunning
public void waitForRunning()
This method guarantees that myCurrentBuildId != -1
-
waitForRunning
public boolean waitForRunning(int timeout)
-
cleanBuildId
public void cleanBuildId()
-
setStartTime
public void setStartTime(long startTime)
-
getStartTime
public long getStartTime()
-
isStopBuildWasCalled
public boolean isStopBuildWasCalled()
-
isOutdated
public boolean isOutdated()
Description copied from interface:SBuildAgent
Returns true if version of this agent does not match version of the server.- Specified by:
isOutdated
in interfaceSBuildAgent
- Overrides:
isOutdated
in classAbstractBuildAgent
- Returns:
- see above
-
setOutdated
public void setOutdated(boolean outdated)
-
releaseCurrentVersions
public void releaseCurrentVersions()
-
getPort
public int getPort()
Description copied from interface:SBuildAgent
Port where agent is listening for server commands.- Returns:
- see above
-
toString
public String toString()
- Overrides:
toString
in classAbstractBuildAgent
-
addAvailableRunnerType
public void addAvailableRunnerType(@NotNull RunType typeValue)
-
addAvailableVcsPlugin
public void addAvailableVcsPlugin(@NotNull String pluginName)
-
reregisterRunTypes
public void reregisterRunTypes(@NotNull RunTypeRegistry reg)
-
setStartBuildLatency
public void setStartBuildLatency(int startBuildLatencyMillis)
-
setRunBuildException
public void setRunBuildException(RuntimeException exception)
-
getAgentBuild
public AgentBuild getAgentBuild()
-
pushAgentTypeData
public void pushAgentTypeData()
-
setData
public void setData(AgentData data)
-
describe
@NotNull public String describe(boolean verbose)
- Specified by:
describe
in interfaceLoggable
- Specified by:
describe
in interfaceSBuildAgent
- Overrides:
describe
in classAbstractBuildAgent
- Parameters:
verbose
- verbosity of object description- Returns:
- description of this object. If verbose is true, description should have mode details.
-
trySetSpecialState
public boolean trySetSpecialState(BuildAgentSpecialState specialState)
Description copied from interface:BuildAgentEx
Tries atomically to set a certain special state on agent. This operation is thread-safe- Returns:
- boolean if successful, false otherwise
-
getConnection
@NotNull public RemoteAgentConnection getConnection()
-
getCommunicationProtocolType
@NotNull public String getCommunicationProtocolType()
Description copied from interface:SBuildAgent
Returns type (identifier) of the protocol that is used to communicate with this agent. Opposite toSBuildAgent.getCommunicationProtocolDescription()
this type is constant and will not change for the particular protocol in future.- Specified by:
getCommunicationProtocolType
in interfaceSBuildAgent
- Overrides:
getCommunicationProtocolType
in classAbstractBuildAgent
-
setCommunicationProtocolType
public void setCommunicationProtocolType(@NotNull String type)
-
-