Merge "Add qtip job to pod zte-virtual6"
[releng.git] / utils / test / testapi / opnfv_testapi / tests / unit / common / test_config.py
index aaff6bb..6d160ce 100644 (file)
@@ -1,36 +1,25 @@
-import ConfigParser
-import os
-
+import argparse
 import pytest
 
-from opnfv_testapi.common import config
-
-
-@pytest.fixture()
-def config_dir():
-    return os.path.dirname(__file__)
-
-
-@pytest.mark.parametrize('exception, config_file, excepted', [
-    (config.ParseError, None, '/etc/opnfv_testapi/config.ini not found'),
-    (ConfigParser.NoSectionError, 'nosection.ini', 'No section:'),
-    (config.ParseError, 'noparam.ini', 'No parameter:'),
-    (config.ParseError, 'notint.ini', 'Not int:'),
-    (config.ParseError, 'notboolean.ini', 'Not boolean:')])
-def pytest_config_exceptions(config_dir, exception, config_file, excepted):
-    file = '{}/{}'.format(config_dir, config_file) if config_file else None
-    with pytest.raises(exception) as error:
-        config.APIConfig().parse(file)
-    assert excepted in str(error.value)
-
 
-def test_config_success():
-    config_dir = os.path.join(os.path.dirname(__file__),
-                              '../../../../etc/config.ini')
-    conf = config.APIConfig().parse(config_dir)
-    assert conf.mongo_url == 'mongodb://127.0.0.1:27017/'
-    assert conf.mongo_dbname == 'test_results_collection'
-    assert conf.api_port == 8000
-    assert conf.api_debug_on is True
-    assert conf.api_authenticate_on is False
-    assert conf.swagger_base_url == 'http://localhost:8000'
+def test_config_normal(mocker, config_normal):
+    mocker.patch(
+        'argparse.ArgumentParser.parse_known_args',
+        return_value=(argparse.Namespace(config_file=config_normal), None))
+    from opnfv_testapi.common import config
+    CONF = config.Config()
+    assert CONF.mongo_url == 'mongodb://127.0.0.1:27017/'
+    assert CONF.mongo_dbname == 'test_results_collection'
+    assert CONF.api_port == 8000
+    assert CONF.api_debug is True
+    assert CONF.api_token_check is False
+    assert CONF.api_authenticate is True
+    assert CONF.ui_url == 'http://localhost:8000'
+
+
+def test_config_file_not_exist(mocker):
+    mocker.patch('os.path.exists', return_value=False)
+    with pytest.raises(Exception) as m_exc:
+        from opnfv_testapi.common import config
+        config.Config()
+    assert 'not found' in str(m_exc.value)