def test_shell(self, mock_popen, mock_copy): env = {'A': 1} mock_copy.return_value = dict(env) p = Mock() p.wait = Mock(return_value=0) p.stdout = Mock() p.stdout.read = Mock(return_value='result') mock_popen.return_value = p # test command = 'ls -Fal' status, output = builder.shell(command) # validate mock_popen.assert_called_with(command.split(), stdout=builder.PIPE, stderr=builder.PIPE, env={ 'A': 1, 'LC_ALL': 'C' }) self.assertEqual(status, 0) self.assertEqual(output, p.stdout.read())
def test_shell(self, mock_popen): p = Mock() p.wait = Mock(return_value=0) p.stdout = Mock() p.stdout.read = Mock(return_value='result') mock_popen.return_value = p # test command = 'ls -Fal' status, output = builder.shell(command) # validate mock_popen.assert_called_with(command.split(), stdout=builder.PIPE, stderr=builder.PIPE) self.assertEqual(status, 0) self.assertEqual(output, p.stdout.read())
def test_shell_failed_no_exit(self, mock_popen, mock_exit): p = Mock() p.wait = Mock(return_value=1) p.stdout = Mock() p.stdout.read = Mock(return_value='') p.stderr = Mock() p.stderr.read = Mock(return_value='No such directory') mock_popen.return_value = p # test command = 'ls -Fal' status, output = builder.shell(command, False) # validate self.assertEqual(status, 1) self.assertEqual(output, '') self.assertFalse(mock_exit.called)
def test_shell_failed(self, mock_popen, mock_exit): p = Mock() p.wait = Mock(return_value=1) p.stdout = Mock() p.stdout.read = Mock(return_value='') p.stderr = Mock() p.stderr.read = Mock(return_value='No such directory') mock_popen.return_value = p # test command = 'ls -Fal' status, output = builder.shell(command) # validate mock_popen.assert_called_with(command.split(), stdout=builder.PIPE, stderr=builder.PIPE) mock_exit.assert_called_with(1) self.assertEqual(status, 1) self.assertEqual(output, '')
def test_shell(self, mock_popen, mock_copy): env = {'A': 1} mock_copy.return_value = dict(env) p = Mock() p.wait = Mock(return_value=0) p.stdout = Mock() p.stdout.read = Mock(return_value='result') mock_popen.return_value = p # test command = 'ls -Fal' status, output = builder.shell(command) # validate mock_popen.assert_called_with( command.split(), stdout=builder.PIPE, stderr=builder.PIPE, env={'A': 1, 'LC_ALL': 'C'}) self.assertEqual(status, 0) self.assertEqual(output, p.stdout.read())