Beispiel #1
0
        public void WorkItemTracking_RecycleBin_RestoreItem_Success()
        {
            // arrange
            WorkItems  workItemsRequest  = new WorkItems(_configuration);
            RecycleBin recyclebinRequest = new RecycleBin(_configuration);

            // act
            WorkItemPatchResponse.WorkItem       createResponse  = workItemsRequest.CreateWorkItem(_configuration.Project);
            WorkItemPatchResponse.WorkItem       deleteResponse  = workItemsRequest.DeleteWorkItem(createResponse.id.ToString());
            GetRestoredWorkItemResponse.WorkItem restoreResponse = recyclebinRequest.RestoreItem(createResponse.id.ToString());

            ////get restored item
            GetWorkItemExpandAllResponse.WorkItem getRestoredItemResponse = workItemsRequest.GetWorkItem(createResponse.id.ToString());

            //assert
            Assert.AreEqual(HttpStatusCode.OK, createResponse.HttpStatusCode);
            Assert.AreEqual(HttpStatusCode.OK, deleteResponse.HttpStatusCode);
            Assert.AreEqual(HttpStatusCode.OK, restoreResponse.HttpStatusCode);
            Assert.AreEqual(HttpStatusCode.OK, getRestoredItemResponse.HttpStatusCode);

            workItemsRequest  = null;
            recyclebinRequest = null;
        }
Beispiel #2
0
        public void WorkItemTracking_RecycleBin_PermenentlyDeletedItem_Success()
        {
            // arrange
            WorkItems  workItemsRequest  = new WorkItems(_configuration);
            RecycleBin recyclebinRequest = new RecycleBin(_configuration);

            // act
            WorkItemPatchResponse.WorkItem createResponse = workItemsRequest.CreateWorkItem(_configuration.Project);
            WorkItemPatchResponse.WorkItem deleteResponse = workItemsRequest.DeleteWorkItem(createResponse.id.ToString());
            HttpStatusCode permDeleteResponse             = recyclebinRequest.PermenentlyDeleteItem(createResponse.id.ToString());


            ////get delete item
            GetWorkItemExpandAllResponse.WorkItem getDeletedWorkItem = workItemsRequest.GetWorkItem(createResponse.id.ToString());

            //assert
            Assert.AreEqual(HttpStatusCode.OK, createResponse.HttpStatusCode);
            Assert.AreEqual(HttpStatusCode.OK, deleteResponse.HttpStatusCode);
            Assert.AreEqual(HttpStatusCode.OK, permDeleteResponse);
            Assert.AreEqual(HttpStatusCode.NoContent, getDeletedWorkItem.HttpStatusCode);

            workItemsRequest  = null;
            recyclebinRequest = null;
        }
        // / <summary>
        // / get a work item by id
        // / </summary>
        // / <param name="id"></param>
        // / <returns>GetWorkItemExpandAllResponse.WorkItem</returns>
        public GetWorkItemExpandAllResponse.WorkItem GetWorkItem(string id)
        {
            GetWorkItemExpandAllResponse.WorkItem viewModel = new GetWorkItemExpandAllResponse.WorkItem();

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(_configuration.UriString);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", _credentials);

                // use $expand=all to get all fields
                HttpResponseMessage response = client.GetAsync("_apis/wit/workitems/" + id + "?$expand=all&api-version=2.2").Result;

                if (response.IsSuccessStatusCode)
                {
                    viewModel = response.Content.ReadAsAsync <GetWorkItemExpandAllResponse.WorkItem>().Result;
                }

                viewModel.HttpStatusCode = response.StatusCode;

                return(viewModel);
            }
        }