From f07a3ff9941e82336e5bbfaede33ce00fb39c2c4 Mon Sep 17 00:00:00 2001
From: Sebastian Lobinger <sebastian.lobinger@fu-berlin.de>
Date: Wed, 7 Jun 2017 11:09:01 +0200
Subject: [PATCH] rewrite of test_mandatory_eys_in_spec use subtest for error
 assertions

---
 test/test_sams_proxy.py | 53 ++++++++++++++++++++++-------------------
 1 file changed, 29 insertions(+), 24 deletions(-)

diff --git a/test/test_sams_proxy.py b/test/test_sams_proxy.py
index f11ae29..835993b 100644
--- a/test/test_sams_proxy.py
+++ b/test/test_sams_proxy.py
@@ -26,30 +26,35 @@ class TestSAMSHub(unittest.TestCase):
 
   def test_mandatory_keys_in_spec(self):
     """ ProxySpecKeyMissing is raised if something is mising in spec"""
-    with self.assertRaises(ProxySpecKeyMssing):
-      SAMSProxy(proxySpec = {'out': 'http://baz.foo'})
-      SAMSProxy(proxySpec = {'in': '/foo/bar'})
-      SAMSProxy(proxySpec = {'in': '/foo/bar', 'out': 'http://baz.foo'
-        , 'token': {'name': 'user'}})
-      SAMSProxy(proxySpec = {'in': '/foo/bar', 'out': 'http://baz.foo'
-        , 'token': {'value': 'user'}})
-      SAMSProxy(proxySpec = {'in': '/foo/bar', 'out': 'http://baz.foo'
-        , 'session_passthrough': {}})
-      SAMSProxy(proxySpec = {'in': '/foo/bar', 'out': 'http://baz.foo'
-        , 'session_passthrough': {'default': {}}})
-      SAMSProxy(proxySpec = {'in': '/foo/bar', 'out': 'http://baz.foo'
-        , 'session_passthrough': {'default': {'user': {'name': 'u'}}}})
-      SAMSProxy(proxySpec = {'in': '/foo/bar', 'out': 'http://baz.foo'
-        , 'session_passthrough': {'default': {'user': {'param_type': 'body'}}}})
-      for method in ('get', 'post', 'delete', 'put', 'update'):
-        SAMSProxy(proxySpec = {'in': '/foo/bar', 'out': 'http://baz.foo'
-          , 'session_passthrough': {'default': {
-            'user': {'param_type': 'body', 'name': 'u'}
-          }, method: {'user': {'param_type': 'body'}}}})
-        SAMSProxy(proxySpec = {'in': '/foo/bar', 'out': 'http://baz.foo'
-          , 'session_passthrough': {'default': {
-            'user': {'param_type': 'body', 'name': 'u'}
-          }, method: {'user': {'name': 'u'}}}})
+    proxySpecs = [
+      {'out': 'http://baz.foo'},
+      {'in': '/foo/bar'},
+      {'in': '/foo/bar', 'out': 'http://baz.foo'
+        , 'token': {'name': 'user'}},
+      {'in': '/foo/bar', 'out': 'http://baz.foo'
+        , 'token': {'value': 'user'}},
+      {'in': '/foo/bar', 'out': 'http://baz.foo'
+        , 'session_passthrough': {}},
+      {'in': '/foo/bar', 'out': 'http://baz.foo'
+        , 'session_passthrough': {'default': {}}},
+      {'in': '/foo/bar', 'out': 'http://baz.foo'
+        , 'session_passthrough': {'default': {'user': {'name': 'u'}}}},
+      {'in': '/foo/bar', 'out': 'http://baz.foo'
+        , 'session_passthrough': {'default': {'user': {'param_type': 'body'}}}}
+    ]
+    for method in ('get', 'post', 'delete', 'put', 'update'):
+      proxySpecs.append({'in': '/foo/bar', 'out': 'http://baz.foo',
+        'session_passthrough': {'default': {
+          'user': {'param_type': 'body', 'name': 'u'}
+        }, method: {'user': {'param_type': 'body'}}}})
+      proxySpecs.append({'in': '/foo/bar', 'out': 'http://baz.foo',
+        'session_passthrough': {'default': {
+          'user': {'param_type': 'body', 'name': 'u'}
+        }, method: {'user': {'name': 'u'}}}})
+    for proxySpec in proxySpecs:
+      with self.subTest(proxySpec):
+        with self.assertRaises(ProxySpecKeyMssing):
+          SAMSProxy(proxySpec = proxySpec)
 
 class TestSAMSHubWithThreadedAPI(unittest.TestCase):
 
-- 
GitLab