Skip to content

Commit

Permalink
test: 测试-插件包管理支持对象存储模式 (#2)
Browse files Browse the repository at this point in the history
  • Loading branch information
ZhuoZhuoCrayon committed Sep 16, 2021
1 parent 2c74ea5 commit 649a6ad
Show file tree
Hide file tree
Showing 13 changed files with 724 additions and 900 deletions.
5 changes: 4 additions & 1 deletion apps/backend/plugin/tools.py
Original file line number Diff line number Diff line change
Expand Up @@ -498,6 +498,9 @@ def create_pkg_record(
)
)

# 配置文件已写入DB,从插件包中移除
os.remove(template_file_path)

proc_control, __ = models.ProcControl.objects.get_or_create(
plugin_package_id=pkg_record.id, defaults=dict(module="gse_plugin", project=pkg_parse_info["project"])
)
Expand Down Expand Up @@ -554,7 +557,7 @@ def create_pkg_record(
# 判断是否第三方插件的路径
arcname=f"{constants.PluginChildDir.EXTERNAL.value}/{project}"
if is_external
else f"{constants.PluginChildDir.OFFICIAL.value}/{project}",
else f"{constants.PluginChildDir.OFFICIAL.value}/",
)
logger.info(
"project -> {project} version -> {version} now is pack to package_tmp_path -> {package_tmp_path}".format(
Expand Down
30 changes: 30 additions & 0 deletions apps/backend/tests/plugin/test_manage_commands.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# -*- coding: utf-8 -*-
"""
TencentBlueKing is pleased to support the open source community by making 蓝鲸智云-节点管理(BlueKing-BK-NODEMAN) available.
Copyright (C) 2017-2021 THL A29 Limited, a Tencent company. All rights reserved.
Licensed under the MIT License (the "License"); you may not use this file except in compliance with the License.
You may obtain a copy of the License at https://opensource.org/licenses/MIT
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
specific language governing permissions and limitations under the License.
"""

from django.conf import settings
from django.core.management import call_command

from apps.backend.tests.plugin import utils
from apps.node_man import models


class ImportCommandTestCase(utils.PluginBaseTestCase):
@classmethod
def setUpTestData(cls):
cls.OVERWRITE_OBJ__KV_MAP[settings].update(BK_OFFICIAL_PLUGINS_INIT_PATH=cls.TMP_DIR)
super().setUpTestData()

def test_import_command(self):
"""测试导入命令"""
call_command("init_official_plugins")
self.assertTrue(models.Packages.objects.all().exists())
self.assertTrue(models.UploadPackage.objects.all().exists())
self.assertTrue(models.PluginConfigTemplate.objects.all().exists())
Loading

0 comments on commit 649a6ad

Please sign in to comment.