feat: expand registry ingestion and demo exchange
This commit is contained in:
@@ -17,6 +17,15 @@ from tests.utils import TestHTTPServer
|
||||
|
||||
|
||||
class TrudvsemClientTest(SimpleTestCase):
|
||||
def test_default_base_url_uses_https_transport(self):
|
||||
with TestHTTPServer() as server:
|
||||
server.add_json("/api/v1/vacancies", {"results": {"vacancies": []}})
|
||||
with TrudvsemClient(http_adapter=server.adapter) as client:
|
||||
records = client.fetch_vacancies(limit=1)
|
||||
|
||||
self.assertEqual(records, [])
|
||||
self.assertEqual(client.base_url, "https://opendata.trudvsem.ru/api/v1")
|
||||
|
||||
def test_fetch_vacancies_by_company_inn_uses_company_endpoint(self):
|
||||
with TestHTTPServer() as server:
|
||||
server.add_json(
|
||||
@@ -78,6 +87,7 @@ class HHVacanciesClientTest(SimpleTestCase):
|
||||
},
|
||||
)
|
||||
client = HHVacanciesClient(
|
||||
user_agent="Mostovik/1.0 (ops@example.test)",
|
||||
base_url=server.base_url,
|
||||
http_adapter=server.adapter,
|
||||
)
|
||||
@@ -93,6 +103,10 @@ class HHVacanciesClientTest(SimpleTestCase):
|
||||
self.assertEqual(record.amount, Decimal("120000"))
|
||||
self.assertEqual(record.url, "https://hh.ru/vacancy/123")
|
||||
self.assertEqual(record.payload["vacancy_source"], "hh")
|
||||
self.assertEqual(
|
||||
client.http_client.session.headers["HH-User-Agent"],
|
||||
"Mostovik/1.0 (ops@example.test)",
|
||||
)
|
||||
|
||||
def test_fetch_vacancies_tolerates_unexpected_nested_shapes(self):
|
||||
with TestHTTPServer() as server:
|
||||
@@ -111,6 +125,7 @@ class HHVacanciesClientTest(SimpleTestCase):
|
||||
},
|
||||
)
|
||||
client = HHVacanciesClient(
|
||||
user_agent="Mostovik/1.0 (ops@example.test)",
|
||||
base_url=server.base_url,
|
||||
http_adapter=server.adapter,
|
||||
)
|
||||
@@ -122,6 +137,21 @@ class HHVacanciesClientTest(SimpleTestCase):
|
||||
self.assertEqual(records[0].organisation_name, "")
|
||||
self.assertIsNone(records[0].amount)
|
||||
|
||||
def test_fetch_vacancies_requires_hh_user_agent_before_request(self):
|
||||
with TestHTTPServer() as server:
|
||||
server.add_json("/vacancies", {"items": []})
|
||||
client = HHVacanciesClient(
|
||||
user_agent=" ",
|
||||
base_url=server.base_url,
|
||||
http_adapter=server.adapter,
|
||||
)
|
||||
|
||||
with self.assertRaisesMessage(
|
||||
VacanciesClientError,
|
||||
"HH_USER_AGENT is required",
|
||||
):
|
||||
client.fetch_vacancies(limit=1)
|
||||
|
||||
|
||||
class SuperJobVacanciesClientTest(SimpleTestCase):
|
||||
def test_fetch_vacancies_maps_superjob_objects_to_generic_records(self):
|
||||
|
||||
Reference in New Issue
Block a user