use of com.mesosphere.sdk.scheduler.recovery.constrain.TestingLaunchConstrainer in project dcos-commons by mesosphere.
the class DefaultRecoveryPlanManagerTest method beforeEach.
@Before
public void beforeEach() throws Exception {
MockitoAnnotations.initMocks(this);
failureMonitor = spy(new TestingFailureMonitor());
launchConstrainer = spy(new TestingLaunchConstrainer());
offerAccepter = mock(OfferAccepter.class);
Persister persister = new MemPersister();
frameworkStore = new FrameworkStore(persister);
stateStore = new StateStore(persister);
File recoverySpecFile = new File(getClass().getClassLoader().getResource("recovery-plan-manager-test.yml").getPath());
serviceSpec = DefaultServiceSpec.newGenerator(recoverySpecFile, SCHEDULER_CONFIG).build();
configStore = new ConfigStore<>(DefaultServiceSpec.getConfigurationFactory(serviceSpec), persister);
UUID configTarget = configStore.store(serviceSpec);
configStore.setTargetConfig(configTarget);
taskInfo = TaskInfo.newBuilder(taskInfo).setLabels(new TaskLabelWriter(taskInfo).setTargetConfiguration(configTarget).setIndex(0).toProto()).setName("test-task-type-0-test-task-name").setTaskId(CommonIdUtils.toTaskId(TestConstants.SERVICE_NAME, "test-task-type-0-test-task-name")).build();
taskInfos = Collections.singletonList(taskInfo);
recoveryManager = spy(new DefaultRecoveryPlanManager(stateStore, configStore, new HashSet<>(Arrays.asList(taskInfo.getName())), launchConstrainer, failureMonitor));
mockDeployManager = mock(PlanManager.class);
final Plan mockDeployPlan = mock(Plan.class);
when(mockDeployManager.getPlan()).thenReturn(mockDeployPlan);
planScheduler = new DefaultPlanScheduler(offerAccepter, new OfferEvaluator(frameworkStore, stateStore, new OfferOutcomeTracker(), serviceSpec.getName(), configTarget, ArtifactResource.getUrlFactory(TestConstants.SERVICE_NAME), SchedulerConfigTestUtils.getTestSchedulerConfig(), Optional.empty(), true), stateStore);
planCoordinator = new DefaultPlanCoordinator(Arrays.asList(mockDeployManager, recoveryManager));
}
Aggregations