代码拉取完成,页面将自动刷新
同步操作将从 src-openEuler/pkgship 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
--- a/test/coverage_count.py
+++ b/test/coverage_count.py
@@ -56,22 +56,24 @@ if __name__ == "__main__":
os.path.join(TEST_CASE_PATH, "test_module/test_pkgship_version/"),
os.path.join(TEST_CASE_PATH, "test_module/test_selfbuild/"),
os.path.join(TEST_CASE_PATH, "test_module/test_install/"),
- os.path.join(TEST_CASE_PATH, "test_module/test_build/"),]
- # os.path.join(TEST_CASE_PATH, "test_module/test_bedepend/test_database_query/")]
+ os.path.join(TEST_CASE_PATH, "test_module/test_build/"),
+ os.path.join(TEST_CASE_PATH, "test_module/test_graph/")
+ ]
+
errors = []
failures = []
for file in test_case_files:
runner_result = runner.run(specify_case(file))
errors.extend(runner_result.errors)
failures.extend(runner_result.failures)
-
+
if any([errors, failures]):
sys.exit(1)
-
+
cov.stop()
try:
cov.report(show_missing=True)
# cov.html_report()
except CoverageException:
print("No data to report")
- sys.exit(1)
\ No newline at end of file
+ sys.exit(1)
--- /dev/null
+++ b/test/test_module/test_database/data/__init__.py
@@ -0,0 +1,12 @@
+#!/usr/bin/python3
+# ******************************************************************************
+# Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved.
+# licensed under the Mulan PSL v2.
+# You can use this software according to the terms and conditions of the Mulan PSL v2.
+# You may obtain a copy of Mulan PSL v2 at:
+# http://license.coscl.org.cn/MulanPSL2
+# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
+# PURPOSE.
+# See the Mulan PSL v2 for more details.
+# ******************************************************************************/
--- /dev/null
+++ b/test/test_module/test_database/data/mapping.json
@@ -0,0 +1,5 @@
+{
+"name": "test_name",
+"version": "1.0.1",
+"release": 2
+}
\ No newline at end of file
--- a/test/test_module/test_database/test_es_query.py
+++ b/test/test_module/test_database/test_es_query.py
@@ -10,13 +10,19 @@
# PURPOSE.
# See the Mulan PSL v2 for more details.
# ******************************************************************************/
+import os
from unittest import TestCase, mock
+from unittest.mock import MagicMock
from elasticsearch import Elasticsearch, helpers
+from elasticsearch.client.indices import IndicesClient
+from elasticsearch.exceptions import ElasticsearchException, TransportError
from packageship.application.common.exc import ElasticSearchQueryException, DatabaseConfigException
from packageship.application.database.engines.elastic import ElasticSearch
+MOCK_DATA_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), "data/mapping.json")
+
class TestEsQuery(TestCase):
@@ -112,6 +118,85 @@ class TestEsQuery(TestCase):
es2 = ElasticSearch(host="127.0.0.1")
self.assertIs(es1, es2)
+ def test_create_index_success(self):
+ """
+ Test create indices success
+ Returns:
+ """
+ IndicesClient.exists = MagicMock(side_effect=[False, False])
+ IndicesClient.create = MagicMock(side_effect=[True, True])
+
+ es_instance = self._es_init()
+ indices = [dict(file=MOCK_DATA_FILE, name="test1"), dict(file=MOCK_DATA_FILE, name="test2")]
+ result = es_instance.create_index(indices)
+ self.assertEqual(result, [])
+
+ def test_create_index_fail(self):
+ """
+ Test create indices failed
+ Returns:
+ """
+ IndicesClient.exists = MagicMock(side_effect=[False])
+ IndicesClient.create = MagicMock(side_effect=[ElasticsearchException])
+
+ es_instance = self._es_init()
+ indices = [dict(file=MOCK_DATA_FILE, name="test1")]
+ result = es_instance.create_index(indices)
+ self.assertEqual(result, ["test1"])
+
+ def test_delete_index_fail(self):
+ """
+ Test delete indices success
+ Returns:
+ """
+ IndicesClient.exists = MagicMock(side_effect=[True])
+ IndicesClient.delete = MagicMock(side_effect=[TransportError])
+
+ es_instance = self._es_init()
+ indices = [dict(file=MOCK_DATA_FILE, name="test1")]
+ result = es_instance.create_index(indices)
+ self.assertEqual(result, ["test1"])
+
+ def test_load_mapping_fail(self):
+ """
+ Test load mapping success
+ Returns:
+ """
+ es_instance = self._es_init()
+ indices = dict(file=MOCK_DATA_FILE + "1", name="test1")
+ result = es_instance.create_index(indices)
+ self.assertEqual(result, ["test1"])
+
+ def test_insert_fail(self):
+ """
+ Test insert indices success
+ Returns:
+ """
+ es_instance = self._es_init()
+ with self.assertRaises(ElasticSearchQueryException):
+ es_instance.insert(index="test", body={})
+
+ def test_delete_index_none(self):
+ """
+ Test delete indices is none
+ Returns:
+ """
+ es_instance = self._es_init()
+ result = es_instance.delete_index(index="")
+ self.assertIsNone(result)
+
+ def test_delete_many_indices_fail(self):
+ """
+ Test delete indices failed
+ Returns:
+ """
+ IndicesClient.delete = MagicMock(side_effect=[TransportError])
+
+ es_instance = self._es_init()
+ indices = ['test1', 'test2']
+ result = es_instance.delete_index(indices)
+ self.assertEqual(result, "test1,test2")
+
@staticmethod
def _es_init():
return ElasticSearch(host="127.0.0.1", port="9200")
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。