def test_check_segment_state(self): options = Mock() mock_pool = Mock() m1 = Mock() m1.get_results.return_value = CommandResult(1, 'Failed to connect', '', False, True) m2 = Mock() m2.get_results.return_value = CommandResult(0, 'segmentState: Ready', '', False, True) mock_pool.getCompletedItems.return_value = [] confProvider = Mock() m1 = Mock() m1.getSegmentHostName.return_value = 'foo1' m1.isSegmentUp.return_value = True m1.isSegmentMaster.return_value = False m2 = Mock() m2.getSegmentHostName.return_value = 'foo2' m2.isSegmentUp.return_value = True m2.isSegmentMaster.return_value = False gparray = Mock() gparray.getDbList.return_value = [m1, m2] confProvider.loadSystemConfig.return_value = gparray gprecover_prog = GpRecoverSegmentProgram(options) gprecover_prog._GpRecoverSegmentProgram__pool = mock_pool gprecover_prog._check_segment_state(confProvider)
def test_check_segment_state_with_segment_not_ready(self): options = Mock() m1 = Mock() m1.get_results.return_value = CommandResult(0, 'Failed to connect', '', False, True) m2 = Mock() m2.get_results.return_value = CommandResult(0, 'segmentState: Not Ready', '', False, True) mock_pool = Mock() mock_pool.getCompletedItems.return_value = [m1, m2] m1 = Mock() m1.getSegmentHostName.return_value = 'foo1' m1.isSegmentUp.return_value = True m1.isSegmentMaster.return_value = False m2 = Mock() m2.getSegmentHostName.return_value = 'foo2' m2.isSegmentUp.return_value = True m2.isSegmentMaster.return_value = False gparray = Mock() gparray.getDbList.return_value = [m1, m2] confProvider = Mock() confProvider.loadSystemConfig.return_value = gparray gprecover_prog = GpRecoverSegmentProgram(options) gprecover_prog._GpRecoverSegmentProgram__pool = mock_pool with self.assertRaisesRegexp(Exception, 'Not ready to connect to database'): gprecover_prog._check_segment_state(confProvider)