public async Task FetchDeviceDataAsync_ServiceResponse_Failure() { var mockCirrusService = new Mock <API.ICirrusService>(); mockCirrusService.Setup( x => x.Fetch <Device>( It.IsAny <string>(), It.IsAny <string>(), It.IsAny <CancellationToken>() ) ).ReturnsAsync( ServiceResponse.Fail <IEnumerable <Device> >("Error occurred!") ).Verifiable(); using var cirrusRestWrapper = new CirrusRestWrapper( options: GetCirrusConfig(SampleApplicationKey, SampleMacAddress, SampleApiKey), service: mockCirrusService.Object ); var results = await cirrusRestWrapper.FetchDeviceDataAsync(DateTimeOffset.UtcNow, 100, CancellationToken.None); Assert.NotNull(results); Assert.IsEmpty(results); mockCirrusService.Verify(); }
public async Task FetchDeviceDataAsync_Success_ZeroLimit() { var mockCirrusService = new Mock <API.ICirrusService>(); using var cirrusRestWrapper = new CirrusRestWrapper( options: GetCirrusConfig(SampleApplicationKey, SampleMacAddress, SampleApiKey), service: mockCirrusService.Object ); var results = await cirrusRestWrapper.FetchDeviceDataAsync(DateTimeOffset.UtcNow, 0, CancellationToken.None); Assert.NotNull(results); Assert.IsEmpty(results); mockCirrusService.Verify(); }
public async Task FetchDeviceDataAsync_Success() { var mockCirrusService = new Mock <API.ICirrusService>(); IEnumerable <Device> expectedDeviceList = new List <Device> { new Device { MacAddress = SampleMacAddress } }; mockCirrusService.Setup( x => x.Fetch <Device>( It.IsAny <string>(), It.IsAny <string>(), It.IsAny <CancellationToken>() ) ).ReturnsAsync( ServiceResponse.Ok <IEnumerable <Device> >(expectedDeviceList) ).Verifiable(); using var cirrusRestWrapper = new CirrusRestWrapper( options: GetCirrusConfig(SampleApplicationKey, SampleMacAddress, SampleApiKey), service: mockCirrusService.Object ); var results = await cirrusRestWrapper.FetchDeviceDataAsync( System.DateTimeOffset.UtcNow, limit : 100, cancellationToken : CancellationToken.None ); Assert.NotNull(results); Assert.IsNotEmpty(results); mockCirrusService.Verify(); Assert.AreEqual(expectedDeviceList, results); }
public void FetchDeviceDataAsync_ArgumentValidation(string applicationKey, string macAddress, string apiKey) { var mockCirrusService = new Mock <API.ICirrusService>(); using var cirrusRestWrapper = new CirrusRestWrapper( options: GetCirrusConfig(applicationKey, macAddress, apiKey), service: mockCirrusService.Object ); var exception = Assert.ThrowsAsync <ArgumentException>( async() => await cirrusRestWrapper.FetchDeviceDataAsync(DateTimeOffset.UtcNow, 100, CancellationToken.None) ); Assert.Contains( exception.ParamName, new List <string> { nameof(cirrusRestWrapper.ApplicationKey), nameof(cirrusRestWrapper.ApiKey), nameof(cirrusRestWrapper.MacAddress) } ); }