use of org.eclipse.mylyn.commons.repositories.core.RepositoryLocation in project linuxtools by eclipse.
the class TestOSIORestPostNewTask method testPostNewTask.
@Test
public void testPostNewTask() 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);
TaskAttribute root = taskData.getRoot();
OSIORestTaskSchema taskSchema = OSIORestTaskSchema.getDefault();
TaskAttribute summary = root.getAttribute(taskSchema.SUMMARY.getKey());
summary.setValue("Bug0001");
TaskAttribute description = root.getAttribute(taskSchema.DESCRIPTION.getKey());
description.setValue("This is a bug");
TaskAttribute workitemtype = root.getAttribute(taskSchema.WORKITEM_TYPE.getKey());
workitemtype.setValue("bug");
OSIORestPostNewTask data = new OSIORestPostNewTask(client.getClient(), taskData, testData.spaceMap.get("mywork"), connector, repository);
OSIORestPostNewTask.TaskAttributeTypeAdapter adapter = data.new TaskAttributeTypeAdapter(location);
StringWriter s = new StringWriter();
JsonWriter writer = new JsonWriter(s);
adapter.write(writer, taskData);
assertEquals("{\"data\":{\"attributes\":{\"system.state\":\"new\",\"system.title\":\"Bug0001\",\"version\":\"1\",\"system.description\":\"This is a bug\"},\"relationships\":{\"baseType\":{\"data\":{\"id\":\"WORKITEMTYPE-0001\",\"type\":\"workitemtypes\"}},\"space\":{\"data\":{\"id\":\"SPACE-0001\",\"type\":\"spaces\"}}},\"type\":\"workitems\"},\"included\":[true]}", s.toString());
}
use of org.eclipse.mylyn.commons.repositories.core.RepositoryLocation in project linuxtools by eclipse.
the class OSIORestClient method validate.
public boolean validate(IOperationMonitor monitor) throws OSIORestException {
RepositoryLocation location = getClient().getLocation();
if (location.getProperty(IOSIORestConstants.REPOSITORY_AUTH_TOKEN) != null) {
// UserCredentials credentials = location.getCredentials(AuthenticationType.REPOSITORY);
// Preconditions.checkState(credentials != null, "Authentication requested without valid credentials");
String userName = location.getProperty(IOSIORestConstants.REPOSITORY_AUTH_ID);
Identity response = restRequestProvider.getAuthUser(monitor, client);
if (response.getUsername().equals(userName)) {
return true;
}
}
return false;
}
use of org.eclipse.mylyn.commons.repositories.core.RepositoryLocation in project linuxtools by eclipse.
the class TestOSIORestClient method testGetConfiguration.
@Test
public void testGetConfiguration() throws Exception {
TestData testData = new TestData();
TestUtils.initSpaces(requestProvider, testData);
requestProvider.addGetRequest("/namedspaces/user", testData.spaces);
OSIORestClient client = connector.getClient(repository, requestProvider);
RepositoryLocation location = client.getClient().getLocation();
location.setProperty(IOSIORestConstants.REPOSITORY_AUTH_ID, "user");
location.setProperty(IOSIORestConstants.REPOSITORY_AUTH_TOKEN, "xxxxxxTokenxxxxxx");
OSIORestConfiguration configuration = client.getConfiguration(repository, new NullOperationMonitor());
Map<String, Space> spaces = configuration.getSpaces();
assertEquals(spaces.size(), 2);
assertTrue(spaces.containsKey("mywork"));
assertTrue(spaces.containsKey("mywork2"));
}
use of org.eclipse.mylyn.commons.repositories.core.RepositoryLocation in project linuxtools by eclipse.
the class TestOSIORestClient method testGetSpaceLinkTypes.
@Test
public void testGetSpaceLinkTypes() throws Exception {
TestData testData = new TestData();
TestUtils.initSpaces(requestProvider, testData);
requestProvider.addGetRequest("/namedspaces/user", testData.spaces);
OSIORestClient client = connector.getClient(repository, requestProvider);
RepositoryLocation location = client.getClient().getLocation();
location.setProperty(IOSIORestConstants.REPOSITORY_AUTH_ID, "user");
location.setProperty(IOSIORestConstants.REPOSITORY_AUTH_TOKEN, "xxxxxxTokenxxxxxx");
OSIORestConfiguration configuration = client.getConfiguration(repository, new NullOperationMonitor());
configuration.getSpaces();
Map<String, String> linktypes = client.getSpaceLinkTypes("SPACE-0001", repository);
assertTrue(linktypes != null);
assertTrue(!linktypes.isEmpty());
assertEquals(linktypes.get("blocks"), "LINKTYPE-0001");
assertEquals(linktypes.get("is blocked by"), "LINKTYPE-0001");
}
use of org.eclipse.mylyn.commons.repositories.core.RepositoryLocation in project linuxtools by eclipse.
the class TestOSIORestClient method testFormSearchURL.
@Test
public void testFormSearchURL() throws Exception {
TestData testData = new TestData();
TestUtils.initSpaces(requestProvider, testData);
requestProvider.addGetRequest("/namedspaces/user", testData.spaces);
OSIORestClient client = connector.getClient(repository, requestProvider);
AbstractTaskDataHandler taskDataHandler = connector.getTaskDataHandler();
TaskAttributeMapper mapper = taskDataHandler.getAttributeMapper(repository);
TaskData taskData1 = new TaskData(mapper, repository.getConnectorKind(), repository.getRepositoryUrl(), "");
assertTrue(taskDataHandler.initializeTaskData(repository, taskData1, null, null));
taskData1.getRoot().createAttribute(OSIORestTaskSchema.getDefault().SPACE_ID.getKey()).addValue("SPACE-0001");
taskData1.getRoot().createAttribute(OSIORestTaskSchema.getDefault().WORKITEM_TYPE.getKey()).addValue("bug");
TaskData taskData2 = new TaskData(mapper, repository.getConnectorKind(), repository.getRepositoryUrl(), "");
assertTrue(taskDataHandler.initializeTaskData(repository, taskData2, null, null));
taskData2.getRoot().createAttribute(OSIORestTaskSchema.getDefault().SPACE_ID.getKey()).addValue("SPACE-0002");
taskData2.getRoot().createAttribute(OSIORestTaskSchema.getDefault().WORKITEM_TYPE.getKey()).addValue("bug");
List<TaskData> taskList = new ArrayList<>();
taskList.add(taskData1);
taskList.add(taskData2);
String query = "filter[expression]={\"$AND\":[{\"$OR\":[{\"space\":\"SPACE-0001\"},{\"space\":\"SPACE-0002\"}]},{\"$OR\":[{\"workitemtype\":\"WORKITEMTYPE-0001\"}]}]}";
String transformedQuery = URLQueryEncoder.transform(query);
requestProvider.addGetRequest("/search?" + transformedQuery, taskList);
RepositoryLocation location = client.getClient().getLocation();
location.setProperty(IOSIORestConstants.REPOSITORY_AUTH_ID, "user");
location.setProperty(IOSIORestConstants.REPOSITORY_AUTH_TOKEN, "xxxxxxTokenxxxxxx");
location.setUrl("https://api.openshift.io/api");
OSIORestConfiguration configuration = client.getConfiguration(repository, new NullOperationMonitor());
Map<String, Space> spaces = configuration.getSpaces();
TestTaskDataCollector collector = new TestTaskDataCollector();
RepositoryQuery repoQuery = new RepositoryQuery("https://api.openshift.io/api/query?space=mywork&space=mywork2&baseType=bug");
IStatus status = client.performQuery(repository, repoQuery, collector, new NullOperationMonitor());
assertTrue(status.isOK());
List<TaskData> dataList = collector.getTaskData();
assertTrue(dataList != null);
assertEquals(dataList.size(), 2);
assertEquals(dataList.get(0), taskData1);
assertEquals(dataList.get(1), taskData2);
}
Aggregations