'A name based on local path is used when remote path is not
provided.
The progress is updated while chunks are transferred.'

def test_cmd_PUTSingleNoRemotePath(self):

    content = 'Test\r\nContent'
    localPath = self.makeFile(content=content)
    flags = ((filetransfer.FXF_WRITE | filetransfer.FXF_CREAT) | filetransfer.FXF_TRUNC)
    remoteName = os.path.join('/', os.path.basename(localPath))
    remoteFile = InMemoryRemoteFile(remoteName)
    self.fakeFilesystem.put(remoteName, flags, defer.succeed(remoteFile))
    self.client.client.options['buffersize'] = 10
    deferred = self.client.cmd_PUT(localPath)
    self.successResultOf(deferred)
    self.assertEqual(content, remoteFile.getvalue())
    self.assertTrue(remoteFile._closed)
    self.checkPutMessage([(localPath, remoteName, ['76%    10.0B', '100%    13.0B', '100%    13.0B'])])
