public void Test_GetMarsRovers(int expectedRoverCount, int expectedCuriosityCameras)
        {
            var logger = new NullLogger <NasaApiClient>();

            INasaApiSettings settings = new NasaApiSettings()
            {
                NasaApiUrl   = "https://api.nasa.gov",
                MarsRoverApi = "mars-photos/api/v1/rovers",
                NasaApiKey   = "b4rSDXQkrk4eKsUcU8zBfXykwe9cktbqg78Nmg3x"
            };

            using (HttpClient _httpClient = new HttpClient())
            {
                INasaApiClient client = new NasaApiClient(_httpClient, logger, settings);

                NasaMarsRovers nasaMarsRovers = client.GetRoversAsync().Result;

                Assert.NotNull(nasaMarsRovers);
                Assert.NotNull(nasaMarsRovers.Rovers);
                Assert.Equal(expectedRoverCount, nasaMarsRovers.Rovers.Count);
                if (nasaMarsRovers.Rovers.Count > 0)
                {
                    Assert.Equal("Curiosity", nasaMarsRovers.Rovers[0].Name);
                    Assert.Equal(expectedCuriosityCameras, nasaMarsRovers.Rovers[0].Cameras.Count);
                }
            }
        }
        public async Task <IList <Rover> > InitializeRovers()
        {
            IList <Rover> dbRovers = null;

            if (!await _marsRoverDbRepository.DoRoversExists())
            {
                NasaMarsRovers nasaMarsRovers = await _nasaApiClient.GetRoversAsync();

                List <Rover> rovers = _mapper.Map <List <Rover> >(nasaMarsRovers.Rovers);
                dbRovers = await _marsRoverDbRepository.CreateRovers(rovers);
            }

            return(dbRovers);
        }