feat(registry): add new endpoints for registers, exchange, and backups; update routing and configurations
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

This commit is contained in:
2026-03-04 15:36:57 +01:00
parent 052389d921
commit a91ed1f1ae
90 changed files with 5488 additions and 622 deletions

View File

@@ -3,49 +3,47 @@
from __future__ import annotations
import json
import requests
from urllib.parse import parse_qs
from django.test import SimpleTestCase
from requests.adapters import BaseAdapter
import requests
from apps.parsers.clients.checko import (
CheckoClient,
BankRequest,
CaseRole,
CheckoAPIError,
CheckoClient,
CheckoConnectionError,
CheckoNotFoundError,
CheckoRateLimitError,
CheckoValidationError,
CheckoConnectionError,
BankRequest,
CompanyRequest,
ContractLaw,
ContractRole,
ContractsRequest,
EntrepreneurRequest,
EnforcementsRequest,
EntrepreneurRequest,
FinancesRequest,
InspectionsRequest,
LegalCasesRequest,
ObjectType,
PersonRequest,
SearchRequest,
CaseRole,
ContractRole,
SearchType,
ObjectType,
ContractLaw,
SortOrder,
)
from apps.parsers.clients.checko.datasets import (
OKVED2,
OKFS,
OKOPF,
OKPD,
OKPD2,
OKVED2,
AccountCodes,
CompanyStatuses,
EntrepreneurStatuses,
)
from django.test import SimpleTestCase
from requests.adapters import BaseAdapter
from tests.utils import TestHTTPServer, Response
from tests.utils import Response, TestHTTPServer
from tests.utils.fixtures import fake
@@ -125,7 +123,9 @@ class CheckoClientValidationTest(SimpleTestCase):
def test_search_request_min_query_length(self):
with self.assertRaises(CheckoValidationError) as context:
self.client.search(
SearchRequest(by=SearchType.NAME, obj=ObjectType.ORGANIZATION, query="abc")
SearchRequest(
by=SearchType.NAME, obj=ObjectType.ORGANIZATION, query="abc"
)
)
self.assertIn("4", str(context.exception))
@@ -241,6 +241,7 @@ class CheckoRequestParamsTest(SimpleTestCase):
bank = BankRequest(bic=_digits(9))
self.assertEqual(bank.to_params()["bic"], bank.bic)
class CheckoClientApiTest(SimpleTestCase):
def test_get_company_success(self):
inn = "".join(str(fake.random_int(0, 9)) for _ in range(10))
@@ -279,7 +280,11 @@ class CheckoClientApiTest(SimpleTestCase):
)
client = _client_for(server)
with self.assertRaises(CheckoNotFoundError):
client.get_company(CompanyRequest(inn="".join(str(fake.random_int(0, 9)) for _ in range(10))))
client.get_company(
CompanyRequest(
inn="".join(str(fake.random_int(0, 9)) for _ in range(10))
)
)
def test_get_entrepreneur_success(self):
ogrnip = "".join(str(fake.random_int(0, 9)) for _ in range(15))
@@ -468,7 +473,11 @@ class CheckoClientApiTest(SimpleTestCase):
)
client = _client_for(server)
with self.assertRaises(CheckoAPIError):
client.get_company(CompanyRequest(inn="".join(str(fake.random_int(0, 9)) for _ in range(10))))
client.get_company(
CompanyRequest(
inn="".join(str(fake.random_int(0, 9)) for _ in range(10))
)
)
def test_rate_limit_error_handling(self):
with TestHTTPServer() as server:
@@ -478,7 +487,11 @@ class CheckoClientApiTest(SimpleTestCase):
)
client = _client_for(server)
with self.assertRaises(CheckoRateLimitError):
client.get_company(CompanyRequest(inn="".join(str(fake.random_int(0, 9)) for _ in range(10))))
client.get_company(
CompanyRequest(
inn="".join(str(fake.random_int(0, 9)) for _ in range(10))
)
)
def test_not_found_error_handling(self):
with TestHTTPServer() as server:
@@ -488,7 +501,11 @@ class CheckoClientApiTest(SimpleTestCase):
)
client = _client_for(server)
with self.assertRaises(CheckoNotFoundError):
client.get_company(CompanyRequest(inn="".join(str(fake.random_int(0, 9)) for _ in range(10))))
client.get_company(
CompanyRequest(
inn="".join(str(fake.random_int(0, 9)) for _ in range(10))
)
)
class CheckoClientExtraEndpointsTest(SimpleTestCase):
@@ -564,9 +581,7 @@ class CheckoClientExtraEndpointsTest(SimpleTestCase):
with TestHTTPServer() as server:
server.add_route("GET", "/v2/inspections", inspections_handler)
client = _client_for(server)
inspections = list(
client.iter_inspections(InspectionsRequest(inn=inn))
)
inspections = list(client.iter_inspections(InspectionsRequest(inn=inn)))
self.assertTrue(inspections)
@@ -599,9 +614,7 @@ class CheckoClientExtraEndpointsTest(SimpleTestCase):
with TestHTTPServer() as server:
server.add_route("GET", "/v2/inspections", inspections_handler)
client = _client_for(server)
inspections = list(
client.iter_inspections(InspectionsRequest(inn=inn))
)
inspections = list(client.iter_inspections(InspectionsRequest(inn=inn)))
self.assertEqual(len(inspections), 1)
@@ -642,9 +655,7 @@ class CheckoClientExtraEndpointsTest(SimpleTestCase):
page = int(params.get("page", ["1"])[0])
payload = {
"data": {
"enforcements": [
{"number": fake.bothify(text="##-####")}
],
"enforcements": [{"number": fake.bothify(text="##-####")}],
"pagination": {
"total_records": 2,
"total_pages": 2,
@@ -664,9 +675,7 @@ class CheckoClientExtraEndpointsTest(SimpleTestCase):
with TestHTTPServer() as server:
server.add_route("GET", "/v2/enforcements", enforcements_handler)
client = _client_for(server)
enforcements = list(
client.iter_enforcements(EnforcementsRequest(inn=inn))
)
enforcements = list(client.iter_enforcements(EnforcementsRequest(inn=inn)))
self.assertTrue(enforcements)
@@ -676,9 +685,7 @@ class CheckoClientExtraEndpointsTest(SimpleTestCase):
def enforcements_handler(_req, _body):
payload = {
"data": {
"enforcements": [
{"number": fake.bothify(text="##-####")}
],
"enforcements": [{"number": fake.bothify(text="##-####")}],
"pagination": {
"total_records": 1,
"total_pages": 1,
@@ -696,9 +703,7 @@ class CheckoClientExtraEndpointsTest(SimpleTestCase):
with TestHTTPServer() as server:
server.add_route("GET", "/v2/enforcements", enforcements_handler)
client = _client_for(server)
enforcements = list(
client.iter_enforcements(EnforcementsRequest(inn=inn))
)
enforcements = list(client.iter_enforcements(EnforcementsRequest(inn=inn)))
self.assertEqual(len(enforcements), 1)