2017-09-12 14 views
1

CKANテストを実行しようとしていて、動作していません。CKANコアテストの実行

私の設定(ローカルドッカーの設定で、資格情報の表示に問題はありません)はhttps://gist.github.com/lwm/cd33556fb18d9b8395209cb6233d75afです。

私のpostgreSQL、Redis、Solrが正しく設定されていることは間違いありません。

これらのテストがCKAN HEADを通過しているのがわかります。私はかなり困惑しています。

ここに私のテストログです:

(default)[email protected]:/usr/lib/ckan/default/src/ckan# nosetests --with-pylons=$CKAN_INI -x 
2017-09-12 08:38:39,831 INFO [ckan.config.environment] Loading static files from public 
2017-09-12 08:38:39,860 INFO [ckan.config.environment] Loading templates from /usr/lib/ckan/default/src/ckan/ckan/templates 
2017-09-12 08:38:40,044 INFO [ckan.config.environment] Loading templates from /usr/lib/ckan/default/src/ckan/ckan/templates 
2017-09-12 08:38:40,158 INFO [ckan.model] Database tables created 
2017-09-12 08:38:40,158 INFO [ckan.websetup] Creating tables: SUCCESS 
.2017-09-12 08:38:40,958 INFO [ckan.config.environment] Loading templates from /usr/lib/ckan/default/src/ckan/ckan/templates 
F 
====================================================================== 
FAIL: ckan.tests.config.test_environment.TestSiteUrlMandatory.test_missing_siteurl 
---------------------------------------------------------------------- 
Traceback (most recent call last): 
    File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/nose/case.py", line 197, in runTest 
    self.test(*self.arg) 
    File "/usr/lib/ckan/default/src/ckan/ckan/tests/helpers.py", line 389, in wrapper 
    return func(*args, **kwargs) 
    File "/usr/lib/ckan/default/src/ckan/ckan/tests/config/test_environment.py", line 90, in test_missing_siteurl 
    nosetools.assert_raises(RuntimeError, environment.update_config) 
AssertionError: RuntimeError not raised 

---------------------------------------------------------------------- 
Ran 2 tests in 1.564s 

FAILED (failures=1) 

任意のポインタがはるかに高く評価されているが!

+0

私のpostgresのログです(疑わしい行があります)。https://gist.github.com/lwm/9f010d0e38c301219b75e6afaf17b95f –

答えて

1

いくつかのCKAN設定オプションは、例えばDockerコンテナとして実行する場合など、環境変数で設定できます。

これらの特定のテストでは、これを考慮せず、サイトURLがconfigオブジェクトに直接設定されているかどうかを確認するだけです。そのため、ローカルインストールで渡され、コンテナ内で失敗します。

それらをより強固にするために、あなたは彼らが環境変数から設定を無視行う必要があります。

diff --git a/ckan/tests/config/test_environment.py b/ckan/tests/config/test_environment.py 
index fafe701..16f1895 100644 
--- a/ckan/tests/config/test_environment.py 
+++ b/ckan/tests/config/test_environment.py 
@@ -85,6 +85,15 @@ class TestUpdateConfig(h.FunctionalTestBase): 

class TestSiteUrlMandatory(object): 

+ @classmethod 
+ def setup_class(cls): 
+  cls._site_url_from_env_var = os.environ.pop('CKAN_SITE_URL', None) 
+ 
+ @classmethod 
+ def teardown_class(cls): 
+  if cls._site_url_from_env_var: 
+   os.environ['CKAN_SITE_URL'] = cls._site_url_from_env_var 
+ 
    @helpers.change_config('ckan.site_url', '') 
    def test_missing_siteurl(self): 
     nosetools.assert_raises(RuntimeError, environment.update_config) 

は、上流のテストを改善するため、プルリクエストを送信すること自由に感じなさい。

関連する問題