public void HasActivateRepositories_StillOneActive_ShouldReturnTrue()
        {
            var projectId        = Guid.NewGuid().ToString();
            var repositoryId     = Guid.NewGuid().ToString();
            var statusPolicyName = "TestPolic";

            var accountConfiguration = new AccountConfiguration();

            accountConfiguration.Activate(projectId, repositoryId, statusPolicyName);
            accountConfiguration.Activate(projectId, repositoryId, statusPolicyName + "2");
            accountConfiguration.Deactivate(projectId, repositoryId, statusPolicyName);

            accountConfiguration.HasActiveRepositories(projectId).Should().BeTrue();
        }
Esempio n. 2
0
        private async Task ActivateProjectAsync(AccountConfiguration configuration, string projectId, bool force = false)
        {
            if (configuration.IsActivated(projectId) && !force)
            {
                return;
            }

            var serviceFactory = _connectionFactory.CreateFactory(new Uri(configuration.BaseUrl),
                                                                  new VssBasicCredential(string.Empty, configuration.PersonalAccessToken));

            var client = await serviceFactory.GetClientAsync <ServiceHooksPublisherHttpClient>();

            var token = Guid.NewGuid().ToString();

            var pullRequestCreatedSubscription =
                await client.CreateSubscriptionAsync(CreateSubscription(projectId, token, "git.pullrequest.created"));

            var pullRequestUpdatedSubscription =
                await client.CreateSubscriptionAsync(CreateSubscription(projectId, token, "git.pullrequest.updated"));

            configuration.Activate(projectId, token, new[]
            {
                pullRequestCreatedSubscription.Id.ToString(),
                pullRequestUpdatedSubscription.Id.ToString()
            });

            await _configurationRepository.UpdateAsync(configuration);
        }
        public void ActivateStatusPolicy_NotActivated_ShouldReturnActivated()
        {
            var projectId        = Guid.NewGuid().ToString();
            var repositoryId     = Guid.NewGuid().ToString();
            var statusPolicyName = "TestPolic";

            var accountConfiguration = new AccountConfiguration();

            accountConfiguration.Activate(projectId, repositoryId, statusPolicyName);

            accountConfiguration.IsStatusPolicyEnabled(projectId, repositoryId, statusPolicyName).Should().BeTrue();
            accountConfiguration.HasActiveRepositories(projectId).Should().BeTrue();
        }
        public void ActivateProject_Activated_ShouldActivateProjectAndReturnsServiceHookIds()
        {
            var projectId       = Guid.NewGuid().ToString();
            var serviceHookIds1 = new[]
            {
                Guid.NewGuid().ToString(),
                Guid.NewGuid().ToString()
            };

            var serviceHookIds2 = new[]
            {
                Guid.NewGuid().ToString(),
                Guid.NewGuid().ToString()
            };

            var accountConfiguration = new AccountConfiguration();

            accountConfiguration.Activate(projectId, new Guid().ToString(), serviceHookIds1);
            accountConfiguration.Activate(projectId, new Guid().ToString(), serviceHookIds2);

            accountConfiguration.IsActivated(projectId).Should().BeTrue();
            accountConfiguration.GetServiceHookIds(projectId).Should().Contain(serviceHookIds1);
        }
        public void DeactivateProject_Activated_ShouldDeactivateProjectAndNotReturnsServiceHookIds()
        {
            var projectId      = Guid.NewGuid().ToString();
            var serviceHookIds = new[]
            {
                Guid.NewGuid().ToString(),
                Guid.NewGuid().ToString()
            };

            var accountConfiguration = new AccountConfiguration();

            accountConfiguration.Activate(projectId, new Guid().ToString(), serviceHookIds);
            accountConfiguration.Deactivate(projectId);

            accountConfiguration.IsActivated(projectId).Should().BeFalse();
            accountConfiguration.GetServiceHookIds(projectId).Should().BeEmpty();
        }