コード例 #1
0
    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())
コード例 #2
0
    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())
コード例 #3
0
    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)
コード例 #4
0
    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())
コード例 #5
0
    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, '')
コード例 #6
0
    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, '')
コード例 #7
0
    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())