package com.intuit.tank.vm.perfManager;
/*
* #%L
* Intuit Tank Api
* %%
* Copyright (C) 2011 - 2015 Intuit Inc.
* %%
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
* #L%
*/
import java.util.List;
import org.junit.Assert;
import org.testng.annotations.Test;
import com.intuit.tank.vm.agent.messages.AgentAvailability;
import com.intuit.tank.vm.agent.messages.AgentAvailabilityStatus;
import com.intuit.tank.vm.perfManager.StandaloneAgentTracker;
import com.intuit.tank.test.TestGroups;
public class StandaloneAgentTrackerTest {
StandaloneAgentTracker tracker = new StandaloneAgentTracker();
@Test(groups = TestGroups.FUNCTIONAL)
public void addAvailability() {
for (int i = 0; i < 4; i++) {
AgentAvailability a = new AgentAvailability("instance-id-" + i, "url", 500,
AgentAvailabilityStatus.AVAILABLE);
tracker.addAvailability(a);
Assert.assertSame(a, tracker.getAvailabilityForAgent(a.getInstanceId()));
}
Assert.assertEquals(4, tracker.getAvailabilities().size());
List<AgentAvailability> agents = tracker.getAgents(1000);
Assert.assertEquals(2, agents.size());
for (AgentAvailability a : agents) {
Assert.assertEquals(AgentAvailabilityStatus.DELEGATING, a.getAvailabilityStatus());
}
int availableAgents = 0;
for (AgentAvailability a : tracker.getAvailabilities()) {
if (a.getAvailabilityStatus() == AgentAvailabilityStatus.AVAILABLE) {
availableAgents++;
}
}
Assert.assertEquals(2, availableAgents);
agents = tracker.getAgents(2000);
Assert.assertNull(agents);
}
}