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); }