public async Task AddStandardTest() { using (var scope = Fixture.Container.BeginLifetimeScope()) { var cl = scope.Resolve <HttpClient>(); await cl.PostJsonToActor(Fixture.TestMiddlewareUri, ActorName, "Add", TestStandard); var vstsConfig = scope.Resolve <VstsConfiguration>(); var vstsClient = scope.Resolve <GitHttpClient>(); var repos = await vstsClient.GetRepositoriesAsync(vstsConfig.VstsTargetProjectId, includeHidden : true); //check no fork was created repos.Should().NotContain(r => r.Name == TestFork.ToString()); } }
public void ForkRepo_ToStringTest() { var sut = new SourceCodeRepository { SourceRepositoryName = "SourceRepoName", TenantCode = "TNT", Fork = true }; sut.ToString().Should().Be("SourceRepoName-TNT"); }
public void StandardComponent_ToStringTest() { var sut = new SourceCodeRepository { SourceRepositoryName = "SourceRepoName", TenantCode = "TNT", Fork = false }; sut.ToString().Should().Be("SourceRepoName"); }
public async Task StandardRepoNotRemovedTest() { using (var scope = Fixture.Container.BeginLifetimeScope()) { var cl = scope.Resolve <HttpClient>(); await cl.PostJsonToActor(Fixture.TestMiddlewareUri, ActorName, "Remove", TestStandard); var vstsConfig = scope.Resolve <VstsConfiguration>(); var vstsClient = scope.Resolve <GitHttpClient>(); var repos = await vstsClient.GetRepositoriesAsync(vstsConfig.VstsTargetProjectId, includeHidden : true); //check standard repo still there repos.Should().ContainSingle(r => r.Name == TestStandard.ToString()); } }
public void Update_CheckNotCreatedBuildDefinitionRetry() { var forkRepoA = new SourceCodeRepository { SourceRepositoryName = "RepoA", State = EntityStateEnum.Created, TenantCode = "TenantA" }; var currentTenant = new Tenant { Code = "TenantA", Name = "oldName", SourceRepos = new List <SourceCodeRepository>(new[] { forkRepoA }), BuildDefinitions = new List <VstsBuildDefinition>(new[] { new VstsBuildDefinition { SourceCode = forkRepoA, State = EntityStateEnum.NotCreated, TenantCode = "TenantA" } }) }; var tenantRequest = new Tenant { SourceRepos = new List <SourceCodeRepository>(new[] { new SourceCodeRepository { SourceRepositoryName = "RepoA" } }) }; currentTenant.Update(tenantRequest, GetEnvironments()); currentTenant.BuildDefinitions.Should() .ContainSingle(d => d.SourceCode.ToString() == forkRepoA.ToString() && d.TenantCode == "TenantA" && d.State == EntityStateEnum.NotCreated); }
/// <summary> /// Creates a repository Fork through the VSTS <see cref="GitHttpClient"/>. /// </summary> /// <param name="client">The <see cref="GitHttpClient"/> used to create the Fork.</param> /// <param name="vstsCollectionId">The target collection ID where we are creating the fork on.</param> /// <param name="vstsTargetProjectId">The target project ID where we are creating the fork on.</param> /// <param name="sourceCodeRepository">fork definition</param> /// <returns>The async <see cref="Task{GitRepository}"/> wrapper with pre-existing or new repo</returns> internal static async Task <GitRepository> CreateForkIfNotExists(this GitHttpClient client, string vstsCollectionId, string vstsTargetProjectId, SourceCodeRepository sourceCodeRepository) { var sourceRepo = await client.LoadGitRepositoryIfExists(sourceCodeRepository.SourceRepositoryName); if (sourceRepo == null) { throw new ArgumentException($"Repository {sourceCodeRepository.SourceRepositoryName} not found"); } return(await CreateForkIfNotExists(client, vstsCollectionId, vstsTargetProjectId, sourceRepo, sourceCodeRepository.ToString())); }