Skip to content

Commit

Permalink
fix(doc): fix doc import (#1116)
Browse files Browse the repository at this point in the history
  • Loading branch information
Han-Ya-Jun authored Nov 19, 2024
1 parent 9a44238 commit 3c544c0
Show file tree
Hide file tree
Showing 5 changed files with 53 additions and 29 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,9 @@ class DocArchiveParseOutputSLZ(serializers.Serializer):


class SelectedResourceDocSLZ(serializers.Serializer):
language = serializers.ChoiceField(choices=DocLanguageEnum.get_choices(), help_text="文档语言,en: 英文,zh: 中文")
language = serializers.ChoiceField(
choices=DocLanguageEnum.get_choices(), required=False, help_text="文档语言,en: 英文,zh: 中文"
)
resource_name = serializers.CharField(help_text="资源名称")


Expand All @@ -68,6 +70,17 @@ class DocImportBySwaggerInputSLZ(serializers.Serializer):
language = serializers.ChoiceField(choices=DocLanguageEnum.get_choices(), help_text="文档语言,en: 英文,zh: 中文")
swagger = serializers.CharField(help_text="导入的 Swagger 文档")

def validate(self, data):
language = data.get("language")
selected_resource_docs = data.get("selected_resource_docs", [])

# Loop through each resource doc and set the language if not specified
for resource_doc in selected_resource_docs:
if "language" not in resource_doc or not resource_doc["language"]:
resource_doc["language"] = language

return data


class ResourceFilterConditionSLZ(serializers.Serializer):
"""导出资源文档时,当导出类型为:已筛选资源时,此处为筛选条件"""
Expand Down
4 changes: 3 additions & 1 deletion src/dashboard/apigateway/apigateway/apps/permission/tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -262,7 +262,9 @@ def _get_permissions_expiring_soon(self) -> Dict[str, List]:
"gateway_id": permission.gateway_id,
"expire_days": int(permission.expires_in / ONE_DAY_SECONDS),
"grant_dimension": GrantDimensionEnum.RESOURCE.value,
"grant_dimension_display": GrantDimensionEnum.get_choice_label(GrantDimensionEnum.RESOURCE.value),
"grant_dimension_display": GrantDimensionEnum.get_choice_label(
GrantDimensionEnum.RESOURCE.value
),
"resource_id": permission.resource_id,
}
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@


class TestAppPermissionViewSet:

def test_list(self, fake_resource, request_view):
fake_gateway = fake_resource.gateway

Expand Down Expand Up @@ -105,9 +104,9 @@ def test_renew(self):
data = [
{
"params": {
"resource_dimension_ids": [resource_p1.id],
"gateway_dimension_ids": [],
"expire_days": 180,
"resource_dimension_ids": [resource_p1.id],
"gateway_dimension_ids": [],
"expire_days": 180,
},
},
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -212,21 +212,21 @@ def test_complete_permissions(self, fake_resource_ctx, unique_id):
gateway=fake_gateway,
expires=now + datetime.timedelta(days=1),
bk_app_code=unique_id,
resource_id=resource1.id
resource_id=resource1.id,
)
G(
AppResourcePermission,
gateway=fake_gateway,
expires=now + datetime.timedelta(days=2),
bk_app_code=unique_id,
resource_id=resource2.id
resource_id=resource2.id,
)
G(
AppResourcePermission,
gateway=fake_gateway,
expires=now + datetime.timedelta(days=3),
bk_app_code=unique_id,
resource_id=resource3.id
resource_id=resource3.id,
)

alerter = AppPermissionExpiringSoonAlerter(30, [])
Expand Down
50 changes: 30 additions & 20 deletions src/dashboard/apigateway/apigateway/tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -341,50 +341,60 @@ def fake_resource_ctx(fake_gateway):
scope_type=ContextScopeTypeEnum.RESOURCE.value,
type=ContextTypeEnum.RESOURCE_AUTH.value,
scope_id=resource1.id,
_config=json.dumps({
"resource_perm_required": True,
"app_verified_required": True,
}),
_config=json.dumps(
{
"resource_perm_required": True,
"app_verified_required": True,
}
),
)
G(
Context,
scope_type=ContextScopeTypeEnum.RESOURCE.value,
type=ContextTypeEnum.RESOURCE_AUTH.value,
scope_id=resource2.id,
_config=json.dumps({
"resource_perm_required": True,
"app_verified_required": True,
}),
_config=json.dumps(
{
"resource_perm_required": True,
"app_verified_required": True,
}
),
)
G(
Context,
scope_type=ContextScopeTypeEnum.RESOURCE.value,
type=ContextTypeEnum.RESOURCE_AUTH.value,
scope_id=resource3.id,
_config=json.dumps({
"resource_perm_required": True,
"app_verified_required": True,
}),
_config=json.dumps(
{
"resource_perm_required": True,
"app_verified_required": True,
}
),
)
G(
Context,
scope_type=ContextScopeTypeEnum.RESOURCE.value,
type=ContextTypeEnum.RESOURCE_AUTH.value,
scope_id=resource4.id,
_config=json.dumps({
"resource_perm_required": False,
"app_verified_required": True,
}),
_config=json.dumps(
{
"resource_perm_required": False,
"app_verified_required": True,
}
),
)
G(
Context,
scope_type=ContextScopeTypeEnum.RESOURCE.value,
type=ContextTypeEnum.RESOURCE_AUTH.value,
scope_id=resource5.id,
_config=json.dumps({
"resource_perm_required": True,
"app_verified_required": False,
}),
_config=json.dumps(
{
"resource_perm_required": True,
"app_verified_required": False,
}
),
)
return [resource1, resource2, resource3, resource4, resource5]

Expand Down

0 comments on commit 3c544c0

Please sign in to comment.