use of org.batfish.common.WorkItem in project batfish by batfish.
the class WorkMgrTest method testGetAutoWorkQueueSuggestedAnalysis.
@Test
public void testGetAutoWorkQueueSuggestedAnalysis() {
String containerName = "myContainer";
String testrigName = "myTestrig";
_manager.initContainer(containerName, null);
// user policy
_manager.configureAnalysis(containerName, true, "suggestedanalysis", Maps.newHashMap(), Lists.newArrayList(), true);
WorkItem parseWorkItem = WorkItemBuilder.getWorkItemParse(containerName, testrigName);
WorkItem analysisWorkItem = WorkItemBuilder.getWorkItemRunAnalysis("suggestedanalysis", containerName, testrigName, BfConsts.RELPATH_DEFAULT_ENVIRONMENT_NAME, null, null, false, false);
List<WorkItem> workQueue = _manager.getAutoWorkQueue(containerName, testrigName);
assertThat(workQueue, hasSize(2));
// checking that the first work item is for parse
assertThat(workQueue.get(0).matches(parseWorkItem), equalTo(true));
// checking run analysis workitem
assertThat("Work Queue not correct for suggested analyses", workQueue.get(1).matches(analysisWorkItem), equalTo(true));
}
use of org.batfish.common.WorkItem in project batfish by batfish.
the class WorkQueueMgrTest method queueUnassignedWork.
// END: DATAPLANING work tests
@Test
public void queueUnassignedWork() throws Exception {
initTestrigMetadata("testrig", "env", ProcessingStatus.UNINITIALIZED);
QueuedWork work1 = new QueuedWork(new WorkItem(CONTAINER, "testrig"), new WorkDetails("testrig", "env", WorkType.PARSING));
_workQueueMgr.queueUnassignedWork(work1);
assertThat(_workQueueMgr.getLength(QueueType.INCOMPLETE), equalTo(1L));
QueuedWork work2 = new QueuedWork(new WorkItem(CONTAINER, "testrig"), new WorkDetails("testrig", "env", WorkType.PARSING_DEPENDENT_ANSWERING));
_workQueueMgr.queueUnassignedWork(work2);
assertThat(_workQueueMgr.getLength(QueueType.INCOMPLETE), equalTo(2L));
}
use of org.batfish.common.WorkItem in project batfish by batfish.
the class WorkQueueMgrTest method getMatchingWorkPresent.
@Test
public void getMatchingWorkPresent() throws Exception {
initTestrigMetadata("testrig", "env", ProcessingStatus.UNINITIALIZED);
WorkItem wItem1 = new WorkItem(CONTAINER, "testrig");
wItem1.addRequestParam("key1", "value1");
QueuedWork work1 = new QueuedWork(wItem1, new WorkDetails("testrig", "env", WorkType.UNKNOWN));
QueuedWork work2 = new QueuedWork(new WorkItem(CONTAINER, "testrig"), new WorkDetails("testrig", "env", WorkType.UNKNOWN));
_workQueueMgr.queueUnassignedWork(work1);
_workQueueMgr.queueUnassignedWork(work2);
// build a work item that should match wItem1
WorkItem wItem3 = new WorkItem(CONTAINER, "testrig");
wItem3.addRequestParam("key1", "value1");
QueuedWork matchingWork = _workQueueMgr.getMatchingWork(wItem3, QueueType.INCOMPLETE);
assertThat(matchingWork, equalTo(work1));
}
use of org.batfish.common.WorkItem in project batfish by batfish.
the class WorkQueueMgrTest method workIsUnblocked2.
@Test
public void workIsUnblocked2() throws Exception {
initTestrigMetadata("testrig", "env_default", ProcessingStatus.UNINITIALIZED);
QueuedWork work1 = new QueuedWork(new WorkItem(CONTAINER, "testrig"), new WorkDetails("testrig", "env_default", WorkType.PARSING));
QueuedWork work2 = new QueuedWork(new WorkItem(CONTAINER, "testrig"), new WorkDetails("testrig", "env_default", WorkType.DATAPLANE_DEPENDENT_ANSWERING));
QueuedWork work3 = new QueuedWork(new WorkItem(CONTAINER, "testrig"), new WorkDetails("testrig", "env_default", WorkType.DATAPLANE_DEPENDENT_ANSWERING));
doAction(new Action(ActionType.QUEUE, work1));
doAction(new Action(ActionType.QUEUE, work2));
doAction(new Action(ActionType.QUEUE, work3));
assertThat(work2.getStatus(), equalTo(WorkStatusCode.BLOCKED));
assertThat(work3.getStatus(), equalTo(WorkStatusCode.BLOCKED));
QueuedWork aWork1 = // should be parsing work
doAction(new Action(ActionType.ASSIGN_SUCCESS, null));
doAction(new Action(ActionType.STATUS_TERMINATED_NORMALLY, aWork1));
QueuedWork aWork2 = doAction(new Action(ActionType.ASSIGN_SUCCESS, null));
doAction(new Action(ActionType.STATUS_TERMINATED_NORMALLY, aWork2));
QueuedWork aWork3 = doAction(new Action(ActionType.ASSIGN_SUCCESS, null));
doAction(new Action(ActionType.STATUS_TERMINATED_NORMALLY, aWork3));
QueuedWork aWork4 = doAction(new Action(ActionType.ASSIGN_SUCCESS, null));
doAction(new Action(ActionType.STATUS_TERMINATED_NORMALLY, aWork4));
assertThat(_workQueueMgr.getLength(QueueType.INCOMPLETE), equalTo(0L));
}
use of org.batfish.common.WorkItem in project batfish by batfish.
the class WorkQueueMgrTest method queueUnassignedWorkUnknown.
@Test
public void queueUnassignedWorkUnknown() throws Exception {
initTestrigMetadata("testrig", "env", ProcessingStatus.UNINITIALIZED);
QueuedWork work1 = new QueuedWork(new WorkItem(CONTAINER, "testrig"), new WorkDetails("testrig", "env", WorkType.UNKNOWN));
_workQueueMgr.queueUnassignedWork(work1);
assertThat(_workQueueMgr.getLength(QueueType.INCOMPLETE), equalTo(1L));
}
Aggregations