summaryrefslogtreecommitdiff
path: root/tools/mdexport_test.py
diff options
context:
space:
mode:
authorRoland Hedberg <roland.hedberg@adm.umu.se>2013-05-24 18:02:30 +0200
committerRoland Hedberg <roland.hedberg@adm.umu.se>2013-05-24 18:02:30 +0200
commite401cf25e2ace829f3438d06efb3e6749e84014b (patch)
tree183531718d373c5c8b0f50ee3614ccece39abed5 /tools/mdexport_test.py
parent77e5a407a52a380cff191ffcf5d74c8cf095b27d (diff)
downloadpysaml2-develop.tar.gz
In some case you want the url to be based on server_name/server_port and not http_host, now you can get what you want.develop
Diffstat (limited to 'tools/mdexport_test.py')
-rwxr-xr-xtools/mdexport_test.py68
1 files changed, 68 insertions, 0 deletions
diff --git a/tools/mdexport_test.py b/tools/mdexport_test.py
new file mode 100755
index 00000000..abd9aefe
--- /dev/null
+++ b/tools/mdexport_test.py
@@ -0,0 +1,68 @@
+#!/usr/bin/env python
+import sys
+
+from saml2 import saml
+from saml2 import md
+from saml2.extension import mdui
+from saml2.extension import idpdisc
+from saml2.extension import dri
+from saml2.extension import mdattr
+from saml2.extension import ui
+from saml2.extension import shibmd
+import xmldsig
+import xmlenc
+
+from saml2.mdstore import MetaDataFile, MetaDataExtern
+
+__author__ = 'rolandh'
+
+"""
+A script that imports and verifies metadata and then dumps it in a basic
+dictionary format.
+"""
+
+
+ONTS = {
+ saml.NAMESPACE: saml,
+ mdui.NAMESPACE: mdui,
+ mdattr.NAMESPACE: mdattr,
+ dri.NAMESPACE: dri,
+ ui.NAMESPACE: ui,
+ idpdisc.NAMESPACE: idpdisc,
+ md.NAMESPACE: md,
+ xmldsig.NAMESPACE: xmldsig,
+ xmlenc.NAMESPACE: xmlenc,
+ shibmd.NAMESPACE: shibmd
+}
+
+MDIMPORT = {
+ "swamid": {
+ "url": "https://kalmar2.org/simplesaml/module.php/aggregator/?id=kalmarcentral2&set=saml2",
+ "cert": "kalmar2.pem",
+ "type": "external"
+ },
+ "incommon": {
+ "file": "InCommon-metadata.xml",
+ "type": "local"
+ },
+ "test": {
+ "file": "mdtest.xml",
+ "type": "local"
+ }
+}
+
+
+item = MDIMPORT[sys.argv[1]]
+
+metad = None
+
+if item["type"] == "local":
+ metad = MetaDataFile(sys.argv[1], ONTS.values(), item["file"])
+elif item["type"] == "external":
+ metad = MetaDataExtern(sys.argv[1], ONTS.values(),
+ item["url"], "/opt/local/bin/xmlsec1", item["cert"])
+
+if metad:
+ metad.load()
+ print metad.dumps()
+