Example #1
0
        private static async Task <bool> DeleteMatch(BasketballHttpClient basketballClient, int matchId)
        {
            Console.WriteLine("Deleting match with id " + matchId);

            var matchDeleteResult = await basketballClient.DeleteMatch(matchId);

            if (!matchDeleteResult.IsSuccessStatusCode)
            {
                WriteRed("Match not deleted.");
                Console.WriteLine($"{matchDeleteResult.StatusCode}:{await matchDeleteResult.Content.ReadAsStringAsync()}");
                Console.WriteLine();
                return(false);
            }

            WriteGreen("Match deleted.");
            Console.WriteLine();
            return(true);
        }
Example #2
0
        private static async Task <bool> UpdateMatch(BasketballHttpClient basketballClient, int matchId, Match updatedMatch)
        {
            Console.WriteLine("Updating match with id: " + matchId);
            Console.WriteLine(JsonSerializer.Serialize(updatedMatch, _serializerSettings));

            var matchUpdateResult = await basketballClient.UpdateMatch(matchId, updatedMatch);

            if (!matchUpdateResult.IsSuccessStatusCode)
            {
                WriteRed("Match not updated.");
                Console.WriteLine($"{matchUpdateResult.StatusCode}:{await matchUpdateResult.Content.ReadAsStringAsync()}");
                Console.WriteLine();
                return(false);
            }

            WriteGreen("Match updated.");
            Console.WriteLine();
            return(true);
        }
Example #3
0
        private static async Task <IEnumerable <Match> > GetMatches(BasketballHttpClient basketballClient)
        {
            Console.WriteLine("Getting matches");

            var matchGetResult = await basketballClient.GetMatches();

            if (!matchGetResult.IsSuccess)
            {
                WriteRed("No matches found.");
                Console.WriteLine($"{matchGetResult.StatusCode}:{matchGetResult.ErrorMessage}");
                Console.WriteLine();
                return(null);
            }

            var foundMatches = matchGetResult.Matches;

            WriteGreen("Matches found.");
            Console.WriteLine(JsonSerializer.Serialize(foundMatches));
            Console.WriteLine();

            return(foundMatches);
        }
Example #4
0
        private static async Task <Match> GetMatchById(BasketballHttpClient basketballClient, int matchId)
        {
            Console.WriteLine("Getting match with id: " + matchId);

            var matchGetResult = await basketballClient.GetMatchById(matchId);

            if (!matchGetResult.IsSuccess)
            {
                WriteRed("Match not found.");
                Console.WriteLine($"{matchGetResult.StatusCode}:{matchGetResult.ErrorMessage}");
                Console.WriteLine();
                return(null);
            }

            var foundMatch = matchGetResult.Match;

            WriteGreen("Match found.");
            Console.WriteLine(JsonSerializer.Serialize(foundMatch));
            Console.WriteLine();

            return(foundMatch);
        }
Example #5
0
        private static async Task <Match> AddMatch(BasketballHttpClient basketballClient, Match matchToAdd)
        {
            Console.WriteLine("Adding match: ");
            Console.WriteLine(JsonSerializer.Serialize(matchToAdd, _serializerSettings));

            var matchAddResult = await basketballClient.AddMatch(matchToAdd);

            if (!matchAddResult.IsSuccess)
            {
                WriteRed("Match not added.");
                Console.WriteLine($"{matchAddResult.StatusCode}:{matchAddResult.ErrorMessage}");
                Console.WriteLine();
                return(null);
            }

            var createdMatch = matchAddResult.Match;

            WriteGreen("Match added.");
            Console.WriteLine(JsonSerializer.Serialize(createdMatch));
            Console.WriteLine();

            return(createdMatch);
        }
Example #6
0
        private static async Task TestBasketballApi()
        {
            var basketballClient = new BasketballHttpClient(_config.BasketballBaseUrl);

            var matchToAdd = new Match
            {
                HomeTeam       = "My team",
                GuestTeam      = "Your team",
                AvailableSeats = 100,
                MatchType      = MatchType.Qualifying,
                TicketPrice    = 1.2f
            };

            // Create match
            var createdMatch = await AddMatch(basketballClient, matchToAdd);

            if (createdMatch == null)
            {
                return;
            }

            if (!createdMatch.Id.HasValue)
            {
                WriteRed("Match ID was not returned by server. Aborting future operations...");
                return;
            }

            // Get by id
            var foundMatch = await GetMatchById(basketballClient, createdMatch.Id.Value);

            if (foundMatch == null)
            {
                return;
            }

            if (!foundMatch.Equals(createdMatch))
            {
                WriteRed("The created match and the found match are different.");
                return;
            }

            // Get all
            var foundMatches = await GetMatches(basketballClient);

            if (foundMatches.FirstOrDefault(m => m.Equals(foundMatch)) == null)
            {
                WriteRed("The created match was not found in the list of all matches.");
                return;
            }

            // Update
            var matchUpdate = new Match
            {
                HomeTeam       = "My updated team",
                GuestTeam      = "Your updated team",
                AvailableSeats = 9001,
                MatchType      = MatchType.Final,
                TicketPrice    = 420.0f
            };

            if (!await UpdateMatch(basketballClient, createdMatch.Id.Value, matchUpdate))
            {
                return;
            }

            var updatedMatch = await GetMatchById(basketballClient, createdMatch.Id.Value);

            matchUpdate.Id = updatedMatch.Id;
            if (!updatedMatch.Equals(matchUpdate))
            {
                WriteRed("Match was not updated correctly.");
                return;
            }

            // Delete
            if (!await DeleteMatch(basketballClient, createdMatch.Id.Value))
            {
                return;
            }

            var finalMatches = await GetMatches(basketballClient);

            if (finalMatches.FirstOrDefault(m => m.Equals(updatedMatch)) != null)
            {
                WriteRed("Match was not actually deleted.");
                return;
            }

            Console.WriteLine();
            WriteGreen("Test ended successfully.");
        }