AgentArtifactDeployer implements ArtifactDeployer { @Override public void deployApplication() throws DeploymentException { client.deployApplication(deployment.getApplicationName(), deployment.getArtifact()); AgentDeploymentVerification verification = getDeploymentVerification(); verification.assertDeployment(deployment); } AgentArtifactDeployer(Deployment deployment, DeployerLog log); protected  AgentArtifactDeployer(Deployment deployment, AgentClient client); @Override void deployDomain(); @Override void undeployDomain(); @Override void deployApplication(); @Override void undeployApplication(); AgentDeploymentVerification getDeploymentVerification();  }
@Test public void deployApplicationTest() throws DeploymentException { when(deploymentMock.getApplicationName()).thenReturn(APPLICATION_NAME); when(deploymentMock.getArtifact()).thenReturn(applicationFile); deployerSpy.deployApplication(); verify(clientMock).deployApplication(APPLICATION_NAME, applicationFile); verify(deploymentVerificationMock).assertDeployment(deploymentMock); }