summaryrefslogtreecommitdiff
path: root/src/mailman/testing/layers.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman/testing/layers.py')
-rw-r--r--src/mailman/testing/layers.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/mailman/testing/layers.py b/src/mailman/testing/layers.py
index 3f7e63406..9e4364a7a 100644
--- a/src/mailman/testing/layers.py
+++ b/src/mailman/testing/layers.py
@@ -23,6 +23,7 @@ __metaclass__ = type
__all__ = [
'ConfigLayer',
'MockAndMonkeyLayer',
+ 'RESTLayer',
'SMTPLayer',
]
@@ -221,3 +222,23 @@ class SMTPLayer(ConfigLayer):
@classmethod
def testTearDown(cls):
pass
+
+
+
+class RESTLayer(SMTPLayer):
+ """Layer for starting, stopping, and accessing the test REST layer."""
+
+ server = None
+
+ @classmethod
+ def setUp(cls):
+ assert cls.server is None, 'Layer already set up'
+ from mailman.rest.testing.server import TestableServer
+ cls.server = TestableServer()
+ cls.server.start()
+
+ @classmethod
+ def tearDown(cls):
+ assert cls.server is not None, 'Layer not set up'
+ cls.server.stop()
+ cls.server = None