protected override void ProcessRecord() { base.ProcessRecord(); StartMigrationRequest request; try { request = new StartMigrationRequest { MigrationId = MigrationId, IfMatch = IfMatch, OpcRetryToken = OpcRetryToken, OpcRequestId = OpcRequestId, StartMigrationDetails = StartMigrationDetails }; response = client.StartMigration(request).GetAwaiter().GetResult(); WriteOutput(response, response.Job); FinishProcessing(response); } catch (Exception ex) { TerminatingErrorDuringExecution(ex); } }
public async Task StartNewMigration() { var repoNames = _repos.Select(repo => repo.Repository.FullName).ToList(); var migrationRequest = new StartMigrationRequest(repoNames); _migrationContext = await _gitHub.Migration.Migrations.Start(_orgName, migrationRequest); Assert.Equal(3, _migrationContext.Repositories.Count); Assert.Equal(Migration.MigrationState.Pending, _migrationContext.State); ChecksMigrationCompletion(); }
public void RequestsCorrectUrl() { var connection = Substitute.For<IApiConnection>(); var client = new MigrationsClient(connection); var migrationRequest = new StartMigrationRequest(new List<string> { "fake/repo" }); client.Start("fake", migrationRequest); connection.Received().Post<Migration>( Arg.Is<Uri>(u => u.ToString() == "orgs/fake/migrations"), Arg.Any<StartMigrationRequest>(), AcceptHeaders.MigrationsApiPreview); }
public void CallsIntoClient() { var github = Substitute.For<IGitHubClient>(); var client = new ObservableMigrationsClient(github); var migrationRequest = new StartMigrationRequest( new List<string> { "fake/repo" }, true, false); client.Start("fake", migrationRequest); github.Migration.Migrations.Received(1).Start( "fake", Arg.Is<StartMigrationRequest>(m => m.Equals(migrationRequest))); }
public void RequestsCorrectUrl() { var connection = Substitute.For <IApiConnection>(); var client = new MigrationsClient(connection); var migrationRequest = new StartMigrationRequest(new List <string> { "fake/repo" }); client.Start("fake", migrationRequest); connection.Received().Post <Migration>( Arg.Is <Uri>(u => u.ToString() == "orgs/fake/migrations"), Arg.Any <StartMigrationRequest>(), "application/vnd.github.wyandotte-preview+json"); }
public void RequestsCorrectUrl() { var connection = Substitute.For <IApiConnection>(); var client = new MigrationsClient(connection); var migrationRequest = new StartMigrationRequest(new List <string> { "fake/repo" }); client.Start("fake", migrationRequest); connection.Received().Post <Migration>( Arg.Is <Uri>(u => u.ToString() == "orgs/fake/migrations"), Arg.Any <StartMigrationRequest>(), AcceptHeaders.MigrationsApiPreview); }
public void CallsIntoClient() { var github = Substitute.For <IGitHubClient>(); var client = new ObservableMigrationsClient(github); var migrationRequest = new StartMigrationRequest( new List <string> { "fake/repo" }, true, false); client.Start("fake", migrationRequest); github.Migration.Migrations.Received(1).Start( "fake", Arg.Is <StartMigrationRequest>(m => m.Equals(migrationRequest))); }
public async Task EnsuresNonNullAndNonEmptyArguments() { var connection = Substitute.For <IApiConnection>(); var client = new MigrationsClient(connection); var migrationRequest = new StartMigrationRequest(new List <string> { "fake/repo" }); await Assert.ThrowsAsync <ArgumentNullException>( () => client.Start(null, migrationRequest)); await Assert.ThrowsAsync <ArgumentException>( () => client.Start("", migrationRequest)); await Assert.ThrowsAsync <ArgumentNullException>( () => client.Start("fake", null)); }
public void PassesRequestBody() { var connection = Substitute.For <IApiConnection>(); var client = new MigrationsClient(connection); var migrationRequest = new StartMigrationRequest(new List <string> { "fake/repo" }); client.Start("fake", migrationRequest); connection.Received().Post <Migration>( Arg.Any <Uri>(), Arg.Is <StartMigrationRequest>(m => m.Repositories.Equals(migrationRequest.Repositories) && m.LockRepositories == migrationRequest.LockRepositories && m.ExcludeAttachments == migrationRequest.ExcludeAttachments), "application/vnd.github.wyandotte-preview+json"); }
/// <summary> /// Starts a new migration specified for the given organization. /// </summary> /// <remarks> /// https://developer.github.com/v3/migration/migrations/#start-a-migration /// </remarks> /// <param name="org">The organization for which to start a migration.</param> /// <param name="migration">Sprcifies parameters for the migration in a /// <see cref="StartMigrationRequest"/> object.</param> /// <returns>The started migration.</returns> public IObservable <Migration> Start(string org, StartMigrationRequest migration) { return(_client.Start(org, migration).ToObservable()); }
public async Task EnsuresNonNullAndNonEmptyArguments() { var connection = Substitute.For<IApiConnection>(); var client = new MigrationsClient(connection); var migrationRequest = new StartMigrationRequest(new List<string> { "fake/repo" }); await Assert.ThrowsAsync<ArgumentNullException>( () => client.Start(null, migrationRequest)); await Assert.ThrowsAsync<ArgumentException>( () => client.Start("", migrationRequest)); await Assert.ThrowsAsync<ArgumentNullException>( () => client.Start("fake", null)); }
public void PassesRequestBody() { var connection = Substitute.For<IApiConnection>(); var client = new MigrationsClient(connection); var migrationRequest = new StartMigrationRequest(new List<string> { "fake/repo" }); client.Start("fake", migrationRequest); connection.Received().Post<Migration>( Arg.Any<Uri>(), Arg.Is<StartMigrationRequest>(m => m.Repositories.Equals(migrationRequest.Repositories) && m.LockRepositories == migrationRequest.LockRepositories && m.ExcludeAttachments == migrationRequest.ExcludeAttachments), AcceptHeaders.MigrationsApiPreview); }
/// <summary> /// Starts a new migration specified for the given organization. /// </summary> /// <remarks> /// https://developer.github.com/v3/migration/migrations/#start-a-migration /// </remarks> /// <param name="org">The organization for which to start a migration.</param> /// <param name="migration">Sprcifies parameters for the migration in a /// <see cref="StartMigrationRequest"/> object.</param> /// <returns>The started migration.</returns> public IObservable<Migration> Start(string org, StartMigrationRequest migration) { return _client.Start(org, migration).ToObservable(); }