tests: add setns_test that works if password localhost sudo works.
parent
bbf0b22493
commit
de9a8b2a80
@ -0,0 +1,38 @@
|
|||||||
|
|
||||||
|
import os
|
||||||
|
import socket
|
||||||
|
|
||||||
|
import mitogen
|
||||||
|
import mitogen.parent
|
||||||
|
|
||||||
|
import unittest2
|
||||||
|
|
||||||
|
import testlib
|
||||||
|
|
||||||
|
|
||||||
|
class DockerTest(testlib.DockerMixin, testlib.TestCase):
|
||||||
|
def test_okay(self):
|
||||||
|
# Magic calls must happen as root.
|
||||||
|
try:
|
||||||
|
root = self.router.sudo()
|
||||||
|
except mitogen.core.StreamError:
|
||||||
|
raise unittest2.SkipTest("requires sudo to localhost root")
|
||||||
|
|
||||||
|
via_ssh = self.docker_ssh(
|
||||||
|
username='mitogen__has_sudo',
|
||||||
|
password='has_sudo_password',
|
||||||
|
)
|
||||||
|
|
||||||
|
via_setns = self.router.setns(
|
||||||
|
kind='docker',
|
||||||
|
container=self.dockerized_ssh.container_name,
|
||||||
|
via=root,
|
||||||
|
)
|
||||||
|
|
||||||
|
self.assertEquals(
|
||||||
|
via_ssh.call(socket.gethostname),
|
||||||
|
via_setns.call(socket.gethostname),
|
||||||
|
)
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
unittest2.main()
|
Loading…
Reference in New Issue