Merge branch 'master' into 2.1

This commit is contained in:
Julien Duponchelle committed 2017-07-11 18:59:50 +02:00
commit 699ecb7c89
7 files changed
+338 -10

No files matched your search

+25
View File
@@ -15,6 +15,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import aiohttp
import asyncio
import pytest
import uuid
@@ -904,3 +905,27 @@ def test_fix_permission(vm, loop):
loop.run_until_complete(vm._fix_permissions())
mock_exec.assert_called_with('docker', 'exec', 'e90e34656842', '/gns3/bin/busybox', 'sh', '-c', '(/gns3/bin/busybox find "/etc" -depth -print0 | /gns3/bin/busybox xargs -0 /gns3/bin/busybox stat -c \'%a:%u:%g:%n\' > "/etc/.gns3_perms") && /gns3/bin/busybox chmod -R u+rX "/etc" && /gns3/bin/busybox chown {}:{} -R "/etc"'.format(os.getuid(), os.getgid()))
assert process.wait.called
def test_read_console_output_with_binary_mode(vm, loop):
class InputStreamMock(object):
def __init__(self):
self.sent = False
@asyncio.coroutine
def receive(self):
if not self.sent:
self.sent = True
return MagicMock(tp=aiohttp.WSMsgType.BINARY, data=b"test")
else:
return MagicMock(tp=aiohttp.WSMsgType.CLOSE)
def close(self):
pass
input_stream = InputStreamMock()
output_stream = MagicMock()
with asyncio_patch('gns3server.compute.docker.docker_vm.DockerVM.stop'):
loop.run_until_complete(asyncio.async(vm._read_console_output(input_stream, output_stream)))
output_stream.feed_data.assert_called_once_with(b"test")