From 6e9174aaf720e70fcc8ff0ff3d48b38b9dd09a05 Mon Sep 17 00:00:00 2001 From: Andrii Bodnar Date: Wed, 26 Jul 2023 09:21:51 +0300 Subject: [PATCH] fix: 'unassignLabelFromStrings' - 'stringIds' parameter --- .../com/crowdin/client/labels/LabelsApi.java | 6 +- src/test/java/com/crowdin/client/.DS_Store | Bin 0 -> 6148 bytes .../crowdin/client/labels/LabelsApiTest.java | 54 ++++++++---------- 3 files changed, 29 insertions(+), 31 deletions(-) create mode 100644 src/test/java/com/crowdin/client/.DS_Store diff --git a/src/main/java/com/crowdin/client/labels/LabelsApi.java b/src/main/java/com/crowdin/client/labels/LabelsApi.java index 6c752d4f8..e91fc37c1 100644 --- a/src/main/java/com/crowdin/client/labels/LabelsApi.java +++ b/src/main/java/com/crowdin/client/labels/LabelsApi.java @@ -133,15 +133,17 @@ public ResponseList assignLabelToStrings(Long projectId, Long labe /** * @param projectId Project Identifier * @param labelId Label Identifier + * @param stringIds List of string IDs * @return Source string * @see */ - public ResponseList unassignLabelFromStrings(Long projectId, Long labelId) throws HttpException, HttpBadRequestException { + public ResponseList unassignLabelFromStrings(Long projectId, Long labelId, List stringIds) throws HttpException, HttpBadRequestException { String builtUrl = String.format("%s/projects/%d/labels/%d/strings", this.url, projectId, labelId); - SourceStringResponseList response = this.httpClient.delete(builtUrl, new HttpRequestConfig(), SourceStringResponseList.class); + Map> queryParams = HttpRequestConfig.buildUrlParams("stringIds", Optional.ofNullable(stringIds == null ? null : stringIds.stream().map(String::valueOf).collect(Collectors.joining(",")))); + SourceStringResponseList response = this.httpClient.delete(builtUrl, new HttpRequestConfig(queryParams), SourceStringResponseList.class); return SourceStringResponseList.to(response); } diff --git a/src/test/java/com/crowdin/client/.DS_Store b/src/test/java/com/crowdin/client/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..b4d169ef6078b01c0591a731d73fd01e43442932 GIT binary patch literal 6148 zcmeHKOAbLn5bQ=oVqegC)^Fupj;8vv;jv>Q)k#my^mNT+YVrED zi0JgPnTU);WB@mmn+Hg$K#o*^3Op;&jpfMd{~Z3I z|9>WNMFpt9Un!uy*vccM1kC$3QQ~SXen8ds5^Tn`6Hw UHi1q@-0496445u7D)4Is9urs urlParams = new HashMap() {{ + + private final Map unassignLabelToScreenshotsUrlParams = new HashMap() {{ put("screenshotIds", "1"); }}; + private final Map unassignLabelToStringTestUrlParams = new HashMap() {{ + put("stringIds", "1"); + }}; @Override public List getMocks() { return Arrays.asList( - RequestMock.build(String.format("%s/projects/%d/labels", this.url, projectId), HttpGet.METHOD_NAME, - "api/labels/listLabels.json"), - RequestMock.build(String.format("%s/projects/%d/labels", this.url, projectId), HttpPost.METHOD_NAME, - "api/labels/addLabelRequest.json", "api/labels/label.json"), - RequestMock.build(String.format("%s/projects/%d/labels/%d", this.url, projectId, labelId), HttpGet.METHOD_NAME, - "api/labels/label.json"), - RequestMock.build(String.format("%s/projects/%d/labels/%d", this.url, projectId, labelId), HttpDelete.METHOD_NAME), - RequestMock.build(String.format("%s/projects/%d/labels/%d", this.url, projectId, labelId), HttpPatch.METHOD_NAME, - "api/labels/editLabelRequest.json", "api/labels/label.json"), - RequestMock.build(String.format("%s/projects/%d/labels/%d/strings", this.url, projectId, labelId), HttpPost.METHOD_NAME, - "api/labels/labelToStringsRequest.json", "api/labels/listStrings.json"), - RequestMock.build(String.format("%s/projects/%d/labels/%d/strings", this.url, projectId, labelId), HttpDelete.METHOD_NAME, - "api/labels/listStrings.json"), - RequestMock.build(String.format("%s/projects/%d/labels/%d/screenshots", this.url, projectId, labelId), HttpPost.METHOD_NAME, - "api/labels/labelToScreenshotsRequest.json", "api/labels/listScreenshots.json"), - RequestMock.build(String.format("%s/projects/%d/labels/%d/screenshots", this.url, projectId, labelId), HttpDelete.METHOD_NAME, - "api/labels/listScreenshots.json", urlParams) + RequestMock.build(String.format("%s/projects/%d/labels", this.url, projectId), HttpGet.METHOD_NAME, + "api/labels/listLabels.json"), + RequestMock.build(String.format("%s/projects/%d/labels", this.url, projectId), HttpPost.METHOD_NAME, + "api/labels/addLabelRequest.json", "api/labels/label.json"), + RequestMock.build(String.format("%s/projects/%d/labels/%d", this.url, projectId, labelId), HttpGet.METHOD_NAME, + "api/labels/label.json"), + RequestMock.build(String.format("%s/projects/%d/labels/%d", this.url, projectId, labelId), HttpDelete.METHOD_NAME), + RequestMock.build(String.format("%s/projects/%d/labels/%d", this.url, projectId, labelId), HttpPatch.METHOD_NAME, + "api/labels/editLabelRequest.json", "api/labels/label.json"), + RequestMock.build(String.format("%s/projects/%d/labels/%d/strings", this.url, projectId, labelId), HttpPost.METHOD_NAME, + "api/labels/labelToStringsRequest.json", "api/labels/listStrings.json"), + RequestMock.build(String.format("%s/projects/%d/labels/%d/strings", this.url, projectId, labelId), HttpDelete.METHOD_NAME, + "api/labels/listStrings.json", unassignLabelToStringTestUrlParams), + RequestMock.build(String.format("%s/projects/%d/labels/%d/screenshots", this.url, projectId, labelId), HttpPost.METHOD_NAME, + "api/labels/labelToScreenshotsRequest.json", "api/labels/listScreenshots.json"), + RequestMock.build(String.format("%s/projects/%d/labels/%d/screenshots", this.url, projectId, labelId), HttpDelete.METHOD_NAME, + "api/labels/listScreenshots.json", unassignLabelToScreenshotsUrlParams) ); } @@ -117,8 +115,8 @@ public void assignLabelToStringTest() { } @Test - public void unassignLabelToStringTest() { - ResponseList response = this.getLabelsApi().unassignLabelFromStrings(projectId, labelId); + public void unassignLabelFromStringTest() { + ResponseList response = this.getLabelsApi().unassignLabelFromStrings(projectId, labelId, Arrays.asList(1L)); assertEquals(1, response.getData().size()); } @@ -133,9 +131,7 @@ public void assignLabelToScreenshot() { @Test public void unassignLabelToScreenshot() { - List screenshotIds= Arrays.asList(1L); - ResponseList response = this.getLabelsApi().unassignLabelFromScreenshots(projectId, labelId, screenshotIds); + ResponseList response = this.getLabelsApi().unassignLabelFromScreenshots(projectId, labelId, Arrays.asList(1L)); assertEquals(1, response.getData().size()); - } }