public UpgradeSSTableContext toContext(CassandraState cassandraState) { return UpgradeSSTableContext.create( new ArrayList<>(getNodes(cassandraState)), getKeySpaces(), getColumnFamiles()); }
@Test public void testTaskStartAlreadyCompleted() throws Exception { final CassandraDaemonTask daemonTask = Mockito.mock(CassandraDaemonTask.class); Mockito.when(cassandraState.get(UPGRADESSTABLE_NODE_0)).thenReturn(Optional.empty()); final HashMap<String, CassandraDaemonTask> map = new HashMap<>(); map.put(NODE_0, null); Mockito.when(cassandraState.getDaemons()).thenReturn(map); final UpgradeSSTableContext context = UpgradeSSTableContext.create(Collections.emptyList(), Collections.emptyList(), Collections.emptyList()); final UpgradeSSTableTask task = Mockito.mock(UpgradeSSTableTask.class); Mockito.when(task.getSlaveId()).thenReturn("1234"); Mockito.when(cassandraState.getOrCreateUpgradeSSTable(daemonTask, CONTEXT)).thenReturn(task); final UpgradeSSTableStep step = new UpgradeSSTableStep(NODE_0, cassandraState, provider, context); final OfferRequirement requirement = Mockito.mock(OfferRequirement.class); Mockito.when(provider.getUpdateOfferRequirement(Mockito.any(), Mockito.any())).thenReturn(requirement); Assert.assertTrue(!step.start().isPresent()); Assert.assertTrue(step.isComplete()); }
@Test public void testComplete() { final CassandraTask mockCassandraTask = Mockito.mock(CassandraTask.class); Mockito.when(mockCassandraTask.getState()).thenReturn(Protos.TaskState.TASK_FINISHED); Mockito.when(cassandraState.get(UPGRADESSTABLE_NODE_0)) .thenReturn(Optional.ofNullable(mockCassandraTask)); final UpgradeSSTableContext context = UpgradeSSTableContext.create(Collections.emptyList(), Collections.emptyList(), Collections.emptyList()); final UpgradeSSTableStep step = new UpgradeSSTableStep(NODE_0, cassandraState, provider, context); Assert.assertEquals(UPGRADESSTABLE_NODE_0, step.getName()); Assert.assertEquals(NODE_0, step.getDaemon()); Assert.assertTrue(step.isComplete()); }
@Test public void testInitial() { Mockito.when(cassandraState.get(UPGRADESSTABLE_NODE_0)).thenReturn(Optional.empty()); final UpgradeSSTableContext context = UpgradeSSTableContext.create(Collections.emptyList(), Collections.emptyList(), Collections.emptyList()); final UpgradeSSTableStep step = new UpgradeSSTableStep(NODE_0, cassandraState, provider, context); Assert.assertEquals(UPGRADESSTABLE_NODE_0, step.getName()); Assert.assertEquals(NODE_0, step.getDaemon()); Assert.assertTrue(step.isPending()); }