]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-deploy.git/commitdiff
add tests for the new regex validator
authorAlfredo Deza <alfredo@deza.pe>
Wed, 31 Jul 2013 16:15:55 +0000 (12:15 -0400)
committerAlfredo Deza <alfredo@deza.pe>
Thu, 1 Aug 2013 19:50:03 +0000 (15:50 -0400)
Signed-off-by: Alfredo Deza <alfredo@deza.pe>
ceph_deploy/tests/unit/util/test_arg_validators.py [new file with mode: 0644]

diff --git a/ceph_deploy/tests/unit/util/test_arg_validators.py b/ceph_deploy/tests/unit/util/test_arg_validators.py
new file mode 100644 (file)
index 0000000..d502a52
--- /dev/null
@@ -0,0 +1,30 @@
+from argparse import ArgumentError
+from pytest import raises
+
+from ceph_deploy.util import arg_validators
+
+
+class TestRegexMatch(object):
+
+    def test_match_raises(self):
+        validator = arg_validators.RegexMatch(r'\d+')
+        with raises(ArgumentError):
+            validator('1')
+
+    def test_match_passes(self):
+        validator = arg_validators.RegexMatch(r'\d+')
+        assert validator('foo') == 'foo'
+
+    def test_default_error_message(self):
+        validator = arg_validators.RegexMatch(r'\d+')
+        with raises(ArgumentError) as error:
+            validator('1')
+        message = error.value.message
+        assert message == 'must match pattern \d+'
+
+    def test_custom_error_message(self):
+        validator = arg_validators.RegexMatch(r'\d+', 'wat')
+        with raises(ArgumentError) as error:
+            validator('1')
+        message = error.value.message
+        assert message == 'wat'