Files
mostovik-backend/tests/apps/core/test_openapi.py
Aleksandr Meshchriakov a91ed1f1ae
Some checks failed
CI/CD Pipeline / Code Quality Checks (push) Failing after 3m10s
CI/CD Pipeline / Run Tests (push) Successful in 3m35s
CI/CD Pipeline / Telegram Notify Success (push) Has been skipped
CI/CD Pipeline / Code Quality Checks (pull_request) Failing after 2m26s
CI/CD Pipeline / Run Tests (pull_request) Successful in 2m46s
CI/CD Pipeline / Telegram Notify Success (pull_request) Has been skipped
feat(registry): add new endpoints for registers, exchange, and backups; update routing and configurations
2026-03-04 15:36:57 +01:00

43 lines
1.3 KiB
Python

"""Tests for OpenAPI helpers."""
from __future__ import annotations
from apps.core.openapi import _get_status_description, api_docs, swagger_tag
from django.test import SimpleTestCase, override_settings
from drf_yasg import openapi
from rest_framework import serializers
class DummySerializer(serializers.Serializer):
name = serializers.CharField()
class OpenAPIDocsTest(SimpleTestCase):
def test_get_status_description_default(self):
self.assertEqual(_get_status_description(418), "HTTP 418")
def test_api_docs_builds_responses(self):
decorator = api_docs(
summary="Test",
description="Desc",
responses={
200: DummySerializer,
404: "Not found",
400: openapi.Response(description="Bad request"),
},
tags=["tag"],
)
def view(_request):
return None
decorated = decorator(view)
self.assertTrue(callable(decorated))
def test_swagger_tag_default_russian(self):
self.assertEqual(swagger_tag("Пользователь", "User"), "Пользователь")
@override_settings(OPENAPI_USE_ENGLISH_TAGS=True)
def test_swagger_tag_english_in_dev_mode(self):
self.assertEqual(swagger_tag("Пользователь", "User"), "User")