Ejemplo n.º 1
0
 def test_data_flow_valid_job_id(self):
     cmd = [
         'echo', 'additional unit test lines.\n' +
         'INFO: the Dataflow monitoring console, please navigate to' +
         'https://console.cloud.google.com/dataflow/jobsDetail/locations/' +
         '{}/jobs/{}?project={}'.format(TEST_LOCATION, TEST_JOB_ID,
                                        TEST_PROJECT)
     ]
     self.assertEqual(_Dataflow(cmd).wait_for_done(), TEST_JOB_ID)
 def test_dataflow_wait_for_done_logging(self, mock_select, mock_popen, mock_logging):
   mock_logging.info = MagicMock()
   mock_logging.warning = MagicMock()
   mock_proc = MagicMock()
   mock_proc.stderr = MagicMock()
   mock_proc.stderr.readlines = MagicMock(return_value=['test\n','error\n'])
   mock_stderr_fd = MagicMock()
   mock_proc.stderr.fileno = MagicMock(return_value=mock_stderr_fd)
   mock_proc_poll = MagicMock()
   mock_select.return_value = [[mock_stderr_fd]]
   def poll_resp_error():
     mock_proc.return_code = 1
     return True
   mock_proc_poll.side_effect=[None, poll_resp_error]
   mock_proc.poll = mock_proc_poll
   mock_popen.return_value = mock_proc
   dataflow = _Dataflow(['test', 'cmd'])
   mock_logging.info.assert_called_with('Running command: %s', 'test cmd')
   self.assertRaises(Exception, dataflow.wait_for_done)
   mock_logging.warning.assert_has_calls([call('test'), call('error')])
Ejemplo n.º 3
0
    def test_dataflow_wait_for_done_logging(self, mock_select, mock_popen, mock_logging):
        mock_logging.info = MagicMock()
        mock_logging.warning = MagicMock()
        mock_proc = MagicMock()
        mock_proc.stderr = MagicMock()
        mock_proc.stderr.readlines = MagicMock(return_value=['test\n', 'error\n'])
        mock_stderr_fd = MagicMock()
        mock_proc.stderr.fileno = MagicMock(return_value=mock_stderr_fd)
        mock_proc_poll = MagicMock()
        mock_select.return_value = [[mock_stderr_fd]]

        def poll_resp_error():
            mock_proc.return_code = 1
            return True
        mock_proc_poll.side_effect = [None, poll_resp_error]
        mock_proc.poll = mock_proc_poll
        mock_popen.return_value = mock_proc
        dataflow = _Dataflow(['test', 'cmd'])
        mock_logging.info.assert_called_with('Running command: %s', 'test cmd')
        self.assertRaises(Exception, dataflow.wait_for_done)
Ejemplo n.º 4
0
 def test_data_flow_missing_job_id(self):
     cmd = ['echo', 'unit testing']
     self.assertEqual(_Dataflow(cmd).wait_for_done(), None)
 def test_data_flow_missing_job_id(self):
     cmd = ['echo', 'unit testing']
     self.assertEqual(_Dataflow(cmd).wait_for_done(), None)
 def test_data_flow_valid_job_id(self):
     cmd = ['echo', 'additional unit test lines.\n' +
            'INFO: the Dataflow monitoring console, please navigate to' +
            'https://console.cloud.google.com/dataflow/jobsDetail/locations/' +
            '{}/jobs/{}?project={}'.format(TEST_LOCATION, TEST_JOB_ID, TEST_PROJECT)]
     self.assertEqual(_Dataflow(cmd).wait_for_done(), TEST_JOB_ID)
Ejemplo n.º 7
0
 def _start_dataflow(self, task_id, variables, dataflow, name,
                     command_prefix):
     cmd = command_prefix + self._build_cmd(task_id, variables, dataflow)
     _Dataflow(cmd).wait_for_done()