/* * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.ngrinder.agent.repository; import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.notNullValue; import static org.junit.Assert.assertThat; import static org.ngrinder.agent.repository.AgentManagerSpecification.ready; import java.util.List; import net.grinder.message.console.AgentControllerState; import org.junit.Before; import org.junit.Test; import org.ngrinder.AbstractNGrinderTransactionalTest; import org.ngrinder.model.AgentInfo; import org.springframework.beans.factory.annotation.Autowired; /** * Test AgentRepository Class. * * @author Mavlarn * @since */ public class AgentRepositoryTest extends AbstractNGrinderTransactionalTest { @Autowired private AgentManagerRepository agentRepository; AgentInfo agentInfo; @Before public void before() { agentRepository.deleteAll(); addAgent("hello", "world1", AgentControllerState.BUSY); } private void addAgent(String name, String region, AgentControllerState state) { agentInfo = new AgentInfo(); agentInfo.setName(name); agentInfo.setIp("127.0.0.1"); agentInfo.setRegion(region); agentInfo.setState(state); agentInfo.setApproved(false); agentRepository.save(agentInfo); } @Test public void testGetByIp() { AgentInfo findByIp = agentRepository.findByIp("127.0.0.1"); assertThat(findByIp.isApproved(), is(false)); findByIp.setApproved(true); agentRepository.save(findByIp); findByIp = agentRepository.findByIp("127.0.0.1"); assertThat(findByIp.isApproved(), is(true)); assertThat(findByIp, notNullValue()); assertThat(findByIp.getName(), is("hello")); assertThat(findByIp.getRegion(), is("world1")); } @Test public void testGetByOwner() { addAgent("hello2", "NAVER", AgentControllerState.BUSY); addAgent("hello3", "NAVER", AgentControllerState.BUSY); assertThat(agentRepository.findAll().size(), is(3)); List<AgentInfo> findAll = agentRepository.findAll(AgentManagerSpecification.startWithRegion("NAVER")); assertThat(findAll.size(), is(2)); } @Test public void testAgentStateByReady() { //add ready state addAgent("hello5", "stateTest", AgentControllerState.READY); addAgent("hello6", "stateTest", AgentControllerState.READY); //add order state addAgent("hello7", "stateTest", AgentControllerState.STARTED); addAgent("hello8", "stateTest", AgentControllerState.FINISHED); assertThat(agentRepository.findAll().size(), is(5)); List<AgentInfo> readyAgentList = agentRepository.findAll(AgentManagerSpecification.ready()); assertThat(readyAgentList.size(), is(2)); } }