@Test public void shouldNotAutoRegisterAgentIfKeysDoNotMatch() throws Exception { String uuid = "uuid"; when(goConfigService.hasAgent(uuid)).thenReturn(false); ServerConfig serverConfig = new ServerConfig("artifacts", new SecurityConfig(), 10, 20, "1", ""); when(goConfigService.serverConfig()).thenReturn(serverConfig); when(agentService.agentUsername(uuid, request.getRemoteAddr(), "host")) .thenReturn(new Username("some-agent-login-name")); controller.agentRequest( "host", uuid, "location", "233232", "osx", "", "", "", "", "", "", false, request); verify(agentService) .requestRegistration( new Username("some-agent-login-name"), AgentRuntimeInfo.fromServer( new AgentConfig(uuid, "host", request.getRemoteAddr()), false, "location", 233232L, "osx", false)); verify(goConfigService, never()).updateConfig(any(UpdateConfigCommand.class)); }
@Test public void shouldAutoRegisterAgentWithHostnameFromAutoRegisterProperties() throws Exception { String uuid = "uuid"; when(goConfigService.hasAgent(uuid)).thenReturn(false); ServerConfig serverConfig = new ServerConfig("artifacts", new SecurityConfig(), 10, 20, "1", "someKey"); when(goConfigService.serverConfig()).thenReturn(serverConfig); when(agentService.agentUsername(uuid, request.getRemoteAddr(), "autoregister-hostname")) .thenReturn(new Username("some-agent-login-name")); when(agentConfigService.updateAgent( any(UpdateConfigCommand.class), eq(uuid), any(HttpOperationResult.class), eq(new Username("some-agent-login-name")))) .thenReturn(new AgentConfig(uuid, "autoregister-hostname", request.getRemoteAddr())); controller.agentRequest( "host", uuid, "location", "233232", "osx", "someKey", "", "", "autoregister-hostname", "", "", false, request); verify(agentService) .requestRegistration( new Username("some-agent-login-name"), AgentRuntimeInfo.fromServer( new AgentConfig(uuid, "autoregister-hostname", request.getRemoteAddr()), false, "location", 233232L, "osx", false)); verify(agentConfigService) .updateAgent( any(UpdateConfigCommand.class), eq(uuid), any(HttpOperationResult.class), eq(new Username("some-agent-login-name"))); }
@Test public void shouldRegisterWithProvidedAgentInformation() throws Exception { when(goConfigService.hasAgent("blahAgent-uuid")).thenReturn(false); ServerConfig serverConfig = new ServerConfig("artifacts", new SecurityConfig(), 10, 20, "1", null); when(goConfigService.serverConfig()).thenReturn(serverConfig); when(agentService.agentUsername("blahAgent-uuid", request.getRemoteAddr(), "blahAgent-host")) .thenReturn(new Username("some-agent-login-name")); ModelAndView modelAndView = controller.agentRequest( "blahAgent-host", "blahAgent-uuid", "blah-location", "34567", "osx", "", "", "", "", "", "", false, request); assertThat(modelAndView.getView().getContentType(), is("application/json")); verify(agentService) .requestRegistration( new Username("some-agent-login-name"), AgentRuntimeInfo.fromServer( new AgentConfig("blahAgent-uuid", "blahAgent-host", request.getRemoteAddr()), false, "blah-location", 34567L, "osx", false)); }