Exemple #1
0
        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);
            }
Exemple #7
0
            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();
 }