use of org.eclipse.mylyn.tasks.core.data.TaskData in project linuxtools by eclipse.
the class TestOSIORestGetTaskComments method testGetTaskComments.
@Test
public void testGetTaskComments() throws Exception {
TestData testData = new TestData();
TestUtils.initSpaces(requestProvider, testData);
OSIORestClient client = connector.getClient(repository, requestProvider);
AbstractTaskDataHandler taskDataHandler = connector.getTaskDataHandler();
TaskAttributeMapper mapper = taskDataHandler.getAttributeMapper(repository);
TaskData taskData = new TaskData(mapper, repository.getConnectorKind(), repository.getRepositoryUrl(), "");
OSIORestTaskSchema.getDefault().initialize(taskData);
OSIORestConfiguration config = client.getConfiguration(repository, new NullOperationMonitor());
config.setSpaces(testData.spaceMap);
connector.setConfiguration(config);
RepositoryLocation location = client.getClient().getLocation();
location.setProperty(IOSIORestConstants.REPOSITORY_AUTH_ID, "user");
location.setProperty(IOSIORestConstants.REPOSITORY_AUTH_TOKEN, "xxxxxxTokenxxxxxx");
OSIORestGetTaskComments data = new OSIORestGetTaskComments(client.getClient(), testData.spaceMap.get("mywork"), taskData);
String bundleLocation = Activator.getContext().getBundle().getLocation();
int index = bundleLocation.indexOf('/');
String fileName = bundleLocation.substring(index) + "/testjson/comments.data";
FileReader in = new FileReader(fileName);
TaskAttribute original = taskData.getRoot().getAttribute(OSIORestTaskSchema.getDefault().ASSIGNEES.getKey());
assertTrue(original == null || original.getValues().isEmpty());
ArrayList<TaskAttribute> attributes = data.testParseFromJson(in);
assertEquals(4, attributes.size());
TaskAttribute attr1 = attributes.get(0);
TaskCommentMapper commentMapper = TaskCommentMapper.createFrom(attr1);
assertEquals("COMMENT-0004", commentMapper.getCommentId());
assertEquals("This is the fourth comment.", commentMapper.getText());
assertEquals(getDate("2017-11-21T20:46:47.383745Z"), commentMapper.getCreationDate());
IRepositoryPerson person = commentMapper.getAuthor();
assertEquals("User", person.getName());
assertEquals("user@user.org", person.getPersonId());
assertEquals(new Integer(4), commentMapper.getNumber());
TaskAttribute attr2 = attributes.get(1);
commentMapper = TaskCommentMapper.createFrom(attr2);
assertEquals("COMMENT-0003", commentMapper.getCommentId());
assertEquals("This is the third comment.", commentMapper.getText());
assertEquals(getDate("2017-10-05T23:01:54.15784Z"), commentMapper.getCreationDate());
IRepositoryPerson person2 = commentMapper.getAuthor();
assertEquals("User", person2.getName());
assertEquals("user@user.org", person2.getPersonId());
assertEquals(new Integer(3), commentMapper.getNumber());
TaskAttribute attr3 = attributes.get(2);
commentMapper = TaskCommentMapper.createFrom(attr3);
assertEquals("COMMENT-0002", commentMapper.getCommentId());
assertEquals("This is the second comment.", commentMapper.getText());
assertEquals(getDate("2017-10-05T21:09:19.673546Z"), commentMapper.getCreationDate());
IRepositoryPerson person3 = commentMapper.getAuthor();
assertEquals("User", person3.getName());
assertEquals("user@user.org", person3.getPersonId());
assertEquals(new Integer(2), commentMapper.getNumber());
TaskAttribute attr4 = attributes.get(3);
commentMapper = TaskCommentMapper.createFrom(attr4);
assertEquals("COMMENT-0001", commentMapper.getCommentId());
assertEquals("Comment on Task 1.", commentMapper.getText());
assertEquals(getDate("2017-08-14T21:40:29.434379Z"), commentMapper.getCreationDate());
IRepositoryPerson person4 = commentMapper.getAuthor();
assertEquals("User", person4.getName());
assertEquals("user@user.org", person4.getPersonId());
assertEquals(new Integer(1), commentMapper.getNumber());
}
use of org.eclipse.mylyn.tasks.core.data.TaskData in project linuxtools by eclipse.
the class TestOSIORestGetTaskData method testGetTaskData.
@Test
public void testGetTaskData() throws Exception {
TestData testData = new TestData();
TestUtils.initSpaces(requestProvider, testData);
OSIORestClient client = connector.getClient(repository, requestProvider);
OSIORestConfiguration config = client.getConfiguration(repository, new NullOperationMonitor());
config.setSpaces(testData.spaceMap);
connector.setConfiguration(config);
RepositoryLocation location = client.getClient().getLocation();
location.setProperty(IOSIORestConstants.REPOSITORY_AUTH_ID, "user");
location.setProperty(IOSIORestConstants.REPOSITORY_AUTH_TOKEN, "xxxxxxTokenxxxxxx");
OSIORestGetTaskData data = new OSIORestGetTaskData(client.getClient(), connector, "/workitems/QUERY", repository);
String bundleLocation = Activator.getContext().getBundle().getLocation();
int index = bundleLocation.indexOf('/');
String fileName = bundleLocation.substring(index) + "/testjson/workitems.data";
FileReader in = new FileReader(fileName);
List<TaskData> taskDataList = data.testParseFromJson(in);
assertEquals(2, taskDataList.size());
TaskData taskData = taskDataList.get(0);
TaskAttribute root = taskData.getRoot();
OSIORestTaskSchema schema = OSIORestTaskSchema.getDefault();
TaskAttribute space = root.getAttribute(schema.SPACE.getKey());
assertEquals("mywork", space.getValue());
TaskAttribute spaceid = root.getAttribute(schema.SPACE_ID.getKey());
assertEquals("SPACE-0001", spaceid.getValue());
TaskAttribute uuid = root.getAttribute(schema.UUID.getKey());
assertEquals("WORKITEM-0001", uuid.getValue());
TaskAttribute labelsLink = root.getAttribute(schema.LABELS_LINK.getKey());
assertEquals("https://openshift.io/api/workitems/WORKITEM-0001/labels", labelsLink.getValue());
TaskAttribute creatorId = root.getAttribute(schema.CREATOR_ID.getKey());
assertEquals("USER-0001", creatorId.getValue());
TaskAttribute taskUrl = root.getAttribute(schema.TASK_URL.getKey());
assertEquals("https://openshift.io/api/workitems/WORKITEM-0001", taskUrl.getValue());
TaskAttribute assigneeIds = root.getAttribute(schema.ASSIGNEE_IDS.getKey());
assertEquals("USER-0001", assigneeIds.getValue());
TaskAttribute id = root.getAttribute(schema.ID.getKey());
assertEquals("user/mywork#1", id.getValue());
TaskAttribute status = root.getAttribute(schema.STATUS.getKey());
assertEquals("resolved", status.getValue());
TaskAttribute title = root.getAttribute(schema.SUMMARY.getKey());
assertEquals("00001", title.getValue());
TaskAttribute description = root.getAttribute(schema.DESCRIPTION.getKey());
assertEquals("Test bug", description.getValue());
TaskAttribute version = root.getAttribute(schema.VERSION.getKey());
assertEquals("11", version.getValue());
TaskAttribute order = root.getAttribute(schema.ORDER.getKey());
assertEquals("1000", order.getValue());
TaskAttribute created_at = root.getAttribute(schema.DATE_CREATION.getKey());
assertEquals(getDate("2017-08-14T21:37:15.863435Z"), created_at.getValue());
TaskAttribute updated_at = root.getAttribute(schema.DATE_MODIFICATION.getKey());
assertEquals(getDate("2017-09-15T15:54:43.08915Z"), updated_at.getValue());
taskData = taskDataList.get(1);
root = taskData.getRoot();
space = root.getAttribute(schema.SPACE.getKey());
assertEquals("mywork", space.getValue());
spaceid = root.getAttribute(schema.SPACE_ID.getKey());
assertEquals("SPACE-0001", spaceid.getValue());
uuid = root.getAttribute(schema.UUID.getKey());
assertEquals("WORKITEM-0002", uuid.getValue());
labelsLink = root.getAttribute(schema.LABELS_LINK.getKey());
assertEquals("https://openshift.io/api/workitems/WORKITEM-0002/labels", labelsLink.getValue());
creatorId = root.getAttribute(schema.CREATOR_ID.getKey());
assertEquals("USER-0001", creatorId.getValue());
taskUrl = root.getAttribute(schema.TASK_URL.getKey());
assertEquals("https://openshift.io/api/workitems/WORKITEM-0002", taskUrl.getValue());
assigneeIds = root.getAttribute(schema.ASSIGNEE_IDS.getKey());
assertEquals("USER-0001", assigneeIds.getValue());
id = root.getAttribute(schema.ID.getKey());
assertEquals("user/mywork#2", id.getValue());
status = root.getAttribute(schema.STATUS.getKey());
assertEquals("open", status.getValue());
title = root.getAttribute(schema.SUMMARY.getKey());
assertEquals("00002", title.getValue());
description = root.getAttribute(schema.DESCRIPTION.getKey());
assertEquals("Test feature", description.getValue());
version = root.getAttribute(schema.VERSION.getKey());
assertEquals("22", version.getValue());
order = root.getAttribute(schema.ORDER.getKey());
assertEquals("2000", order.getValue());
created_at = root.getAttribute(schema.DATE_CREATION.getKey());
assertEquals(getDate("2017-08-15T21:37:15.863435Z"), created_at.getValue());
updated_at = root.getAttribute(schema.DATE_MODIFICATION.getKey());
assertEquals(getDate("2017-09-16T15:54:43.08915Z"), updated_at.getValue());
}
use of org.eclipse.mylyn.tasks.core.data.TaskData in project linuxtools by eclipse.
the class TestOSIORestGetTaskLinks method testGetTaskLinks.
@Test
public void testGetTaskLinks() throws Exception {
TestData testData = new TestData();
TestUtils.initSpaces(requestProvider, testData);
OSIORestClient client = connector.getClient(repository, requestProvider);
AbstractTaskDataHandler taskDataHandler = connector.getTaskDataHandler();
TaskAttributeMapper mapper = taskDataHandler.getAttributeMapper(repository);
TaskData taskData = new TaskData(mapper, repository.getConnectorKind(), repository.getRepositoryUrl(), "");
OSIORestTaskSchema.getDefault().initialize(taskData);
OSIORestConfiguration config = client.getConfiguration(repository, new NullOperationMonitor());
config.setSpaces(testData.spaceMap);
connector.setConfiguration(config);
RepositoryLocation location = client.getClient().getLocation();
location.setProperty(IOSIORestConstants.REPOSITORY_AUTH_ID, "user");
location.setProperty(IOSIORestConstants.REPOSITORY_AUTH_TOKEN, "xxxxxxTokenxxxxxx");
WorkItem workitem = initWorkItem("1", "WORKITEM-0001", "SPACE-0001", "Task 1");
WorkItem workitem2 = initWorkItem("2", "WORKITEM-0002", "SPACE-0001", "Task 2");
WorkItem workitem3 = initWorkItem("3", "WORKITEM-0003", "SPACE-0001", "Task 3");
requestProvider.addGetRequest("/workitems/WORKITEM-0001", workitem);
requestProvider.addGetRequest("/workitems/WORKITEM-0002", workitem2);
requestProvider.addGetRequest("/workitems/WORKITEM-0003", workitem3);
taskData.getRoot().getAttribute(OSIORestTaskSchema.getDefault().UUID.getKey()).setValue("WORKITEM-0001");
OSIORestGetTaskLinks data = new OSIORestGetTaskLinks(client.getClient(), client, testData.spaceMap.get("mywork"), taskData, config);
String bundleLocation = Activator.getContext().getBundle().getLocation();
int index = bundleLocation.indexOf('/');
String fileName = bundleLocation.substring(index) + "/testjson/links.data";
FileReader in = new FileReader(fileName);
TaskAttribute original = taskData.getRoot().getAttribute(OSIORestTaskSchema.getDefault().LINKS.getKey());
assertTrue(original == null || original.getValues().isEmpty());
TaskAttribute attribute = data.testParseFromJson(in);
assertEquals(2, attribute.getValues().size());
List<String> values = attribute.getValues();
assertEquals("blocks Task 2 [user/mywork#2]", values.get(0));
assertEquals("is blocked by Task 3 [user/mywork#3]", values.get(1));
}
use of org.eclipse.mylyn.tasks.core.data.TaskData in project linuxtools by eclipse.
the class TestOSIORestPatchUpdateTask method testPatchUpdateTask.
@Test
public void testPatchUpdateTask() throws Exception {
TestData testData = new TestData();
TestUtils.initSpaces(requestProvider, testData);
OSIORestClient client = connector.getClient(repository, requestProvider);
OSIORestConfiguration config = client.getConfiguration(repository, new NullOperationMonitor());
config.setSpaces(testData.spaceMap);
connector.setConfiguration(config);
RepositoryLocation location = client.getClient().getLocation();
location.setProperty(IOSIORestConstants.REPOSITORY_AUTH_ID, "user");
location.setProperty(IOSIORestConstants.REPOSITORY_AUTH_TOKEN, "xxxxxxTokenxxxxxx");
AbstractTaskDataHandler taskDataHandler = connector.getTaskDataHandler();
TaskAttributeMapper mapper = taskDataHandler.getAttributeMapper(repository);
TaskData taskData = new TaskData(mapper, repository.getConnectorKind(), repository.getRepositoryUrl(), "");
OSIORestTaskSchema.getDefault().initialize(taskData);
Set<TaskAttribute> attributes = new LinkedHashSet<>();
TaskAttribute newComment = taskData.getRoot().getAttribute(OSIORestTaskSchema.getDefault().NEW_COMMENT.getKey());
newComment.setValue("This is a test comment");
attributes.add(newComment);
OSIORestTaskSchema taskSchema = OSIORestTaskSchema.getDefault();
TaskAttribute root = taskData.getRoot();
TaskAttribute description = root.getAttribute(taskSchema.DESCRIPTION.getKey());
description.setValue("This is a test bug");
TaskAttribute operation = root.createAttribute(TaskAttribute.OPERATION);
operation.setValue("in progress");
TaskAttribute status = root.getAttribute(taskSchema.STATUS.getKey());
status.setValue("open");
TaskAttribute uuid = root.getAttribute(taskSchema.UUID.getKey());
uuid.setValue("WORKITEM-0001");
TaskAttribute summary = root.getAttribute(taskSchema.SUMMARY.getKey());
summary.setValue("Bug0001");
TaskAttribute version = root.getAttribute(taskSchema.VERSION.getKey());
version.setValue("11");
TaskAttribute area = root.getAttribute(taskSchema.AREA.getKey());
area.setValue("mywork");
TaskAttribute iteration = root.getAttribute(taskSchema.ITERATION.getKey());
iteration.setValue("mywork");
TaskAttribute labels = root.getAttribute(taskSchema.LABELS.getKey());
labels.addValue("label1");
labels.addValue("label3");
TaskAttribute addLabels = root.getAttribute(taskSchema.ADD_LABEL.getKey());
addLabels.addValue("label2");
TaskAttribute removeLabels = root.getAttribute(taskSchema.REMOVE_LABEL.getKey());
removeLabels.addValue("label3");
TaskAttribute assignees = root.getAttribute(taskSchema.ASSIGNEES.getKey());
assignees.addValue("user3");
TaskAttribute addAssignees = root.getAttribute(taskSchema.ADD_ASSIGNEE.getKey());
addAssignees.addValue("user");
TaskAttribute removeAssignees = root.getAttribute(taskSchema.REMOVE_ASSIGNEE.getKey());
removeAssignees.addValue("user3");
OSIORestPatchUpdateTask data = new OSIORestPatchUpdateTask(client.getClient(), taskData, attributes, testData.spaceMap.get("mywork"));
OSIORestPatchUpdateTask.TaskAttributeTypeAdapter adapter = data.new TaskAttributeTypeAdapter(location);
OSIORestPatchUpdateTask.OldAttributes oldAttributes = data.new OldAttributes(attributes);
StringWriter s = new StringWriter();
JsonWriter writer = new JsonWriter(s);
adapter.write(writer, oldAttributes);
assertEquals("{\"data\":{\"attributes\":{\"system.description\":\"This is a test bug\",\"system.state\":\"in progress\",\"system.title\":\"Bug0001\",\"version\":\"11\"}," + "\"id\":\"WORKITEM-0001\",\"relationships\":{\"space\":{\"data\":{\"id\":\"SPACE-0001\",\"type\":\"spaces\"}},\"area\":{\"data\":{\"id\":\"AREA-0001\",\"type\":\"areas\"}}," + "\"iteration\":{\"data\":{\"id\":\"ITERATION-0001\",\"type\":\"iterations\"}},\"assignees\":{\"data\":[{\"id\":\"USER-0001\",\"type\":\"users\"}]}," + "\"labels\":{\"data\":[{\"id\":\"LABEL-0001\",\"type\":\"labels\"},{\"id\":\"LABEL-0002\",\"type\":\"labels\"}]}},\"type\":\"workitems\"},\"included\":[true]}", s.getBuffer().toString());
StringWriter s2 = new StringWriter();
JsonWriter writer2 = new JsonWriter(s2);
root.removeAttribute(TaskAttribute.OPERATION);
adapter.write(writer2, oldAttributes);
assertEquals("{\"data\":{\"attributes\":{\"system.description\":\"This is a test bug\",\"system.state\":\"open\",\"system.title\":\"Bug0001\",\"version\":\"11\"}," + "\"id\":\"WORKITEM-0001\",\"relationships\":{\"space\":{\"data\":{\"id\":\"SPACE-0001\",\"type\":\"spaces\"}},\"area\":{\"data\":{\"id\":\"AREA-0001\",\"type\":\"areas\"}}," + "\"iteration\":{\"data\":{\"id\":\"ITERATION-0001\",\"type\":\"iterations\"}},\"assignees\":{\"data\":[{\"id\":\"USER-0001\",\"type\":\"users\"}]}," + "\"labels\":{\"data\":[{\"id\":\"LABEL-0001\",\"type\":\"labels\"},{\"id\":\"LABEL-0002\",\"type\":\"labels\"}]}},\"type\":\"workitems\"},\"included\":[true]}", s2.getBuffer().toString());
}
use of org.eclipse.mylyn.tasks.core.data.TaskData in project linuxtools by eclipse.
the class TestOSIORestPostNewLink method testPostNewLink.
@Test
public void testPostNewLink() throws Exception {
TestData testData = new TestData();
TestUtils.initSpaces(requestProvider, testData);
OSIORestClient client = connector.getClient(repository, requestProvider);
OSIORestConfiguration config = client.getConfiguration(repository, new NullOperationMonitor());
config.setSpaces(testData.spaceMap);
connector.setConfiguration(config);
RepositoryLocation location = client.getClient().getLocation();
location.setProperty(IOSIORestConstants.REPOSITORY_AUTH_ID, "user");
location.setProperty(IOSIORestConstants.REPOSITORY_AUTH_TOKEN, "xxxxxxTokenxxxxxx");
AbstractTaskDataHandler taskDataHandler = connector.getTaskDataHandler();
TaskAttributeMapper mapper = taskDataHandler.getAttributeMapper(repository);
TaskData taskData = new TaskData(mapper, repository.getConnectorKind(), repository.getRepositoryUrl(), "");
OSIORestTaskSchema.getDefault().initialize(taskData);
OSIORestPostNewLink data = new OSIORestPostNewLink(client.getClient(), "LINKTYPE-0001", "WORKITEM-0001", "WORKITEM-0002", false);
OSIORestPostNewLink.TaskAttributeTypeAdapter adapter = data.new TaskAttributeTypeAdapter();
StringWriter s = new StringWriter();
JsonWriter writer = new JsonWriter(s);
adapter.write(writer, "");
assertEquals("{\"data\":{\"relationships\":{\"link_type\":{\"data\":{\"id\":\"LINKTYPE-0001\",\"type\":\"workitemlinktypes\"}}," + "\"source\":{\"data\":{\"id\":\"WORKITEM-0002\",\"type\":\"workitems\"}},\"target\":{\"data\":{\"id\":\"WORKITEM-0001\",\"type\":\"workitems\"}}}," + "\"type\":\"workitemlinks\"},\"included\":[false,false,false]}", s.toString());
}
Aggregations