aboutsummaryrefslogtreecommitdiffstats
path: root/tests/unit
diff options
context:
space:
mode:
authorYujun Zhang <zhang.yujunz@zte.com.cn>2017-02-18 12:14:43 +0800
committerYujun Zhang <zhang.yujunz@zte.com.cn>2017-02-21 16:58:50 +0800
commitb19344b16a3000180cac33e1239d62c7c6c3e5ea (patch)
tree3cbc2f13021d711026fe61a52b790c24f945fd04 /tests/unit
parent0dca380fe84e42309d3c3a66b3f31ec2f645caf5 (diff)
Refactoring qtip.base.error
- move method make_tbd to qtip.util.dev - add suffix Error to follow the Python naming convention - rename arguments of NotFoundError to make it generic Change-Id: I81e406b7fa10c3b40004434f6a9c2e7bbf7603ee Signed-off-by: Yujun Zhang <zhang.yujunz@zte.com.cn>
Diffstat (limited to 'tests/unit')
-rw-r--r--tests/unit/base/error_test.py48
-rw-r--r--tests/unit/loader/yaml_file_test.py4
-rw-r--r--tests/unit/util/dev_test.py32
3 files changed, 82 insertions, 2 deletions
diff --git a/tests/unit/base/error_test.py b/tests/unit/base/error_test.py
new file mode 100644
index 00000000..2be6d695
--- /dev/null
+++ b/tests/unit/base/error_test.py
@@ -0,0 +1,48 @@
+###############################################################
+# Copyright (c) 2017 ZTE Corporation
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+import pytest
+
+from qtip.base.error import InvalidContentError
+from qtip.base.error import NotFoundError
+from qtip.base.error import ToBeDoneError
+
+
+def test_invalid_content(faker):
+ filename = faker.file_name()
+ error = InvalidContentError(filename)
+ assert error.filename == filename
+
+
+def test_not_found(faker):
+ package = faker.pystr()
+ module = faker.pystr()
+ error = NotFoundError(module)
+ assert error.needle == module
+ assert error.heystack == 'qtip'
+
+ error = NotFoundError(module, package)
+ assert error.needle == module
+ assert error.heystack == package
+
+
+@pytest.fixture
+def method(faker):
+ return faker.pystr()
+
+
+@pytest.fixture
+def module(faker):
+ return faker.pystr()
+
+
+def test_to_be_done(method, module):
+ error = ToBeDoneError(method, module)
+ assert error.method == method
+ assert error.module == module
diff --git a/tests/unit/loader/yaml_file_test.py b/tests/unit/loader/yaml_file_test.py
index 17836946..0f0632c4 100644
--- a/tests/unit/loader/yaml_file_test.py
+++ b/tests/unit/loader/yaml_file_test.py
@@ -10,7 +10,7 @@
import os
import pytest
-from qtip.base.error import InvalidContent
+from qtip.base.error import InvalidContentError
from qtip.loader.yaml_file import YamlFileLoader
@@ -28,6 +28,6 @@ def test_init(yaml_root, filename, expected):
def test_invalid_content(yaml_root):
- with pytest.raises(InvalidContent) as excinfo:
+ with pytest.raises(InvalidContentError) as excinfo:
YamlFileLoader('invalid.yaml', [yaml_root])
assert 'invalid.yaml' in excinfo.value.filename
diff --git a/tests/unit/util/dev_test.py b/tests/unit/util/dev_test.py
new file mode 100644
index 00000000..021b1004
--- /dev/null
+++ b/tests/unit/util/dev_test.py
@@ -0,0 +1,32 @@
+###############################################################
+# Copyright (c) 2017 ZTE Corporation
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+import pytest
+
+from qtip.base.error import ToBeDoneError
+from qtip.util.dev import create_to_be_done
+
+
+def test_create_to_be_done(faker):
+ method = faker.pystr()
+ module = faker.pystr()
+
+ tbd = create_to_be_done(method)
+ assert callable(tbd)
+ with pytest.raises(ToBeDoneError) as excinfo:
+ tbd()
+ assert excinfo.value.method == method
+ assert excinfo.value.module == 'qtip'
+
+ tbd = create_to_be_done(method, module)
+ assert callable(tbd)
+ with pytest.raises(ToBeDoneError) as excinfo:
+ tbd()
+ assert excinfo.value.method == method
+ assert excinfo.value.module == module