using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using Tango.Core.Helpers; using Tango.Core.IO; using Tango.TFS; namespace Tango.UnitTesting.TFS { [TestClass] [TestCategory("Team Foundation Service")] public class TFS_TST { private ITeamFoundationServiceClient CreateClient() { ITeamFoundationServiceClient client = new TeamFoundationServiceClient( "https://twinetfs.visualstudio.com/DefaultCollection", "Roy", "szzfokrceo4rhd4eqi5qpmxn3pa5iwl3q7tlqd36l2m7smz2ynoa"); return client; } [TestMethod] public void Get_Tango_Project() { ITeamFoundationServiceClient client = CreateClient(); var project = client.GetProject("Tango").Result; Assert.IsNotNull(project); } [TestMethod] public void Get_Work_Item() { ITeamFoundationServiceClient client = CreateClient(); var project = client.GetProject("Tango").Result; Assert.IsNotNull(project); var workItem = client.GetWorkItem(project, 168).Result; Assert.IsNotNull(workItem); } [TestMethod] public void Get_Work_Items_Created_By() { ITeamFoundationServiceClient client = CreateClient(); var project = client.GetProject("Tango").Result; Assert.IsNotNull(project); var workItems = client.GetWorkItemsCreatedBy(project, project.Members.SingleOrDefault(x => x.AssignName.ToLower().Contains("roy"))).Result; Assert.IsTrue(workItems.Count > 0); } [TestMethod] public void Set_Work_Item_State() { ITeamFoundationServiceClient client = CreateClient(); var project = client.GetProject("Tango").Result; Assert.IsNotNull(project); var workItem = client.GetWorkItem(project, 164).Result; Assert.IsNotNull(workItem); var updated = client.SetWorkItemState(project, workItem, State.Active).Result; Assert.IsTrue(updated.State == State.Active); } [TestMethod] public void Add_Work_Item_Comment() { ITeamFoundationServiceClient client = CreateClient(); var project = client.GetProject("Tango").Result; Assert.IsNotNull(project); var workItem = client.GetWorkItem(project, 165).Result; Assert.IsNotNull(workItem); var updated = client.AddWorkItemComment(project, workItem, project.Members.SingleOrDefault(x => x.AssignName.ToLower().Contains("roy")), "Test Comment").Result; Assert.AreEqual(updated.Comment, "Test Comment"); } [TestMethod] public void Upload_Work_Item() { ITeamFoundationServiceClient client = CreateClient(); var project = client.GetProject("Tango").Result; Assert.IsNotNull(project); WorkItem item = new WorkItem(); item.Area = project.Areas.First(); item.AssignedTo = project.Members.Single(x => x.DisplayName.Contains("Roy")); item.CreatedBy = project.Members.Single(x => x.DisplayName.Contains("Shlomo")); item.ChangedBy = project.Members.Single(x => x.DisplayName.Contains("Shlomo")); item.AuthorizedAs = project.Members.Single(x => x.DisplayName.Contains("Shlomo")); var tempFile = TemporaryManager.Default.CreateFile(); File.AppendAllText(tempFile.Path, "This is a test text file..."); item.Attachments.Add(new Attachment() { Description = "Test Attachment", FilePath = tempFile.Path, Name = "TestDocument.txt" }); item.Description = "This is a test description"; item.FoundInBuild = "1.0.0.9"; item.Iteration = project.Iterations.FirstOrDefault(); item.Priority = Priority.Priority3; item.Severity = Severity.Medium; item.State = State.New; item.StepsToReproduce = "Step 1" + Environment.NewLine + "Step 2"; item.SystemInformation = "This is the system information"; item.Tags.Add(project.Tags.First()); item.Title = "Test Bug"; item.Type = WorkItemType.Bug; item.EmbeddedVersion = "4.0.0.0"; item.MachineSerialNumber = "0008"; var workItem = client.UploadWorkItem(project, item).Result; Assert.IsNotNull(workItem); } } }