diff --git a/tests/data/stubs/stub-kubectl.py b/tests/data/stubs/stub-kubectl.py new file mode 100755 index 00000000..16f7e460 --- /dev/null +++ b/tests/data/stubs/stub-kubectl.py @@ -0,0 +1,8 @@ +#!/usr/bin/env python + +import sys +import os + +os.environ['ORIGINAL_ARGV'] = repr(sys.argv) +os.environ['THIS_IS_STUB_KUBECTL'] = '1' +os.execv(sys.executable, sys.argv[sys.argv.index('--') + 1:]) diff --git a/tests/kubectl_test.py b/tests/kubectl_test.py new file mode 100644 index 00000000..0bac3048 --- /dev/null +++ b/tests/kubectl_test.py @@ -0,0 +1,29 @@ + +import os + +import mitogen +import mitogen.parent + +import unittest2 + +import testlib + + +class ConstructorTest(testlib.RouterMixin, testlib.TestCase): + kubectl_path = testlib.data_path('stubs/stub-kubectl.py') + + def test_okay(self): + context = self.router.kubectl( + pod='pod_name', + kubectl_path=self.kubectl_path + ) + + argv = eval(context.call(os.getenv, 'ORIGINAL_ARGV')) + self.assertEquals(argv[0], self.kubectl_path) + self.assertEquals(argv[1], 'exec') + self.assertEquals(argv[2], '-it') + self.assertEquals(argv[3], 'pod_name') + + +if __name__ == '__main__': + unittest2.main()