public async Task Should_Patch_A_Rocket_SerialNumber()
    {
        var client = new RocketClient(Factory.CreateClient());

        var rocket = await ServiceProvider.WithScoped <RocketDbContext>()
                     .Invoke(
            async z =>
        {
            var rocket = new ReadyRocket
            {
                Type         = RocketType.AtlasV,
                SerialNumber = "12345678901234"
            };
            z.Add(rocket);

            await z.SaveChangesAsync();
            return(rocket);
        }
            );

        var u = await client.PatchRocketAsync(
            rocket.Id.Value,
            new EditRocketPatchRequest
        {
            SerialNumber = new() { Value = "123456789012345" }
        }
예제 #2
0
        public async Task CheckServer()
        {
            if (string.IsNullOrEmpty(Host))
            {
                return;
            }

            if (_currentClient != null)
            {
                _currentClient.Dispose();
                _currentClient = null;
            }

            var client = new RocketClient(Host, this.Platform <IDispatcher>())
            {
                Proxy = Proxy
            };
            await client.Connect();

            //var result = await client.GetServerInformation();
            var settings = await client.GetPublicSettings();

            AuthServices = await client.SettingsOAuth();

            IsRocketChatServer = /*result != null &&*/ settings != null;
            if (settings != null)
            {
                AllowRegistration  = settings["Accounts_RegistrationForm"].Value <string>() == "Public";
                ShowLogin          = settings["Accounts_ShowFormLogin"].Value <bool>();
                AllowPasswordReset = settings["Accounts_PasswordReset"].Value <bool>();
                _currentClient     = client;
            }
        }
    public async Task Should_Not_Get_A_Missing_Rocket()
    {
        var client = new RocketClient(Factory.CreateClient());

        Func <Task> action = () => client.GetRocketAsync(Guid.NewGuid());
        await action.Should().ThrowAsync <ApiException <ProblemDetails> >()
        .Where(
            z => z.StatusCode == 404 && z.Result.Status == 404 && z.Result.Title == "Not Found"
            );
    }
        public RocketClientUnitTests()
        {
            mockAuthClient    = new Mock <IAuthClient>();
            mockConfiguration = new Mock <IConfiguration>();
            mockHttpClient    = new Mock <IHttpHelperClient>();
            mockLogger        = new Mock <ILogger>();

            mockConfiguration.Setup(x => x[It.Is <string>(s => s == "RocketApi:Url")]).Returns(fakeUrl);
            mockAuthClient.Setup(client => client.ObtainAccessTokenAsync()).ReturnsAsync(fakeToken);

            rocketClient = new RocketClient(mockAuthClient.Object, mockConfiguration.Object, mockLogger.Object, mockHttpClient.Object);
        }
예제 #5
0
    public async Task Should_Create_A_Rocket()
    {
        var client = new RocketClient(Factory.CreateClient());

        var response = await client.CreateRocketAsync(
            new CreateRocketRequest
        {
            Type         = RocketType.Falcon9,
            SerialNumber = "12345678901234"
        }
            );

        response.Result.Id.Should().NotBeEmpty();
    }
예제 #6
0
    public async Task Should_List_Specific_Kinds_Of_Rockets()
    {
        var client = new RocketClient(Factory.CreateClient());
        await ServiceProvider.WithScoped <RocketDbContext>()
        .Invoke(
            async z =>
        {
            var faker = new RocketFaker();
            z.AddRange(faker.UseSeed(100).Generate(10));

            await z.SaveChangesAsync();
        }
            );

        var response = await client.ListRocketsAsync(RocketType.AtlasV);

        response.Result.Should().HaveCount(5);
    }
    public async Task Should_Remove_Rocket()
    {
        var client = new RocketClient(Factory.CreateClient());
        var id     = await ServiceProvider.WithScoped <RocketDbContext>()
                     .Invoke(
            async z =>
        {
            var faker  = new RocketFaker();
            var rocket = faker.Generate();
            z.Add(rocket);

            await z.SaveChangesAsync().ConfigureAwait(false);
            return(rocket.Id);
        }
            );

        await client.RemoveRocketAsync(id.Value);

        ServiceProvider.WithScoped <RocketDbContext>().Invoke(c => c.Rockets.Should().BeEmpty());
    }
예제 #8
0
    public async Task Should_Throw_If_Rocket_Exists()
    {
        var client = new RocketClient(Factory.CreateClient());
        await client.CreateRocketAsync(
            new CreateRocketRequest
        {
            Type         = RocketType.Falcon9,
            SerialNumber = "12345678901234"
        }
            );

        Func <Task> action = () => client.CreateRocketAsync(
            new CreateRocketRequest
        {
            Type         = RocketType.Falcon9,
            SerialNumber = "12345678901234"
        }
            );
        var r = (await action.Should().ThrowAsync <ApiException <ProblemDetails> >())
                .And.Result;

        r.Title.Should().Be("Rocket Creation Failed");
    }
    public async Task Should_Update_A_Rocket()
    {
        var client = new RocketClient(Factory.CreateClient());

        var rocket = await ServiceProvider.WithScoped <RocketDbContext>()
                     .Invoke(
            async z =>
        {
            var rocket = new ReadyRocket
            {
                Type         = RocketType.Falcon9,
                SerialNumber = "12345678901234"
            };
            z.Add(rocket);

            await z.SaveChangesAsync();
            return(rocket);
        }
            );

        var u = await client.EditRocketAsync(
            rocket.Id.Value,
            new EditRocketRequest
        {
            Type         = ClientRocketType.FalconHeavy,
            SerialNumber = string.Join("", rocket.SerialNumber.Reverse())
        }
            );

        (u.StatusCode is >= 200 and < 300).Should().BeTrue();

        var response = await client.GetRocketAsync(rocket.Id.Value);

        response.Result.Type.Should().Be(ClientRocketType.FalconHeavy);
        response.Result.Sn.Should().Be("43210987654321");
    }
    public async Task Should_Get_A_Rocket()
    {
        var client = new RocketClient(Factory.CreateClient());
        var rocket = await ServiceProvider.WithScoped <RocketDbContext>()
                     .Invoke(
            async z =>
        {
            var rocket = new ReadyRocket
            {
                Type         = RocketType.Falcon9,
                SerialNumber = "12345678901234"
            };
            z.Add(rocket);

            await z.SaveChangesAsync();
            return(rocket.Id);
        }
            );

        var response = await client.GetRocketAsync(rocket.Value);

        response.Result.Type.Should().Be(HttpRocketType.Falcon9);
        response.Result.Sn.Should().Be("12345678901234");
    }
예제 #11
0
 public ChatMessageDataSource(RocketClient client, string roomId)
 {
     _client = client;
     _roomId = roomId;
 }