コード例 #1
0
        public Response <TxSessionCredentials> TemporaryLogin(TemporaryLoginRequest request)
        {
            var response = client.PostAsync(TEMPORARY_ORGANIZER_LOGIN, RequestSerializer.Content(request)).Result;

            if (response.IsSuccessStatusCode)
            {
                return(Newtonsoft.Json.JsonConvert.DeserializeObject <Response <TxSessionCredentials> >(response.Content.ReadAsStringAsync().Result));
            }
            return(new Response <TxSessionCredentials>(response.RequestMessage.ToString(), (int)response.StatusCode));
        }
コード例 #2
0
        public Response <EmptyResponse> CreateTournament(CreateTournamentRequest request)
        {
            var response = client.PostAsync("tournament", RequestSerializer.Content(request)).Result;

            if (response.IsSuccessStatusCode)
            {
                return(Newtonsoft.Json.JsonConvert.DeserializeObject <Response <EmptyResponse> >(response.Content.ReadAsStringAsync().Result));
            }
            return(new Response <EmptyResponse>(response.RequestMessage.ToString(), (int)response.StatusCode));
        }
コード例 #3
0
        public Response <TxSessionCredentials> Login(AdminLoginRequest request)
        {
            var response = client.PostAsync(ADMIN_LOGIN, RequestSerializer.Content(request)).Result;

            if (response.IsSuccessStatusCode)
            {
                var userResponse = Newtonsoft.Json.JsonConvert.DeserializeObject <Response <TxSessionCredentials> >(response.Content.ReadAsStringAsync().Result);
                return(userResponse);
            }
            return(new Response <TxSessionCredentials>(response.RequestMessage.ToString(), (int)response.StatusCode));
        }
コード例 #4
0
        public Response <EmptyResponse> UpdatePlayer(TxSessionCredentials credentials, PlayerRequest request)
        {
            client.DefaultRequestHeaders.Add("UserId", credentials.UserId);
            client.DefaultRequestHeaders.Add("SessionId", credentials.SessionId);
            var response = client.PostAsync($"players/{request.Id}/notifications", RequestSerializer.Content(request)).Result;

            if (response.IsSuccessStatusCode)
            {
                return(Newtonsoft.Json.JsonConvert.DeserializeObject <Response <EmptyResponse> >(response.Content.ReadAsStringAsync().Result));
            }
            return(new Response <EmptyResponse>(response.RequestMessage.ToString(), (int)response.StatusCode));
        }
コード例 #5
0
        public Response <GetAccessTokenResponse> GenerateTemporaryOrganizer(TxSessionCredentials credentials, GenerateTemporaryOrganizerRequest request)
        {
            client.DefaultRequestHeaders.Add("SessionId", credentials.SessionId);
            var response = client.PostAsync(TEMPORARY_ORGANIZER, RequestSerializer.Content(request)).Result;

            if (response.IsSuccessStatusCode)
            {
                return(Newtonsoft.Json.JsonConvert.DeserializeObject <Response <GetAccessTokenResponse> >(response.Content.ReadAsStringAsync().Result));
            }

            return(new Response <GetAccessTokenResponse>(response.RequestMessage.ToString(), (int)response.StatusCode));
        }
コード例 #6
0
        public async Task TestAdminLogin()
        {
            // Arrange
            var request = new AdminLoginRequest("ToTheMoon2018");

            // Act
            var client   = _testHostFixture.Client;
            var response = await client.PostAsync("/api/admin/login", RequestSerializer.Content(request));

            // Assert
            response
            .StatusCode
            .Should()
            .Be(HttpStatusCode.OK);
        }
コード例 #7
0
        public async Task TestAdminLogin_WrongPostBodyCredentials()
        {
            // Arrange
            var request = new AdminLoginRequest("bar");

            // Act
            var client   = _testHostFixture.Client;
            var response = await client.PostAsync("/api/admin/login", RequestSerializer.Content(request));

            // Assert
            response
            .StatusCode
            .Should()
            .Be(HttpStatusCode.BadRequest);
        }
コード例 #8
0
        public async Task TestGrantAccessToken()
        {
            // Arrange
            var request = new GenerateTemporaryOrganizerRequest(TEST_TOURNAMENT_ID, TEST_NAME, TEST_EMAIL);

            // Act
            var client   = _testHostFixture.ClientWithMockedAuthorization();
            var response = await client.PostAsync("/api/organizer/accessToken", RequestSerializer.Content(request));

            // Assert
            response
            .StatusCode
            .Should()
            .Be(HttpStatusCode.OK);
        }
コード例 #9
0
        public async Task TestGrantAccessToken_WrongPostBody()
        {
            // Arrange
            var request = new GenerateTemporaryOrganizerRequest();

            // Act
            var client   = _testHostFixture.Client;
            var response = await client.PostAsync("/api/organizer/accessToken", RequestSerializer.Content(request));

            // Assert
            response
            .StatusCode
            .Should()
            .Be(HttpStatusCode.BadRequest);
        }
コード例 #10
0
        public async Task TestTempLogin()
        {
            // Arrange
            var request = new TemporaryLoginRequest("x1ckkk", TEST_EMAIL);

            // Act
            var client   = _testHostFixture.Client;
            var response = await client.PostAsync("/api/organizer/login", RequestSerializer.Content(request));

            // Assert
            response
            .StatusCode
            .Should()
            .Be(HttpStatusCode.OK);
        }
コード例 #11
0
        public async Task TestCreateTournament()
        {
            // Arrange
            int TEST_STYLE_ID = 1;
            int TEST_NUM_OF_STATIONS = 4;
            var request = new CreateTournamentRequest(TEST_TOURNAMENT_ID, TEST_STYLE_ID, TEST_NUM_OF_STATIONS);

            // Act
            var client = _testHostFixture.Client;
            var response = await client.PostAsync("/api/tournament/create", RequestSerializer.Content(request));

            // Assert
            response
            .StatusCode
            .Should()
            .Be(HttpStatusCode.OK);
        }
コード例 #12
0
        public Response <EmptyResponse> SendNotification(TxSessionCredentials credentials, string bracketId, string matchId, SendNotificationRequest request)
        {
            client.DefaultRequestHeaders.Add("UserId", credentials.UserId);
            client.DefaultRequestHeaders.Add("SessionId", credentials.SessionId);
            var response = client.PostAsync($"bracket/{bracketId}/match/{matchId}/notification", RequestSerializer.Content(request)).Result;

            if (response.IsSuccessStatusCode)
            {
                return(Newtonsoft.Json.JsonConvert.DeserializeObject <Response <EmptyResponse> >(response.Content.ReadAsStringAsync().Result));
            }
            return(new Response <EmptyResponse>(response.RequestMessage.ToString(), (int)response.StatusCode));
        }
コード例 #13
0
        public async Task TestAddPlayer()
        { 
            // Arrange
            var request = new PlayerRequest();
            request.Name = "Tom";

            // Act
            var client = _testHostFixture.ClientWithMockedAuthorization();
            var response = await client.PostAsync($"/api/tournament/{TEST_TOURNAMENT_ID}/player", RequestSerializer.Content(request));

            // Assert
            response
            .StatusCode
            .Should()
            .Be(HttpStatusCode.OK);

        }
コード例 #14
0
        public async Task TestLaunchTournament()
        {
            // Arrange
            int playersPerPool = 32;
            int numOfStations = 4;
            var request = new LaunchTournamentRequest(playersPerPool, numOfStations);

            // Act
            var client = _testHostFixture.Client;
            var response = await client.PostAsync($"/api/tournament/{TEST_TOURNAMENT_ID}/start", RequestSerializer.Content(request));

            // Assert
            response
            .StatusCode
            .Should()
            .Be(HttpStatusCode.OK);
        }