def test_startSegments(self): sys.argv = self.args_list self.subject.GpSegStart.__checkLocaleAndConnect = Mock() parser = self.subject.GpSegStart.createParser() options, args = parser.parse_args() gpsegstart = self.subject.GpSegStart.createProgram(options, args) exitCode = gpsegstart.run() self.assertEqual(exitCode, 0) for result in gpsegstart.overall_status.results: self.assertTrue(result.reasoncode == gp.SEGSTART_SUCCESS)
def test_startSegments(self): sys.argv = self.args_list parser = self.subject.GpSegStart.createParser() options, args = parser.parse_args() gpsegstart = self.subject.GpSegStart.createProgram(options, args) exitCode = gpsegstart.run() self.assertEqual(exitCode, 0) for result in gpsegstart.overall_status.results: self.assertTrue(result.reasoncode == gp.SEGSTART_SUCCESS)
def test_startSegments_when_checksums_mismatch(self, mock1, mock2): self.args_list.append("--master-checksum-version") self.args_list.append("0") sys.argv = self.args_list parser = self.subject.GpSegStart.createParser() options, args = parser.parse_args() gpsegstart = self.subject.GpSegStart.createProgram(options, args) exitCode = gpsegstart.run() self.assertEqual(exitCode, 1) for result in gpsegstart.overall_status.results: self.assertTrue(result.reasoncode == gp.SEGSTART_ERROR_CHECKSUM_MISMATCH)
def test_startSegments_when_pg_controldata_failed(self, mock1): self.args_list.append("--master-checksum-version") self.args_list.append("1") sys.argv = self.args_list parser = self.subject.GpSegStart.createParser() options, args = parser.parse_args() gpsegstart = self.subject.GpSegStart.createProgram(options, args) exitCode = gpsegstart.run() self.assertEqual(exitCode, 1) for result in gpsegstart.overall_status.results: self.assertTrue(result.reasoncode == gp.SEGSTART_ERROR_PG_CONTROLDATA_FAILED)
def test_startSegments_when_checksums_match(self, mock1, mock2): self.args_list.append("--coordinator-checksum-version") self.args_list.append("1") sys.argv = self.args_list parser = self.subject.GpSegStart.createParser() options, args = parser.parse_args() gpsegstart = self.subject.GpSegStart.createProgram(options, args) exitCode = gpsegstart.run() self.assertEqual(exitCode, 0) for result in gpsegstart.overall_status.results: self.assertTrue(result.reasoncode == gp.SEGSTART_SUCCESS)
def test_startSegments_when_pg_ctl_failed(self, mock1, mock2, mock_get_results): self.args_list.append("--master-checksum-version") self.args_list.append("1") sys.argv = self.args_list mock_get_results.segment = Mock() mock_get_results.segment.getSegmentDataDirectory.return_value = self.failing_data_dir parser = self.subject.GpSegStart.createParser() options, args = parser.parse_args() gpsegstart = self.subject.GpSegStart.createProgram(options, args) with patch('gpsegstart.base.WorkerPool.return_value.getCompletedItems', return_value=[mock_get_results]): exitCode = gpsegstart.run() self.assertEqual(exitCode, 1) for result in gpsegstart.overall_status.results: if result.datadir == self.failing_data_dir: self.assertTrue(result.reasoncode == gp.SEGSTART_ERROR_PG_CTL_FAILED) else: self.assertTrue(result.reasoncode == gp.SEGSTART_SUCCESS)