diff --git a/crowdin_api/api_resources/distributions/resource.py b/crowdin_api/api_resources/distributions/resource.py index bbf719d..3fd89ff 100644 --- a/crowdin_api/api_resources/distributions/resource.py +++ b/crowdin_api/api_resources/distributions/resource.py @@ -1,3 +1,4 @@ +import warnings from typing import Iterable, Optional from crowdin_api.api_resources.abstract.resources import BaseResource @@ -46,7 +47,7 @@ def add_distribution( projectId: Optional[int] = None, fileIds: Optional[Iterable[int]] = None, bundleIds: Optional[Iterable[int]] = None, - exportMode: Optional[ExportMode] = ExportMode.DEFAULT, + exportMode: Optional[ExportMode] = None, ): """ Add Distribution. @@ -57,6 +58,18 @@ def add_distribution( projectId = projectId or self.get_project_id() + if exportMode is not None: + warnings.warn( + "`exportMode` is deprecated, omit this parameter to use the API default behavior", + DeprecationWarning, + ) + + if fileIds is not None: + warnings.warn( + "`fileIds` is deprecated, use `bundleIds` instead", + DeprecationWarning, + ) + return self.requester.request( method="post", path=self.get_distributions_path(projectId=projectId), diff --git a/crowdin_api/api_resources/distributions/tests/test_distributions_resources.py b/crowdin_api/api_resources/distributions/tests/test_distributions_resources.py index 60da7a4..920d989 100644 --- a/crowdin_api/api_resources/distributions/tests/test_distributions_resources.py +++ b/crowdin_api/api_resources/distributions/tests/test_distributions_resources.py @@ -56,7 +56,7 @@ def test_list_distributions(self, m_request, base_absolut_url): "name": "test", "fileIds": [1, 2, 3], "bundleIds": None, - "exportMode": ExportMode.DEFAULT + "exportMode": None }, ), ( @@ -79,13 +79,30 @@ def test_list_distributions(self, m_request, base_absolut_url): def test_add_distribution(self, m_request, incoming_data, request_data, base_absolut_url): m_request.return_value = "response" resource = self.get_resource(base_absolut_url) - assert resource.add_distribution(projectId=1, **incoming_data) == "response" + with pytest.warns(DeprecationWarning): + assert resource.add_distribution(projectId=1, **incoming_data) == "response" m_request.assert_called_once_with( method="post", path=resource.get_distributions_path(projectId=1), request_data=request_data, ) + @mock.patch("crowdin_api.requester.APIRequester.request") + def test_add_distribution_no_deprecated_params(self, m_request, base_absolut_url): + m_request.return_value = "response" + resource = self.get_resource(base_absolut_url) + assert resource.add_distribution(projectId=1, name="test", bundleIds=[1]) == "response" + m_request.assert_called_once_with( + method="post", + path=resource.get_distributions_path(projectId=1), + request_data={ + "exportMode": None, + "name": "test", + "fileIds": None, + "bundleIds": [1], + }, + ) + @mock.patch("crowdin_api.requester.APIRequester.request") def test_get_distribution(self, m_request, base_absolut_url): m_request.return_value = "response"