public async Task IncludesExpectedHeaders() { using (new MockServer(MockApiClientOptions.TestPort, string.Empty, (req, rsp, prm) => { var appInfo = new MockAppInfo(); var deviceInfo = new MockDeviceInfo(); foreach (var key in req.Headers.AllKeys) { TestOutputHelper.WriteLine($"{key}: {req.Headers.Get(key)}"); } Assert.Contains("Authorization", req.Headers.AllKeys); Assert.Equal($"BEARER {MockAuthenticationHandler.Token}", req.Headers.Get("Authorization")); Assert.Contains("X-MobileAppVer", req.Headers.AllKeys); Assert.Equal(appInfo.VersionString, req.Headers.Get("X-MobileAppVer")); Assert.Contains("X-DeviceModel", req.Headers.AllKeys); Assert.Equal(deviceInfo.Model, req.Headers["X-DeviceModel"]); Assert.Contains("X-DeviceManufacturer", req.Headers.AllKeys); Assert.Equal(deviceInfo.Manufacturer, req.Headers["X-DeviceManufacturer"]); Assert.Contains("X-DeviceName", req.Headers.AllKeys); Assert.Equal(deviceInfo.Name, req.Headers["X-DeviceName"]); Assert.Contains("X-DevicePlatform", req.Headers.AllKeys); Assert.Equal(deviceInfo.Platform.ToString(), req.Headers["X-DevicePlatform"]); Assert.Contains("X-DeviceIdiom", req.Headers.AllKeys); Assert.Equal(deviceInfo.Idiom.ToString(), req.Headers["X-DeviceIdiom"]); Assert.Contains("User-Agent", req.Headers.AllKeys); Assert.Equal($"{appInfo.Name}/{appInfo.VersionString}", req.Headers["User-Agent"]); Assert.Contains("Cache-Control", req.Headers.AllKeys); Assert.Equal("no-cache", req.Headers["Cache-Control"]); Assert.Contains("Accept", req.Headers.AllKeys); Assert.Equal("application/json", req.Headers["Accept"]); })) { var client = CreateClient(); var service = new MockApiService(client); await service.MockGet(); } }
public override void Setup() { base.Setup(); AppInfo.SetCurrent(mockAppInfo = new MockAppInfo()); Application.Current = new MockApplication(); }