summaryrefslogtreecommitdiffstats
path: root/checks
diff options
context:
space:
mode:
authorJason Gerard DeRose <jderose@redhat.com>2009-02-13 11:57:06 -0700
committerRob Crittenden <rcritten@redhat.com>2009-02-17 16:03:10 -0500
commitecc2d96ba31f8b07453c8e71018ff1e0477ef7af (patch)
treec442525148cab74eef0bcaa26a2da7f862647610 /checks
parent7e23ee7cc625d54469e184541537b3f803b6307a (diff)
downloadfreeipa-ecc2d96ba31f8b07453c8e71018ff1e0477ef7af.tar.gz
freeipa-ecc2d96ba31f8b07453c8e71018ff1e0477ef7af.tar.xz
freeipa-ecc2d96ba31f8b07453c8e71018ff1e0477ef7af.zip
Added new checks/ directory for integration tests and moved integration.py there
Diffstat (limited to 'checks')
-rw-r--r--checks/README3
-rwxr-xr-xchecks/integration.py78
2 files changed, 81 insertions, 0 deletions
diff --git a/checks/README b/checks/README
new file mode 100644
index 00000000..f58f9c79
--- /dev/null
+++ b/checks/README
@@ -0,0 +1,3 @@
+This directory is for integration tests that require a live backend (LDAP,
+Certificate Server, etc.). It's named "checks" so nose wont discover tests
+here
diff --git a/checks/integration.py b/checks/integration.py
new file mode 100755
index 00000000..23a9498c
--- /dev/null
+++ b/checks/integration.py
@@ -0,0 +1,78 @@
+#!/usr/bin/python
+
+from base64 import b64encode, b64decode
+from ipalib import api
+
+# certificate with serial number 17
+cert = b64decode("""
+MIIC3zCCAcegAwIBAgIBETANBgkqhkiG9w0BAQUFADA7MRkwFwYDVQQKExBTamNSZWRoYXQgRG9tYW
+luMR4wHAYDVQQDExVDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDkwMTIyMjMzODA2WhcNMDkwNzIx
+MjMzODA2WjAUMRIwEAYKCZImiZPyLGQBARMCbGwwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAM
+id6i9ri9ldyAXaH4MJSPdUDjdc9+E10hwxw7crFE1K0uvr8YT2e1YotNqv7Q+Bk7KVRrLH6Y5UPlWY
+uSAP8G9t8yjn5Uo3iXU5AqsrRek+pxerD/WocwedF6yjJ/zlQyYyg93h0njJr1lStyVLTyp+VVqtk3
+FSDIwLCWQHOTejAgMBAAGjgZgwgZUwHwYDVR0jBBgwFoAUlz9JZxqVabh4QQOEkxyWt80pIQkwQwYI
+KwYBBQUHAQEENzA1MDMGCCsGAQUFBzABhidodHRwOi8vYS1mOC5zamMucmVkaGF0LmNvbTo5MTgwL2
+NhL29jc3AwDgYDVR0PAQH/BAQDAgXgMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDANBgkq
+hkiG9w0BAQUFAAOCAQEAhU+oqPh+rlYFPm0D8HAJ0RIWw9gkNctHUfVGi+NeYTaUAEGWUOpXjLSQgP
+gq1fNBHd+IRLhycwp4uUsFCPE1n3eStmn/D6o9u1eNnTFPj74MLZVQQTXPE8+LBYeHgTUwFuKp2WyW
+9J/BDZ3pDWKYWWMawhD7ext7UhZkpIJODFEaDxiXCfB8GsAEbmfoYFk21znuGQQu3Wu1s6licyunLh
+/W3sxCFGIT9DHxS0GZKimm7M02IPGxK/0TZr0kVcLQx6XGKqiK1464rvl4u60mQjwJwfhawshs84YT
+xFnXZKkvsT3GjfIe/k687TMG3paTFtKkis+u7z0v6355uJzLpQ==
+""")
+
+csr = 'MIIBlDCB/gIBADBVMR0wGwYDVQQKExRVc2Vyc3lzUmVkaGF0LURvbWFpbjEQMA4GA1UECxMHcGtpLWlwYTEiMCAGA1UEAxMZSVBBLVN1YnN5c3RlbS1DZXJ0aWZpY2F0ZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA3Qmpr81WxbnISmyyhc2ShiPzUvWIrCg5FgJ1QrBl7CRe62Wl/YYiV/DbuMoex1ec7zKfgfSFVFU9/2iwj7Du0sZdXYJNQPdj9yLdPk2tyxdgJuHLdxI0SNgaEFyvmIMP/X9vQN9H5w0/PyrJQscOxc6tbTcYL0ZSSylLQ+diaQECAwEAA'
+
+api.bootstrap(in_server=True, debug=True)
+api.finalize()
+ra = api.Backend.ra
+
+def assert_equal(*vals):
+ val0 = vals[0]
+ for val in vals[1:]:
+ assert val == val0, '%r != %r' % (val, val0)
+
+
+api.log.info('******** Testing ra.check_request_status() ********')
+assert_equal(
+ ra.check_request_status('35'),
+ dict(
+ status='0',
+ serial_number='17',
+ request_status='complete',
+ request_id='35',
+ )
+)
+
+api.log.info('******** Testing ra.get_certificate() ********')
+assert_equal(
+ ra.get_certificate('17'),
+ dict(
+ status='0',
+ certificate=b64encode(cert),
+ )
+)
+
+api.log.info('******** Testing ra.request_certificate() ********')
+assert_equal(
+ ra.request_certificate(csr),
+ dict(
+ status='1',
+ )
+)
+
+api.log.info('******** Testing ra.revoke_certificate() ********')
+assert_equal(
+ ra.revoke_certificate('17', revocation_reason=6), # Put on hold
+ dict(
+ status='0',
+ revoked=True,
+ )
+)
+
+api.log.info('******** Testing ra.take_certificate_off_hold() ********')
+assert_equal(
+ ra.take_certificate_off_hold('17'),
+ dict(
+ taken_off_hold=True,
+ )
+)