summaryrefslogtreecommitdiff
path: root/hgsshsign/tests/itest_all.py
diff options
context:
space:
mode:
Diffstat (limited to 'hgsshsign/tests/itest_all.py')
-rw-r--r--hgsshsign/tests/itest_all.py94
1 files changed, 91 insertions, 3 deletions
diff --git a/hgsshsign/tests/itest_all.py b/hgsshsign/tests/itest_all.py
index 79645ad..8017077 100644
--- a/hgsshsign/tests/itest_all.py
+++ b/hgsshsign/tests/itest_all.py
@@ -1,18 +1,106 @@
1# vim:filetype=python:fileencoding=utf-8 1# vim:filetype=python:fileencoding=utf-8
2import os
2import sys 3import sys
4import shutil
3import unittest 5import unittest
4 6
7import mercurial.dispatch
8
9from hgsshsign.tests._support import make_test_repo
10
11
12PUBKEY = """ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeWqRjW5fHhnH/AN7DM/""" \
13"""fBoVFehB8++SwBy6WlEK6bR1jvwBzQUuOpbb4jiv5OVK4JjYWph5HLmsbKvOrH4ZorV""" \
14"""o7ZsFq2KlTA/G5Nqhbnj9mgBtp4FQ5rPjh7MApM8xXgVC/5ZGzTU2ygJBgf6gG99bxv""" \
15"""spN1dCEWYwlIRd33Fp1flBcATGp8Yyt6ERtgqCwsM/T4V0qFSMUH1guRg5jT3LxdDew""" \
16"""p1V1oj5BlZGPZYKX1HqpOUMDFqzrESJjiDIuHy4ltiWLQNxGY6udLp9srmjsWp4LiTK""" \
17"""/BUf0m46qR83zJpaFfCdagi2tLH/zQAK21TMrVJQcjKry+dLT/OJIZ dummy@localhost"""
18PRIVKEY = """\
19"dummy@localhost" RSA private key
20This key has no passphrase and is intended for testing
21purposes only.
22
23-----BEGIN RSA PRIVATE KEY-----
24MIIEogIBAAKCAQEAnlqkY1uXx4Zx/wDewzP3waFRXoQfPvksAculpRCum0dY78Ac
250FLjqW2+I4r+TlSuCY2FqYeRy5rGyrzqx+GaK1aO2bBatipUwPxuTaoW54/ZoAba
26eBUOaz44ezAKTPMV4FQv+WRs01NsoCQYH+oBvfW8b7KTdXQhFmMJSEXd9xadX5QX
27AExqfGMrehEbYKgsLDP0+FdKhUjFB9YLkYOY09y8XQ3sKdVdaI+QZWRj2WCl9R6q
28TlDAxas6xEiY4gyLh8uJbYli0DcRmOrnS6fbK5o7FqeC4kyvwVH9JuOqkfN8yaWh
29XwnWoItrSx/80ACttUzK1SUHIyq8vnS0/ziSGQIDAQABAoIBAEnMGDwtnUhhAZND
30ho0WFOpqEY+opx8j5DxZ+bI5WgYHdA0XTNZRKsP03t2VkvpSQGE3UQk2ot1uHiKx
31dAD+xGhaCGyu4Tdv9tuRSJ5tHAuCYHtRdlLsDTIxZwUR2FsQFivbUBg7kvPRNxhS
32eeO1nGY4tT6gzFO6cQkL0nGaDd1uMvAu1zENBWAtH7iZyJ5u+GEdlmWs7GTUb0lu
33vURjy1iqJTP4tDQtVpQexLeypOKlL89vaPoLQjw6bxxc8uujUXkEbBy0gjSaivSu
34qgWnoTF64tuYHhDFm9zzQXTPJ6nQRz7Mxa9mkrPyL/955fvKxHyAlXl+HQnXbE97
35Uk4M09kCgYEAy49rVd5uHpaGPFLLEBYSmiSGklXjuNY3sHH3zHk2hVgaxCQt6u1U
365pSPMwsnk0VXtf0B+YSLoxwZNS726Z/TiJ2iPFoQmYY920IgtB9tJ5wpq76Zkmzo
37MheRV4e5D9ZWRwOZjQtUlu1TAgvsbEeGcelvNlNzjPYKFt68+Q4uG+cCgYEAxyXs
38tjQFkgtcBXwvuKTcW234Y/+lqKK0cVLpzsBQ1VpaCQBy55BGPLZrNck4If0+cZCe
39cF6UjH3+5Dd1Q23SxsNryyn2sQoHsys1B5nZyGNvHYwZDnmep+uB7h/oRB95/0hA
40YN56ATNFhViISxmctuHeEQK+lQP38bSr3f5+If8CgYA16iCVt7oW4+td4tfhxNbc
41eLwj2hfchvBtDWKCh8BHBRThymtXA9Eu2T4sWNH8kasvinmRaufJJdIPYgcHzcsr
42LgUgUwJ+hy2u+w7KZmB000m+MVdfjvTY/6EBO/NqHGzxliR/VPbsmqMXsazG6RLU
437O0FyIicVzZI5GnM1VKlFQKBgEFMhSZlPmJZyS2fP8KKhBqSn3yiib4Ww5XY+wMo
44+hhLDPSgqgyVuQIVSmgTd41ljUENi3YK/Shn89j++jtG2nMEBudR9iqswEOWakf4
45wXk8aWXF1z1w0X378dmTqsQTkhwLo9hfep/EIQqNMft2BXXN79OiE72m1Hjzpdsf
46pFofAoGARtxV/WP0nK9aHQQSPPmXB8C+15s4fTCV0krAPj2L5mOB/V63XOJ77IUB
471MXm6iFwsteyQsEJVeP03S1ToRurMXxw6nlkRPP2M5flYCT1EapqduI9dfXnlhu/
48ea7iH7LLWTDQ5X97VHu8WTQLSZfH2vT7vuOG5V4R3wOj7rQh6n0=
49-----END RSA PRIVATE KEY-----
50"""
51
5 52
6class TestHgSSHSign(unittest.TestCase): 53class TestHgSSHSign(unittest.TestCase):
54 _orig_dir = ''
55 _tmp_repo = ''
56 _tmpdir = ''
57 _public_key = ''
58 _private_key = ''
59
60 _orig_env = os.environ.copy()
61 _testenv = None
7 62
8 def setUp(self): 63 def setUp(self):
9 pass 64 self._orig_dir = os.getcwd()
65
66 self._tmpdir, self._tmp_repo = make_test_repo()
67 self._public_key = os.path.join(self._tmpdir, 'id_rsa.pub')
68 self._private_key = os.path.join(self._tmpdir, 'id_rsa')
69
70 pubkey = open(self._public_key, 'w')
71 pubkey.write(PUBKEY)
72 pubkey.close()
73
74 privkey = open(self._private_key, 'w')
75 privkey.write(PRIVKEY)
76 privkey.close()
77
78 self._testenv = self._orig_env.copy()
79 if 'SSH_AUTH_SOCK' in self._testenv:
80 self._testenv.pop('SSH_AUTH_SOCK')
81
82 sys._real_argv = sys.argv
83 sys.argv = ['hg', '--config', 'sshsign.public_key=' + self._public_key,
84 '--config', 'extensions.hgsshsign=']
85
86 os.chdir(self._tmp_repo)
10 87
11 def tearDown(self): 88 def tearDown(self):
12 pass 89 os.chdir(self._orig_dir)
90 os.environ = self._orig_env
91
92 if self._tmpdir:
93 shutil.rmtree(self._tmpdir)
94
95 sys.argv = sys._real_argv
13 96
14 def test_sign_simple_case(self): 97 def test_sign_simple_case(self):
15 pass 98 try:
99 sys.argv.append('sshsign')
100 mercurial.dispatch.run()
101 except ValueError:
102 # in reality, this is an XFAIL for now
103 pass
16 104
17 105
18def tests(): 106def tests():