Exemplo n.º 1
0
        public async Task CanValidateYamlPipeline()
        {
            var response = await _client.PostAsync(YamlPipeline.Parse(_config.Project, "275"),
                                                   new YamlPipeline.YamlPipelineRequest()
                                                   ).ConfigureAwait(false);

            Assert.NotNull(response.FinalYaml);
        }
            private Task <WorkItemQueryResult> QuerySingleBatchAsync(int id)
            {
                var fullWhereClause = $@"[{FieldNames.TeamProject}] = @Project AND [{FieldNames.Id}] > {
                        id
                    } {_extraWhereClause} ORDER BY [{FieldNames.Id}]";
                var query           = $"SELECT [{FieldNames.Id}] FROM WorkItems WHERE {fullWhereClause}";

                return(_client.PostAsync(WorkItemTracking.QueryByWiql(_project, _batchSize), new QueryByWiql(query)));
            }
Exemplo n.º 3
0
        private void MockQueryResultsByOne(IEnumerable <WorkItemReference> workItemReferences)
        {
            var results = workItemReferences
                          .Select(r => CreateWorkItemQueryResult(r))
                          .Append(CreateWorkItemQueryResult())
                          .ToImmutableList();

            _client
            .PostAsync(Arg.Any <IVstsRequest <QueryByWiql, WorkItemQueryResult> >(), Arg.Any <QueryByWiql>())
            .Returns(results.First(), results.Skip(1).ToArray());
        }
Exemplo n.º 4
0
        public Task UpdateAsync(Response.ApplicationGroup identity,
                                Response.PermissionsSetId permissionSet, Response.Permission permission)
        {
            if (identity == null)
            {
                throw new ArgumentNullException(nameof(identity));
            }

            return(_client.PostAsync(Requests.Permissions.ManagePermissions(_projectId),
                                     new ManagePermissionsData(identity.TeamFoundationId, permissionSet.DescriptorIdentifier,
                                                               permissionSet.DescriptorIdentityType, permission.PermissionToken, permission).Wrap()));
        }
Exemplo n.º 5
0
        public async Task QueryByWiql_ShouldReturnResults()
        {
            // Arrange

            // Act
            var result = await _client.PostAsync(WorkItemTracking.QueryByWiql(_config.Project, 1),
                                                 new QueryByWiql("select [System.Id] from WorkItems"));

            // Assert
            result.ShouldNotBeNull();
            result.WorkItems.ShouldNotBeEmpty();
            result.WorkItems.First().Id.ShouldNotBe(default);
        public async Task AddAndRemoveGroupMemberAsync()
        {
            var projectId = _client
                            .Get(Requests.Project.Projects())
                            .Single(x => x.Name == "SOx-compliant-demo").Id;

            var groupId = (await _client
                           .GetAsync(Requests.Security.Groups(projectId)))
                          .Identities
                          .Single(x => x.FriendlyDisplayName == "Project Administrators")
                          .TeamFoundationId;

            await _client.PostAsync(
                Requests.Security.AddMember(_config.Project),
                new Requests.Security.AddMemberData(
                    new [] { "ab84d5a2-4b8d-68df-9ad3-cc9c8884270c" },
                    new [] { groupId }));

            await _client.PostAsync(
                Requests.Security.EditMembership(_config.Project),
                new Requests.Security.RemoveMembersData(new[] { "ab84d5a2-4b8d-68df-9ad3-cc9c8884270c" }, groupId));
        }
Exemplo n.º 7
0
        public async Task ReconcileAsync(string projectId, string itemId)
        {
            var policies = _policiesResolver.Resolve(projectId);
            var policy   = Find(policies, itemId).SingleOrDefault();

            if (policy != null)
            {
                await _client.PutAsync(Requests.Policies.Policy(projectId, policy.Id), UpdatePolicy(policy))
                .ConfigureAwait(false);
            }
            else
            {
                await _client.PostAsync(Requests.Policies.Policy(projectId), InitializeMinimumNumberOfReviewersPolicy(itemId))
                .ConfigureAwait(false);
            }
        }
        private static async Task <JToken> SessionToken(IVstsRestClient client, string publisher, string extension)
        {
            var response = await client.PostAsync(new VstsRequest <object, JObject>(
                                                      "_apis/WebPlatformAuth/SessionToken",
                                                      new Dictionary {
                ["api-version"] = "3.2-preview.1"
            }),
                                                  new
            {
                ExtensionName = extension,
                PublisherName = publisher,
                TokenType     = 1
            }).ConfigureAwait(false);

            return(response.SelectToken("token"));
        }
 public async Task SetPermissionsAsync()
 {
     await _client.PostAsync(Requests.Permissions.ManagePermissions(_config.Project),
                             new ManagePermissionsData(
                                 "2c12fa83-5bdb-4085-a635-c7cd00cdfba5",
                                 "S-1-9-1551374245-50807123-3856808002-2418352955-3620213171-1-1337613045-2794958661-2397635820-2543327080",
                                 "Microsoft.TeamFoundation.Identity", "vstfs:///Classification/TeamProject/53410703-e2e5-4238-9025-233bd7c811b3",
                                 new Response.Permission
     {
         PermissionId = 2,
         PermissionBit = 4,
         NamespaceId = "52d39943-cb85-4d7f-8fa8-c6baac873819",
         PermissionToken = "$PROJECT:vstfs:///Classification/TeamProject/53410703-e2e5-4238-9025-233bd7c811b3:"
     }
                                 ).Wrap());
 }
Exemplo n.º 10
0
        public async Task GetSingle_ShouldReturnWorkItem()
        {
            // Arrange
            var queryResult = await _client.PostAsync(WorkItemTracking.QueryByWiql(_config.Project, 1),
                                                      new QueryByWiql($"select [System.Id] from WorkItems"));

            var workItem = queryResult.WorkItems.First();
            var fields   = new[] { FieldNames.TeamProject };

            // Act
            var result =
                await _client.GetAsync(WorkItemTracking.GetWorkItem(_config.Project, workItem.Id, fields,
                                                                    queryResult.AsOf));

            // Assert
            result.ShouldNotBeNull();
            result.Id.ShouldBe(workItem.Id);
            result.Fields.ShouldNotBeNull();
            result.Fields.ShouldContainKey(FieldNames.TeamProject);
            result.Fields[FieldNames.TeamProject].ShouldNotBeNull();
        }
        public async Task CreateAndDeleteEndpoint()
        {
            var fixture  = new Fixture();
            var name     = fixture.Create <string>().Substring(0, 10);
            var endpoint = await _vsts.PostAsync(Requests.ServiceEndpoint.Endpoint(_config.Project), new Response.ServiceEndpoint
            {
                Name          = name,
                Type          = "generic",
                Url           = new Uri("https://localhost"),
                Authorization = new Response.UsernamePassword("", null)
            });

            endpoint.Name.ShouldBe(name);
            endpoint.Type.ShouldBe("generic");
            endpoint.Url.ToString().ShouldBe("https://localhost/");

            await _vsts.DeleteAsync(Requests.ServiceEndpoint.Endpoint(_config.Project, endpoint.Id));

            await Task.Delay(TimeSpan.FromSeconds(10));

            var deletedEndpoint = await _vsts.GetAsync(Requests.ServiceEndpoint.Endpoint(_config.Project, endpoint.Id));

            deletedEndpoint.ShouldBeNull();
        }