1 Star 0 Fork 15

张尧/pkgship

forked from src-openEuler/pkgship 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
0009-add-es-insert-test-cases.patch 5.83 KB
一键复制 编辑 原始数据 按行查看 历史
LiHeavy 提交于 2021-03-20 00:18 . update patchs
--- 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")
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/polite2anyone/pkgship.git
[email protected]:polite2anyone/pkgship.git
polite2anyone
pkgship
pkgship
master

搜索帮助