-
-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathGiteaChecksDetailsTest.java
More file actions
45 lines (38 loc) · 1.89 KB
/
GiteaChecksDetailsTest.java
File metadata and controls
45 lines (38 loc) · 1.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package io.jenkins.plugins.checks.gitea;
import static org.assertj.core.api.Assertions.*;
import io.jenkins.plugins.checks.api.ChecksConclusion;
import io.jenkins.plugins.checks.api.ChecksDetails;
import io.jenkins.plugins.checks.api.ChecksDetails.ChecksDetailsBuilder;
import io.jenkins.plugins.checks.api.ChecksStatus;
import org.apache.commons.lang3.StringUtils;
import org.jenkinsci.plugin.gitea.client.api.GiteaCommitState;
import org.junit.jupiter.api.Test;
class GiteaChecksDetailsTest {
@Test
void shouldReturnAllGiteaObjectsCorrectly() {
ChecksDetails details = new ChecksDetailsBuilder()
.withName("checks")
.withStatus(ChecksStatus.COMPLETED)
.withConclusion(ChecksConclusion.SUCCESS)
.withDetailsURL("https://ci.jenkins.io")
.build();
GiteaChecksDetails giteaDetails = new GiteaChecksDetails(details);
assertThat(giteaDetails.getName()).isEqualTo("checks");
assertThat(giteaDetails.getStatus()).isEqualTo(GiteaCommitState.SUCCESS);
assertThat(giteaDetails.getDetailsURL()).isPresent().hasValue("https://ci.jenkins.io");
}
@Test
void shouldReturnEmptyWhenDetailsURLIsBlank() {
GiteaChecksDetails giteaChecksDetails = new GiteaChecksDetails(
new ChecksDetailsBuilder().withDetailsURL(StringUtils.EMPTY).build());
assertThat(giteaChecksDetails.getDetailsURL()).isEmpty();
}
@Test
void shouldThrowIllegalStateExceptionWhenDetailsURLIsNotHttpOrHttpsScheme() {
GiteaChecksDetails giteaChecksDetails = new GiteaChecksDetails(
new ChecksDetailsBuilder().withDetailsURL("ci.jenkins.io").build());
assertThatThrownBy(giteaChecksDetails::getDetailsURL)
.isInstanceOf(IllegalArgumentException.class)
.hasMessage("The details url is not http or https scheme: ci.jenkins.io");
}
}