'When a client executes a shell, it should be able to give pass data
back and forth between the local and the remote side.'

def test_requestShellWithData(self):

    ret = self.session.requestReceived('shell', '')
    self.assertTrue(ret)
    self.assertSessionIsStubSession()
    self.session.dataReceived('some    data\x00')
    self.assertEqual(self.session.session.shellTransport.data, 'some    data\x00')
    self.assertEqual(self.session.conn.data[self.session], ['some    data\x00', '\r\n'])
    self.assertTrue(self.session.session.shellTransport.closed)
    self.assertEqual(self.session.conn.requests[self.session], [('exit-status', '\x00\x00\x00\x00', False)])
