Skip to content

Commit 04edbb9

Browse files
authored
Merge pull request #592 from Cizo89/master
Add new properties (zopimUrl and account) to Zendesk4Settings
2 parents 72d5b8d + d49d19a commit 04edbb9

4 files changed

Lines changed: 74 additions & 3 deletions

File tree

src/main/java/com/gooddata/connector/Zendesk4Settings.java

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,19 +20,26 @@ public class Zendesk4Settings implements Settings {
2020
public static final String URL = "/gdc/projects/{project}/connectors/zendesk4/integration/settings";
2121

2222
private String apiUrl;
23+
private String zopimUrl;
24+
private String account;
2325
private final String type;
2426
private final String syncTime;
2527
private final String syncTimeZone;
2628

2729
public Zendesk4Settings(final String apiUrl) {
28-
this(apiUrl, null, null, null);
30+
this(apiUrl, null, null, null, null, null);
2931
}
3032

3133
@JsonCreator
32-
public Zendesk4Settings(@JsonProperty("apiUrl") String apiUrl, @JsonProperty("type") String type,
34+
public Zendesk4Settings(@JsonProperty("apiUrl") String apiUrl,
35+
@JsonProperty("zopimUrl") String zopimUrl,
36+
@JsonProperty("account") String account,
37+
@JsonProperty("type") String type,
3338
@JsonProperty("syncTime") String syncTime,
3439
@JsonProperty("syncTimeZone") String syncTimeZone) {
3540
this.apiUrl = notEmpty(apiUrl, "apiUrl");
41+
this.zopimUrl = zopimUrl;
42+
this.account = account;
3643
this.type = type;
3744
this.syncTime = syncTime;
3845
this.syncTimeZone = syncTimeZone;
@@ -46,6 +53,22 @@ public void setApiUrl(final String apiUrl) {
4653
this.apiUrl = notEmpty(apiUrl, "apiUrl");
4754
}
4855

56+
public String getZopimUrl() {
57+
return zopimUrl;
58+
}
59+
60+
public void setZopimUrl(final String zopimUrl) {
61+
this.zopimUrl = zopimUrl;
62+
}
63+
64+
public String getAccount() {
65+
return account;
66+
}
67+
68+
public void setAccount(final String account) {
69+
this.account = account;
70+
}
71+
4972
public String getType() {
5073
return type;
5174
}

src/test/java/com/gooddata/connector/Zendesk4SettingsTest.java

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,23 +14,47 @@
1414
import static net.javacrumbs.jsonunit.core.util.ResourceUtils.resource;
1515
import static org.hamcrest.CoreMatchers.is;
1616
import static org.hamcrest.CoreMatchers.notNullValue;
17+
import static org.hamcrest.CoreMatchers.nullValue;
1718
import static org.hamcrest.MatcherAssert.assertThat;
1819
import static org.hamcrest.text.MatchesPattern.matchesPattern;
1920

2021
public class Zendesk4SettingsTest {
2122

2223
@Test
2324
public void shouldSerialize() throws Exception {
24-
final Zendesk4Settings settings = new Zendesk4Settings("https://foo.com", plus.name(), "12am", "America/Los_Angeles");
25+
final Zendesk4Settings settings = new Zendesk4Settings("https://foo.com", "zopim.com", "testAccount",
26+
plus.name(), "12am", "America/Los_Angeles");
2527
assertThat(settings, jsonEquals(resource("connector/settings-zendesk4.json")));
2628
}
2729

30+
@Test
31+
public void shouldSerialize_beforeTemplate26() throws Exception {
32+
final Zendesk4Settings settings = new Zendesk4Settings("https://foo.com", null, null,
33+
plus.name(), "12am", "America/Los_Angeles");
34+
assertThat(settings, jsonEquals(resource("connector/settings-zendesk4-before-template26.json")));
35+
}
36+
2837
@Test
2938
public void shouldDeserialize() throws Exception {
3039
final Zendesk4Settings settings = readObjectFromResource("/connector/settings-zendesk4.json", Zendesk4Settings.class);
3140

3241
assertThat(settings, is(notNullValue()));
3342
assertThat(settings.getApiUrl(), is("https://foo.com"));
43+
assertThat(settings.getZopimUrl(), is("zopim.com"));
44+
assertThat(settings.getAccount(), is("testAccount"));
45+
assertThat(settings.getType(), is(plus.name()));
46+
assertThat(settings.getSyncTime(), is("12am"));
47+
assertThat(settings.getSyncTimeZone(), is("America/Los_Angeles"));
48+
}
49+
50+
@Test
51+
public void shouldDeserialize_beforeTemplate26() throws Exception {
52+
final Zendesk4Settings settings = readObjectFromResource("/connector/settings-zendesk4-before-template26.json", Zendesk4Settings.class);
53+
54+
assertThat(settings, is(notNullValue()));
55+
assertThat(settings.getApiUrl(), is("https://foo.com"));
56+
assertThat(settings.getZopimUrl(), is(nullValue()));
57+
assertThat(settings.getAccount(), is(nullValue()));
3458
assertThat(settings.getType(), is(plus.name()));
3559
assertThat(settings.getSyncTime(), is("12am"));
3660
assertThat(settings.getSyncTimeZone(), is("America/Los_Angeles"));
@@ -60,6 +84,20 @@ public void testSetApiUrl() throws Exception {
6084
assertThat(settings.getApiUrl(), is("new url"));
6185
}
6286

87+
@Test
88+
public void testSetZopimUrl() throws Exception {
89+
final Zendesk4Settings settings = new Zendesk4Settings("api url");
90+
settings.setZopimUrl("zopim url");
91+
assertThat(settings.getZopimUrl(), is("zopim url"));
92+
}
93+
94+
@Test
95+
public void testSetAccount() throws Exception {
96+
final Zendesk4Settings settings = new Zendesk4Settings("api url");
97+
settings.setAccount("test account");
98+
assertThat(settings.getAccount(), is("test account"));
99+
}
100+
63101
@Test
64102
public void testToStringFormat() {
65103
final Zendesk4Settings settings = new Zendesk4Settings("old url");
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"settings" : {
3+
"apiUrl" : "https://foo.com",
4+
"type" : "plus",
5+
"syncTime" : "12am",
6+
"syncTimeZone" : "America/Los_Angeles"
7+
}
8+
}

src/test/resources/connector/settings-zendesk4.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
{
22
"settings" : {
33
"apiUrl" : "https://foo.com",
4+
"zopimUrl" : "zopim.com",
5+
"account" : "testAccount",
46
"type" : "plus",
57
"syncTime" : "12am",
68
"syncTimeZone" : "America/Los_Angeles"

0 commit comments

Comments
 (0)