1
0
Fork 0

Merge pull request #108 from nach-o-man/master

fixed worklog mappings and added tests
master
Bob Carroll 2015-09-20 18:31:07 -07:00
commit b9db1ba53e
3 changed files with 123 additions and 3 deletions

View File

@ -34,7 +34,7 @@ public class WorkLog extends Resource {
private String comment = null;
private Date created = null;
private Date updated = null;
private User updatedAuthor = null;
private User updateAuthor = null;
private Date started = null;
private String timeSpent = null;
private int timeSpentSeconds = 0;
@ -61,7 +61,7 @@ public class WorkLog extends Resource {
comment = Field.getString(map.get("comment"));
created = Field.getDate(map.get("created"));
updated = Field.getDate(map.get("updated"));
updatedAuthor = Field.getResource(User.class, map.get("updatedAuthor"), restclient);
updateAuthor = Field.getResource(User.class, map.get("updateAuthor"), restclient);
started = Field.getDate(map.get("started"));
timeSpent = Field.getString(map.get("timeSpent"));
timeSpentSeconds = Field.getInteger(map.get("timeSpentSeconds"));
@ -113,15 +113,20 @@ public class WorkLog extends Resource {
}
public User getUpdateAuthor() {
return updatedAuthor;
return updateAuthor;
}
public Date getUpdatedDate() {
return updated;
}
public Date getStarted(){ return started; }
public String getTimeSpent(){ return timeSpent; }
public int getTimeSpentSeconds() {
return timeSpentSeconds;
}
}

View File

@ -202,4 +202,83 @@ public class Utils {
return jsonObject;
}
public static JSONObject getTestIssueWorklogs() {
JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON("{\n" +
" \"startAt\":0,\n" +
" \"maxResults\":2,\n" +
" \"total\":2,\n" +
" \"worklogs\":[ \n" +
" { \n" +
" \"self\":\"https://brainbubble.atlassian.net/rest/api/latest/issue/10742/worklog/45517\",\n" +
" \"author\":{ \n" +
" \"self\":\"https://brainbubble.atlassian.net/rest/api/2/user?username=joseph\", \n" +
" \"name\":\"joseph\",\n" +
" \"avatarUrls\":{ \n" +
" \"48x48\":\"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=48\",\n" +
" \"24x24\":\"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=24\",\n" +
" \"16x16\":\"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=16\",\n" +
" \"32x32\":\"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=32\"\n" +
" },\n" +
" \"displayName\":\"Joseph McCarthy\",\n" +
" \"active\":true\n" +
" },\n" +
" \"updateAuthor\":{ \n" +
" \"self\":\"https://brainbubble.atlassian.net/rest/api/2/user?username=joseph\",\n" +
" \"name\":\"joseph\",\n" +
" \"avatarUrls\":{ \n" +
" \"48x48\":\"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=48\",\n" +
" \"24x24\":\"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=24\",\n" +
" \"16x16\":\"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=16\",\n" +
" \"32x32\":\"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=32\"\n" +
" },\n" +
" \"displayName\":\"Joseph McCarthy\",\n" +
" \"active\":true\n" +
" },\n" +
" \"comment\":\"comment for worklog 1\",\n" +
" \"created\":\"2015-08-20T13:19:44.000+0400\",\n" +
" \"updated\":\"2015-08-20T13:19:44.000+0400\",\n" +
" \"started\":\"2015-08-17T13:19:00.000+0400\",\n" +
" \"timeSpent\":\"6h\",\n" +
" \"timeSpentSeconds\":21600,\n" +
" \"id\":\"45517\"\n" +
" },\n" +
" { \n" +
" \"self\":\"https://brainbubble.atlassian.net/rest/api/latest/issue/10742/worklog/45518\",\n" +
" \"author\":{ \n" +
" \"self\":\"https://brainbubble.atlassian.net/rest/api/2/user?username=joseph\",\n" +
" \"name\":\"joseph\",\n" +
" \"avatarUrls\":{ \n" +
" \"48x48\":\"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=48\",\n" +
" \"24x24\":\"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=24\",\n" +
" \"16x16\":\"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=16\",\n" +
" \"32x32\":\"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=32\"\n" +
" },\n" +
" \"displayName\":\"Joseph McCarthy\",\n" +
" \"active\":true\n" +
" },\n" +
" \"updateAuthor\":{ \n" +
" \"self\":\"https://brainbubble.atlassian.net/rest/api/2/user?username=joseph\",\n" +
" \"name\":\"joseph\",\n" +
" \"avatarUrls\":{ \n" +
" \"48x48\":\"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=48\",\n" +
" \"24x24\":\"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=24\",\n" +
" \"16x16\":\"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=16\",\n" +
" \"32x32\":\"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=32\"\n" +
" },\n" +
" \"displayName\":\"Joseph McCarthy\",\n" +
" \"active\":true\n" +
" },\n" +
" \"comment\":\"comment for worklog 2\",\n" +
" \"created\":\"2015-08-20T13:19:57.000+0400\",\n" +
" \"updated\":\"2015-08-20T13:19:57.000+0400\",\n" +
" \"started\":\"2015-08-18T13:19:00.000+0400\",\n" +
" \"timeSpent\":\"2h\",\n" +
" \"timeSpentSeconds\":7200,\n" +
" \"id\":\"45518\"\n" +
" }\n" +
" ]\n" +
"}");
return jsonObject;
}
}

View File

@ -0,0 +1,36 @@
package net.rcarz.jiraclient;
import org.junit.Test;
import java.text.SimpleDateFormat;
import java.util.List;
import static junit.framework.Assert.assertEquals;
public class WorklogTest {
private String author = "joseph";
private String started = "2015-08-17T00:00:00.000";
private String created = "2015-08-20T00:00:00.000";
private SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
@Test
public void testWorklog() {
List<WorkLog> workLogs = Field.getResourceArray(WorkLog.class, Utils.getTestIssueWorklogs().get("worklogs"), null);
assertEquals(2, workLogs.size());
WorkLog workLog = workLogs.get(0);
assertEquals("comment for worklog 1", workLog.getComment());
assertEquals("6h", workLog.getTimeSpent());
assertEquals("45517", workLog.getId());
assertEquals(author, workLog.getAuthor().getName());
assertEquals(started, simpleDateFormat.format(workLog.getStarted()));
assertEquals(created, simpleDateFormat.format(workLog.getCreatedDate()));
assertEquals(21600, workLog.getTimeSpentSeconds());
assertEquals(author, workLog.getUpdateAuthor().getName());
assertEquals(created, simpleDateFormat.format(workLog.getUpdatedDate()));
}
}