Break out getting SP metadata into a separate test helper
authorRob Crittenden <rcritten@redhat.com>
Fri, 27 Feb 2015 03:25:05 +0000 (22:25 -0500)
committerSimo Sorce <simo@redhat.com>
Fri, 27 Feb 2015 21:13:59 +0000 (16:13 -0500)
This allows us to get the metadata for creation via REST POST

https://fedorahosted.org/ipsilon/ticket/26

Signed-off-by: Rob Crittenden <rcritten@redhat.com>
Reviewed-by: Simo Sorce <simo@redhat.com>
tests/helpers/http.py

index 1d026a7..1fe989e 100755 (executable)
@@ -228,16 +228,21 @@ class HttpSessions(object):
         page.expected_value('//div[@id="welcome"]/p/text()',
                             'Welcome %s!' % srv['user'])
 
-    def add_sp_metadata(self, idp, sp):
+    def get_sp_metadata(self, idp, sp):
         idpsrv = self.servers[idp]
         idpuri = idpsrv['baseuri']
+
         spuri = self.servers[sp]['baseuri']
 
+        return (idpuri, requests.get('%s/saml2/metadata' % spuri))
+
+    def add_sp_metadata(self, idp, sp):
+        idpsrv = self.servers[idp]
+        (idpuri, m) = self.get_sp_metadata(idp, sp)
         url = '%s/%s/admin/providers/saml2/admin/new' % (idpuri, idp)
+        metafile = {'metafile': m.content}
         headers = {'referer': url}
         payload = {'name': sp}
-        m = requests.get('%s/saml2/metadata' % spuri)
-        metafile = {'metafile': m.content}
         r = idpsrv['session'].post(url, headers=headers,
                                    data=payload, files=metafile)
         if r.status_code != 200: