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 voidaddAvailableParameter(String s, String s1)voidaddAvailableRunnerType(RunType typeValue)voidaddAvailableVcsPlugin(String pluginName)voidaddConfigParameter(String key, String value)voidcleanBuildId()Stringdescribe(boolean verbose)MockBuildAgentforNewContext(MockAgentContext context)AgentBuildgetAgentBuild()StringgetCommunicationProtocolType()Returns type (identifier) of the protocol that is used to communicate with this agent.RemoteAgentConnectiongetConnection()longgetCurrentBuildId()StringgetCurrentVersion(VcsRoot vcsRoot)MockAgentContextgetMockContext()intgetPort()Port where agent is listening for server commands.DategetRegistrationTimestamp()Returns timestamp of this agent registration.Map<String,String>getRunBuildParameters()SRunningBuildgetRunningBuild()Returns the build which is currently running on the agent; null if no such build availablelonggetStartTime()StringgetUnregistrationComment()If agent is not registered returns reason of its' unregistration.voidisLocal(Action<Boolean> callback)Calls callback with true if this agent is local for sure (i.e.BooleanisLocalFast()Returns the result ofBuildAgentEx.isLocal(Action)if the operation is fast, null otherwisebooleanisOutdated()Returns true if version of this agent does not match version of the server.booleanisRegistered()Returns true or false depending on whether this agent is currently registered on server or not.booleanisStopBuildWasCalled()booleanping()Try to ping agent over networksvoidpushAgentTypeData()voidregisterAgentStartHandler(Action<AgentBuild> action)voidreleaseCurrentVersions()voidreregisterRunTypes(RunTypeRegistry reg)AgentBuildResultrunBuild(AgentBuild build)Send runBuild command to the Agent.voidsetCommunicationProtocolType(String type)voidsetCpuBenchmarkIndex(int cpuBenchmarkIndex)voidsetCpuCount(int cpuCount)voidsetCurrentVersion(SVcsRoot root, String currentVersion)voidsetData(AgentData data)voidsetIsAvailable(boolean value)voidsetIsLocal(boolean isLocal)voidsetOperatingSystemName(String operatingSystemName)voidsetOutdated(boolean outdated)voidsetPort(int port)voidsetRegistrationTimestamp(Date registrationTimestamp)voidsetRunBuildException(RuntimeException exception)voidsetStartBuildLatency(int startBuildLatencyMillis)voidsetStartTime(long startTime)voidsetStopAction(Consumer<RunningBuildEx> stopAction)voidsetStopBuildReturnVal(boolean stopBuildReturnVal)voidsetUnregistrationComment(String unregistrationComment)booleanstopBuild(SRunningBuild build)Sends stop build command to agent.StringtoString()booleantrySetSpecialState(BuildAgentSpecialState specialState)Tries atomically to set a certain special state on agent.booleanupgrade(Action<Boolean> callback)Sends upgrade command on agentvoidwaitForRunning()This method guarantees that myCurrentBuildId != -1booleanwaitForRunning(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:BuildAgentExCalls callback with true if this agent is local for sure (i.e. installed on the same machine as server).- Specified by:
isLocalin interfaceBuildAgentEx- Overrides:
isLocalin classAbstractBuildAgent
-
isLocalFast
@Nullable public Boolean isLocalFast()
Description copied from interface:BuildAgentExReturns the result ofBuildAgentEx.isLocal(Action)if the operation is fast, null otherwise- Specified by:
isLocalFastin interfaceBuildAgentEx- Overrides:
isLocalFastin 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:SBuildAgentReturns 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:SBuildAgentTry to ping agent over networks- Returns:
- true if agent is reachable
-
isRegistered
public boolean isRegistered()
Description copied from interface:SBuildAgentReturns 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:SBuildAgentIf 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:BuildAgentExSends stop build command to agent.- Specified by:
stopBuildin interfaceBuildAgentEx- Overrides:
stopBuildin classAbstractBuildAgent- Returns:
- true if build was stopped on agent and false otherwise
-
upgrade
public boolean upgrade(Action<Boolean> callback)
Description copied from interface:BuildAgentExSends 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:BuildAgentExSend runBuild command to the Agent.
-
getCurrentBuildId
public long getCurrentBuildId()
-
setIsAvailable
public void setIsAvailable(boolean value)
-
getRunningBuild
@Nullable public SRunningBuild getRunningBuild()
Description copied from interface:SBuildAgentReturns the build which is currently running on the agent; null if no such build available- Specified by:
getRunningBuildin interfaceSBuildAgent- Overrides:
getRunningBuildin 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:SBuildAgentReturns true if version of this agent does not match version of the server.- Specified by:
isOutdatedin interfaceSBuildAgent- Overrides:
isOutdatedin classAbstractBuildAgent- Returns:
- see above
-
setOutdated
public void setOutdated(boolean outdated)
-
releaseCurrentVersions
public void releaseCurrentVersions()
-
getPort
public int getPort()
Description copied from interface:SBuildAgentPort where agent is listening for server commands.- Returns:
- see above
-
toString
public String toString()
- Overrides:
toStringin 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:
describein interfaceLoggable- Specified by:
describein interfaceSBuildAgent- Overrides:
describein 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:BuildAgentExTries 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:SBuildAgentReturns 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:
getCommunicationProtocolTypein interfaceSBuildAgent- Overrides:
getCommunicationProtocolTypein classAbstractBuildAgent
-
setCommunicationProtocolType
public void setCommunicationProtocolType(@NotNull String type)
-
-