diff --git a/src/main/java/com/crowdin/client/distributions/model/DistributionRelease.java b/src/main/java/com/crowdin/client/distributions/model/DistributionRelease.java index b8ffbcc63..febd96da9 100644 --- a/src/main/java/com/crowdin/client/distributions/model/DistributionRelease.java +++ b/src/main/java/com/crowdin/client/distributions/model/DistributionRelease.java @@ -11,4 +11,10 @@ public class DistributionRelease { private String currentLanguageId; private Long currentFileId; private Date date; + private Error error; + + @Data + public static class Error { + private String message; + } } diff --git a/src/main/java/com/crowdin/client/distributions/model/DistributionStringsBasedRelease.java b/src/main/java/com/crowdin/client/distributions/model/DistributionStringsBasedRelease.java index 047229a1e..146a86bf9 100644 --- a/src/main/java/com/crowdin/client/distributions/model/DistributionStringsBasedRelease.java +++ b/src/main/java/com/crowdin/client/distributions/model/DistributionStringsBasedRelease.java @@ -11,4 +11,10 @@ public class DistributionStringsBasedRelease { private String currentLanguageId; private Long currentBranchId; private Date date; + private Error error; + + @Data + public static class Error { + private String message; + } } diff --git a/src/test/java/com/crowdin/client/distributions/DistributionsApiTest.java b/src/test/java/com/crowdin/client/distributions/DistributionsApiTest.java index b621fe076..e3209eda1 100644 --- a/src/test/java/com/crowdin/client/distributions/DistributionsApiTest.java +++ b/src/test/java/com/crowdin/client/distributions/DistributionsApiTest.java @@ -29,6 +29,7 @@ public class DistributionsApiTest extends TestClient { private final Long projectId = 3L; private final Long stringsBasedProjectId = 4L; private final String hash = "asccvfd"; + private final String failedHash = "asccvfe"; private final String name = "distribution 1"; private final String name2 = "distribution 2"; @@ -44,7 +45,9 @@ public List getMocks() { RequestMock.build(this.url + "/projects/" + projectId + "/distributions/" + hash + "/release", HttpGet.METHOD_NAME, "api/distributions/release.json"), RequestMock.build(this.url + "/projects/" + projectId + "/distributions/" + hash + "/release", HttpPost.METHOD_NAME, "api/distributions/releaseRequest.json", "api/distributions/release.json"), RequestMock.build(this.url + "/projects/" + stringsBasedProjectId + "/distributions/" + hash + "/release", HttpGet.METHOD_NAME, "api/distributions/releaseStringsBased.json"), - RequestMock.build(this.url + "/projects/" + stringsBasedProjectId + "/distributions/" + hash + "/release", HttpPost.METHOD_NAME, "api/distributions/releaseRequest.json", "api/distributions/releaseStringsBased.json") + RequestMock.build(this.url + "/projects/" + stringsBasedProjectId + "/distributions/" + hash + "/release", HttpPost.METHOD_NAME, "api/distributions/releaseRequest.json", "api/distributions/releaseStringsBased.json"), + RequestMock.build(this.url + "/projects/" + projectId + "/distributions/" + failedHash + "/release", HttpGet.METHOD_NAME, "api/distributions/releaseFailed.json"), + RequestMock.build(this.url + "/projects/" + stringsBasedProjectId + "/distributions/" + failedHash + "/release", HttpGet.METHOD_NAME, "api/distributions/releaseStringsBasedFailed.json") ); } @@ -126,4 +129,18 @@ public void createDistributionReleaseStringsBasedTest() { ResponseObject distributionRelease = this.getDistributionsApi().createDistributionStringsBasedRelease(stringsBasedProjectId, hash); assertEquals(distributionRelease.getData().getProgress(), new Integer(100)); } + + @Test + public void getDistributionReleaseFailedTest() { + ResponseObject distributionRelease = this.getDistributionsApi().getDistributionRelease(projectId, failedHash); + assertEquals(distributionRelease.getData().getStatus(), "failed"); + assertEquals(distributionRelease.getData().getError().getMessage(), "Something went wrong"); + } + + @Test + public void getDistributionReleaseStringsBasedFailedTest() { + ResponseObject distributionRelease = this.getDistributionsApi().getDistributionStringsBasedRelease(stringsBasedProjectId, failedHash); + assertEquals(distributionRelease.getData().getStatus(), "failed"); + assertEquals(distributionRelease.getData().getError().getMessage(), "Something went wrong"); + } } diff --git a/src/test/resources/api/distributions/releaseFailed.json b/src/test/resources/api/distributions/releaseFailed.json new file mode 100644 index 000000000..b76b20477 --- /dev/null +++ b/src/test/resources/api/distributions/releaseFailed.json @@ -0,0 +1,12 @@ +{ + "data": { + "status": "failed", + "progress": 42, + "currentLanguageId": "string", + "currentFileId": 0, + "date": "2019-09-23T09:04:29+00:00", + "error": { + "message": "Something went wrong" + } + } +} diff --git a/src/test/resources/api/distributions/releaseStringsBasedFailed.json b/src/test/resources/api/distributions/releaseStringsBasedFailed.json new file mode 100644 index 000000000..7510b5245 --- /dev/null +++ b/src/test/resources/api/distributions/releaseStringsBasedFailed.json @@ -0,0 +1,12 @@ +{ + "data": { + "status": "failed", + "progress": 42, + "currentLanguageId": "string", + "currentBranchId": 0, + "date": "2019-09-23T09:04:29+00:00", + "error": { + "message": "Something went wrong" + } + } +}