##// END OF EJS Templates
*: add executable bit to a few files that were missing it.
*: add executable bit to a few files that were missing it.

File last commit:

r12742:6ab4a7d3 default
r12864:ef0b8b1b stable
Show More
test-url.py
39 lines | 1.1 KiB | text/x-python | PythonLexer
#!/usr/bin/env python
import sys
def check(a, b):
if a != b:
print (a, b)
def cert(cn):
return dict(subject=((('commonName', cn),),))
from mercurial.url import _verifycert
# Test non-wildcard certificates
check(_verifycert(cert('example.com'), 'example.com'),
None)
check(_verifycert(cert('example.com'), 'www.example.com'),
'certificate is for example.com')
check(_verifycert(cert('www.example.com'), 'example.com'),
'certificate is for www.example.com')
# Test wildcard certificates
check(_verifycert(cert('*.example.com'), 'www.example.com'),
None)
check(_verifycert(cert('*.example.com'), 'example.com'),
'certificate is for *.example.com')
check(_verifycert(cert('*.example.com'), 'w.w.example.com'),
'certificate is for *.example.com')
# Avoid some pitfalls
check(_verifycert(cert('*.foo'), 'foo'),
'certificate is for *.foo')
check(_verifycert(cert('*o'), 'foo'),
'certificate is for *o')
check(_verifycert({'subject': ()},
'example.com'),
'no commonName found in certificate')
check(_verifycert(None, 'example.com'),
'no certificate received')