Deepl API

This package contains tests of the integreat_cms.deepl_api app

Deepl API Test

tests.deepl_api.deepl_api_test.get_content_translations(content_model: ModelBase, ids: list[int], *language_slugs: str) list[dict[str, Any]][source]

Load the translations for the given content model from the database

Parameters:
  • content_model (ModelBase) – Name of the requested data model (Page, Event or POI)

  • ids (list[int]) – List of ids of the requested model entries

  • language_slugs (str) – List of the requested language slugs

Returns:

Content translations

Return type:

list[dict[str, Any]]

tests.deepl_api.deepl_api_test.get_word_count(translations: list[EventTranslation] | list[PageTranslation] | list[POITranslation]) int[source]

Count the total number of words in the title, content and meta-description of translations

Parameters:

translations (list[EventTranslation] | list[PageTranslation] | list[POITranslation]) – List of translations (Pages, Events or POIs)

Returns:

Word count

Return type:

int

tests.deepl_api.deepl_api_test.setup_deepl_supported_languages(source_languages: list[str], target_languages: list[str]) None[source]

Setup DeepL API supported languages

Parameters:
  • source_languages (list[str]) – The supported source languages

  • target_languages (list[str]) – The supported target languages

Return type:

None

tests.deepl_api.deepl_api_test.setup_fake_deepl_api_server(mock_server: MockServer) None[source]

Setup a mocked DeepL API server with dummy response

Parameters:

mock_server (MockServer) – The fixture providing the mock http server for faking the DeepL API server

Return type:

None

tests.deepl_api.deepl_api_test.test_deepl_bulk_mt_api_error(load_test_data: None, login_role_user: tuple[Client, str], error: int, settings: SettingsWrapper, mock_server: MockServer, caplog: LogCaptureFixture) None[source]

Check for error handling when DeepL API returns server error

Parameters:
  • load_test_data (None) – The fixture providing the test data (see load_test_data())

  • login_role_user (tuple[Client, str]) – The fixture providing the http client and the current role (see login_role_user())

  • error (int) – The error status to test

  • settings (SettingsWrapper) – The fixture providing the django settings

  • mock_server (MockServer) – The fixture providing the mock http server used for faking the DeepL API server

  • caplog (LogCaptureFixture) – The caplog fixture

Return type:

None

tests.deepl_api.deepl_api_test.test_deepl_bulk_mt_events(load_test_data: None, login_role_user: tuple[Client, str], settings: SettingsWrapper, mock_server: MockServer, caplog: LogCaptureFixture) None[source]

Check for bulk machine translation of events via the DeepL API

Parameters:
  • load_test_data (None) – The fixture providing the test data (see load_test_data())

  • login_role_user (tuple[Client, str]) – The fixture providing the http client and the current role (see login_role_user())

  • settings (SettingsWrapper) – The fixture providing the django settings

  • mock_server (MockServer) – The fixture providing the mock http server used for faking the DeepL API server

  • caplog (LogCaptureFixture) – The caplog fixture

Return type:

None

tests.deepl_api.deepl_api_test.test_deepl_bulk_mt_exceeds_limit(load_test_data: None, login_role_user: tuple[Client, str], settings: SettingsWrapper, caplog: LogCaptureFixture) None[source]

Check for bulk machine translation error when the attempted translation would exceed the region’s word limit

Parameters:
  • load_test_data (None) – The fixture providing the test data (see load_test_data())

  • login_role_user (tuple[Client, str]) – The fixture providing the http client and the current role (see login_role_user())

  • settings (SettingsWrapper) – The fixture providing the django settings

  • caplog (LogCaptureFixture) – The caplog fixture

Return type:

None

tests.deepl_api.deepl_api_test.test_deepl_bulk_mt_no_source_language(load_test_data: None, login_role_user: tuple[Client, str], settings: SettingsWrapper, caplog: LogCaptureFixture) None[source]

Check for bulk machine translation error when the source language is not available

Parameters:
  • load_test_data (None) – The fixture providing the test data (see load_test_data())

  • login_role_user (tuple[Client, str]) – The fixture providing the http client and the current role (see login_role_user())

  • settings (SettingsWrapper) – The fixture providing the django settings

  • caplog (LogCaptureFixture) – The caplog fixture

Return type:

None

tests.deepl_api.deepl_api_test.test_deepl_bulk_mt_no_target_language(load_test_data: None, login_role_user: tuple[Client, str], settings: SettingsWrapper, caplog: LogCaptureFixture) None[source]

Check for bulk machine translation error when the target language is not available

Parameters:
  • load_test_data (None) – The fixture providing the test data (see load_test_data())

  • login_role_user (tuple[Client, str]) – The fixture providing the http client and the current role (see login_role_user())

  • settings (SettingsWrapper) – The fixture providing the django settings

  • caplog (LogCaptureFixture) – The caplog fixture

Return type:

None

tests.deepl_api.deepl_api_test.test_deepl_bulk_mt_pages(load_test_data: None, login_role_user: tuple[Client, str], settings: SettingsWrapper, mock_server: MockServer, caplog: LogCaptureFixture) None[source]

Check for bulk machine translation of pages via the DeepL API

Parameters:
  • load_test_data (None) – The fixture providing the test data (see load_test_data())

  • login_role_user (tuple[Client, str]) – The fixture providing the http client and the current role (see login_role_user())

  • settings (SettingsWrapper) – The fixture providing the django settings

  • mock_server (MockServer) – The fixture providing the mock http server used for faking the DeepL API server

  • caplog (LogCaptureFixture) – The caplog fixture

Return type:

None

tests.deepl_api.deepl_api_test.test_deepl_bulk_mt_pois(load_test_data: None, login_role_user: tuple[Client, str], settings: SettingsWrapper, mock_server: MockServer, caplog: LogCaptureFixture) None[source]

Check for bulk machine translation of pois via the DeepL API

Parameters:
  • load_test_data (None) – The fixture providing the test data (see load_test_data())

  • login_role_user (tuple[Client, str]) – The fixture providing the http client and the current role (see login_role_user())

  • settings (SettingsWrapper) – The fixture providing the django settings

  • mock_server (MockServer) – The fixture providing the mock http server used for faking the DeepL API server

  • caplog (LogCaptureFixture) – The caplog fixture

Return type:

None

tests.deepl_api.deepl_api_test.test_deepl_bulk_mt_up_to_date(load_test_data: None, login_role_user: tuple[Client, str], settings: SettingsWrapper, caplog: LogCaptureFixture) None[source]

Check for bulk machine translation error when one of the target translations is up-to-date and the other is machine translated

Parameters:
  • load_test_data (None) – The fixture providing the test data (see load_test_data())

  • login_role_user (tuple[Client, str]) – The fixture providing the http client and the current role (see login_role_user())

  • settings (SettingsWrapper) – The fixture providing the django settings

  • caplog (LogCaptureFixture) – The caplog fixture

Return type:

None

tests.deepl_api.deepl_api_test.test_deepl_bulk_mt_up_to_date_and_ready_for_mt(load_test_data: None, login_role_user: tuple[Client, str], settings: SettingsWrapper, mock_server: MockServer, caplog: LogCaptureFixture) None[source]

Check for bulk machine translation when one of the target translations is up-to-date and the other is ready for MT

Parameters:
  • load_test_data (None) – The fixture providing the test data (see load_test_data())

  • login_role_user (tuple[Client, str]) – The fixture providing the http client and the current role (see login_role_user())

  • settings (SettingsWrapper) – The fixture providing the django settings

  • mock_server (MockServer) – The fixture providing the dummy http server used for faking the DeepL API server

  • caplog (LogCaptureFixture) – The caplog fixture

Return type:

None

tests.deepl_api.deepl_api_test.test_deepl_event_automatic_translation(load_test_data: None, login_role_user: tuple[Client, str], settings: SettingsWrapper, mock_server: MockServer, caplog: LogCaptureFixture) None[source]

Check machine translation of the event when automatic_translation checkbox in set on the event form

Parameters:
  • load_test_data (None) – The fixture providing the test data (see load_test_data())

  • login_role_user (tuple[Client, str]) – The fixture providing the http client and the current role (see login_role_user())

  • settings (SettingsWrapper) – The fixture providing the django settings

  • mock_server (MockServer) – The fixture providing the mock http server used for faking the DeepL API server

  • caplog (LogCaptureFixture) – The caplog fixture

Return type:

None

tests.deepl_api.deepl_api_test.test_deepl_page_automatic_translation(load_test_data: None, login_role_user: tuple[Client, str], settings: SettingsWrapper, mock_server: MockServer, caplog: LogCaptureFixture) None[source]

Check machine translation of the page when automatic_translation checkbox in set on the page form

Parameters:
  • load_test_data (None) – The fixture providing the test data (see load_test_data())

  • login_role_user (tuple[Client, str]) – The fixture providing the http client and the current role (see login_role_user())

  • settings (SettingsWrapper) – The fixture providing the django settings

  • mock_server (MockServer) – The fixture providing the mock http server used for faking the DeepL API server

  • caplog (LogCaptureFixture) – The caplog fixture

Return type:

None

tests.deepl_api.deepl_api_test.test_deepl_poi_automatic_translation(load_test_data: None, login_role_user: tuple[Client, str], settings: SettingsWrapper, mock_server: MockServer, caplog: LogCaptureFixture) None[source]

Check machine translation of the POI when automatic_translation checkbox in set on the POI form

Parameters:
  • load_test_data (None) – The fixture providing the test data (see load_test_data())

  • login_role_user (tuple[Client, str]) – The fixture providing the http client and the current role (see login_role_user())

  • settings (SettingsWrapper) – The fixture providing the django settings

  • mock_server (MockServer) – The fixture providing the mock http server used for faking the DeepL API server

  • caplog (LogCaptureFixture) – The caplog fixture

Return type:

None