public void ServerConfigJson_ToModel_Copies_Layer_TileServerSettings_To_Model() { var tileServerSettings = new TileServerSettings[] { new TileServerSettings() { Name = "Second Layer", IsLayer = true, DisplayOrder = 2, }, new TileServerSettings() { Name = "Third Layer", IsLayer = true, DisplayOrder = 3, }, new TileServerSettings() { Name = "First Layer", IsLayer = true, DisplayOrder = 1, }, }; _Configuration.GoogleMapSettings.MapProvider = MapProvider.Leaflet; _Configuration.GoogleMapSettings.TileServerSettingName = "My Layer"; _TileServerSettingsManager.Setup(r => r.GetAllTileLayerSettings(MapProvider.Leaflet)).Returns(tileServerSettings); var model = ServerConfigJson.ToModel(isLocalAddress: true); Assert.AreEqual(3, model.TileServerLayers.Count); Assert.AreSame(tileServerSettings[2], model.TileServerLayers[0]); Assert.AreSame(tileServerSettings[0], model.TileServerLayers[1]); Assert.AreSame(tileServerSettings[1], model.TileServerLayers[2]); }
public void ServerConfigJson_ToModel_Copies_Visible_Receiver_Details() { _Configuration.Receivers.Add(new Receiver() { UniqueId = 1, Name = "R1", ReceiverUsage = ReceiverUsage.MergeOnly }); _Configuration.Receivers.Add(new Receiver() { UniqueId = 2, Name = "R2", ReceiverUsage = ReceiverUsage.HideFromWebSite, }); _Configuration.Receivers.Add(new Receiver() { UniqueId = 3, Name = "R3", ReceiverUsage = ReceiverUsage.Normal, }); _Configuration.MergedFeeds.Add(new MergedFeed() { UniqueId = 10, Name = "M1", ReceiverUsage = ReceiverUsage.MergeOnly }); _Configuration.MergedFeeds.Add(new MergedFeed() { UniqueId = 11, Name = "M2", ReceiverUsage = ReceiverUsage.HideFromWebSite }); _Configuration.MergedFeeds.Add(new MergedFeed() { UniqueId = 12, Name = "M3", ReceiverUsage = ReceiverUsage.Normal }); var model = ServerConfigJson.ToModel(isLocalAddress: true); Assert.AreEqual(2, model.Receivers.Count); Assert.IsTrue(model.Receivers.Any(r => r.UniqueId == 3 && r.Name == "R3")); Assert.IsTrue(model.Receivers.Any(r => r.UniqueId == 12 && r.Name == "M3")); }
public void ServerConfigJson_ToModel_Sets_IsMono_When_Running_Under_Mono() { _RuntimeEnvironment.Setup(r => r.IsMono).Returns(true); var model = ServerConfigJson.ToModel(isLocalAddress: true); Assert.IsTrue(model.IsMono); }
public void ServerConfigJson_ToModel_Sets_VrsVersion_Correctly() { _ApplicationInformation.Setup(r => r.ShortVersion).Returns("1.2.3"); var model = ServerConfigJson.ToModel(isLocalAddress: true); Assert.AreEqual("1.2.3", model.VrsVersion); }
public void ServerConfigJson_ToModel_Clears_IsMono_When_Running_Under_DotNet() { _RuntimeEnvironment.Setup(r => r.IsMono).Returns(false); var model = ServerConfigJson.ToModel(isLocalAddress: true); Assert.IsFalse(model.IsMono); }
public void ServerConfigJson_ToModel_Sets_GoogleMapsApiKey_To_Local_Clients_When_Key_Present_And_Switch_Set() { _Configuration.GoogleMapSettings.GoogleMapsApiKey = "API Key"; _Configuration.GoogleMapSettings.UseGoogleMapsAPIKeyWithLocalRequests = true; var model = ServerConfigJson.ToModel(isLocalAddress: true); Assert.AreEqual("API Key", model.GoogleMapsApiKey); }
public void ServerConfigJson_ToModel_Sets_Null_GoogleMapsApiKey_For_Local_Clients_When_Key_Present() { _Configuration.GoogleMapSettings.GoogleMapsApiKey = "API Key"; _Configuration.GoogleMapSettings.UseGoogleMapsAPIKeyWithLocalRequests = false; var model = ServerConfigJson.ToModel(isLocalAddress: true); Assert.IsNull(model.GoogleMapsApiKey); }
public void ServerConfigJson_ToModel_Sets_GoogleMapsApiKey_For_Internet_Clients_When_Key_Present() { _Configuration.GoogleMapSettings.GoogleMapsApiKey = "API Key"; _Configuration.GoogleMapSettings.UseGoogleMapsAPIKeyWithLocalRequests = false; var model = ServerConfigJson.ToModel(isLocalAddress: false); Assert.AreEqual("API Key", model.GoogleMapsApiKey); }
public void ServerConfigJson_ToModel_Copies_Current_TileServerSettings_To_Model() { var tileServerSettings = new TileServerSettings(); _Configuration.GoogleMapSettings.MapProvider = MapProvider.Leaflet; _Configuration.GoogleMapSettings.TileServerSettingName = "My Tile Server"; _TileServerSettingsManager.Setup(r => r.GetTileServerSettings(MapProvider.Leaflet, "My Tile Server", true)).Returns(tileServerSettings); var model = ServerConfigJson.ToModel(isLocalAddress: true); Assert.AreSame(tileServerSettings, model.TileServerSettings); }
public void ServerConfigJson_ToModel_Fills_Model_Correctly() { var worksheet = new ExcelWorksheetData(TestContext); var isLocalAddress = true; using (var cultureSwitcher = new CultureSwitcher(worksheet.String("Culture"))) { var configProperty = worksheet.String("ConfigProperty"); var isMono = worksheet.Bool("IsMono"); _RuntimeEnvironment.Setup(r => r.IsMono).Returns(isMono); switch (configProperty) { case "VrsVersion": _ApplicationInformation.Setup(r => r.ShortVersion).Returns(worksheet.String("Value")); break; case "IsLocalAddress": isLocalAddress = worksheet.Bool("Value"); break; case "IsMono": break; case "InitialMapLatitude": _Configuration.GoogleMapSettings.InitialMapLatitude = worksheet.Double("Value"); break; case "InitialMapLongitude": _Configuration.GoogleMapSettings.InitialMapLongitude = worksheet.Double("Value"); break; case "InitialMapType": _Configuration.GoogleMapSettings.InitialMapType = worksheet.EString("Value"); break; case "InitialMapZoom": _Configuration.GoogleMapSettings.InitialMapZoom = worksheet.Int("Value"); break; case "InitialRefreshSeconds": _Configuration.GoogleMapSettings.InitialRefreshSeconds = worksheet.Int("Value"); break; case "InitialSettings": _Configuration.GoogleMapSettings.InitialSettings = worksheet.EString("Value"); break; case "MinimumRefreshSeconds": _Configuration.GoogleMapSettings.MinimumRefreshSeconds = worksheet.Int("Value"); break; case "InitialDistanceUnit": _Configuration.GoogleMapSettings.InitialDistanceUnit = worksheet.ParseEnum <DistanceUnit>("Value"); break; case "InitialHeightUnit": _Configuration.GoogleMapSettings.InitialHeightUnit = worksheet.ParseEnum <HeightUnit>("Value"); break; case "InitialSpeedUnit": _Configuration.GoogleMapSettings.InitialSpeedUnit = worksheet.ParseEnum <SpeedUnit>("Value"); break; case "CanRunReports": _Configuration.InternetClientSettings.CanRunReports = worksheet.Bool("Value"); break; case "CanShowPinText": _Configuration.InternetClientSettings.CanShowPinText = worksheet.Bool("Value"); break; case "TimeoutMinutes": _Configuration.InternetClientSettings.TimeoutMinutes = worksheet.Int("Value"); break; case "CanPlayAudio": _Configuration.InternetClientSettings.CanPlayAudio = worksheet.Bool("Value"); break; case "CanSubmitRoutes": _Configuration.InternetClientSettings.CanSubmitRoutes = worksheet.Bool("Value"); break; case "CanShowPictures": _Configuration.InternetClientSettings.CanShowPictures = worksheet.Bool("Value"); break; case "AudioEnabled": _Configuration.AudioSettings.Enabled = worksheet.Bool("Value"); break; case "CanShowPolarPlots": _Configuration.InternetClientSettings.CanShowPolarPlots = worksheet.Bool("Value"); break; case "UseMarkerLabels": _Configuration.MonoSettings.UseMarkerLabels = worksheet.Bool("Value"); break; case "UseSvgGraphicsOnDesktop": _Configuration.GoogleMapSettings.UseSvgGraphicsOnDesktop = worksheet.Bool("Value"); break; case "UseSvgGraphicsOnMobile": _Configuration.GoogleMapSettings.UseSvgGraphicsOnMobile = worksheet.Bool("Value"); break; case "UseSvgGraphicsOnReports": _Configuration.GoogleMapSettings.UseSvgGraphicsOnReports = worksheet.Bool("Value"); break; case "OpenStreetMapTileServerUrl": _Configuration.GoogleMapSettings.OpenStreetMapTileServerUrl = worksheet.EString("Value"); break; default: throw new NotImplementedException(); } } var model = ServerConfigJson.ToModel(isLocalAddress); var propertyName = worksheet.String("ConfigProperty"); switch (propertyName) { case "VrsVersion": Assert.AreEqual(worksheet.EString("JsonValue"), model.VrsVersion); break; case "IsLocalAddress": Assert.AreEqual(worksheet.Bool("JsonValue"), model.IsLocalAddress); break; case "IsMono": Assert.AreEqual(worksheet.Bool("JsonValue"), model.IsMono); break; case "InitialMapLatitude": Assert.AreEqual(worksheet.Double("JsonValue"), model.InitialLatitude); break; case "InitialMapLongitude": Assert.AreEqual(worksheet.Double("JsonValue"), model.InitialLongitude); break; case "InitialMapType": Assert.AreEqual(worksheet.EString("JsonValue"), model.InitialMapType); break; case "InitialMapZoom": Assert.AreEqual(worksheet.Int("JsonValue"), model.InitialZoom); break; case "InitialRefreshSeconds": Assert.AreEqual(worksheet.Int("JsonValue"), model.RefreshSeconds); break; case "InitialSettings": Assert.AreEqual(worksheet.EString("JsonValue"), model.InitialSettings); break; case "MinimumRefreshSeconds": Assert.AreEqual(worksheet.Int("JsonValue"), model.MinimumRefreshSeconds); break; case "InitialDistanceUnit": Assert.AreEqual(worksheet.String("JsonValue"), model.InitialDistanceUnit); break; case "InitialHeightUnit": Assert.AreEqual(worksheet.String("JsonValue"), model.InitialHeightUnit); break; case "InitialSpeedUnit": Assert.AreEqual(worksheet.String("JsonValue"), model.InitialSpeedUnit); break; case "CanRunReports": Assert.AreEqual(worksheet.Bool("JsonValue"), model.InternetClientCanRunReports); break; case "CanShowPinText": Assert.AreEqual(worksheet.Bool("JsonValue"), model.InternetClientCanShowPinText); break; case "TimeoutMinutes": Assert.AreEqual(worksheet.Int("JsonValue"), model.InternetClientTimeoutMinutes); break; case "CanPlayAudio": Assert.AreEqual(worksheet.Bool("JsonValue"), model.InternetClientsCanPlayAudio); break; case "CanSubmitRoutes": Assert.AreEqual(worksheet.Bool("JsonValue"), model.InternetClientsCanSubmitRoutes); break; case "CanShowPictures": Assert.AreEqual(worksheet.Bool("JsonValue"), model.InternetClientsCanSeeAircraftPictures); break; case "AudioEnabled": Assert.AreEqual(worksheet.Bool("JsonValue"), model.IsAudioEnabled); break; case "CanShowPolarPlots": Assert.AreEqual(worksheet.Bool("JsonValue"), model.InternetClientsCanSeePolarPlots); break; case "UseMarkerLabels": Assert.AreEqual(worksheet.Bool("JsonValue"), model.UseMarkerLabels); break; case "UseSvgGraphicsOnDesktop": Assert.AreEqual(worksheet.Bool("JsonValue"), model.UseSvgGraphicsOnDesktop); break; case "UseSvgGraphicsOnMobile": Assert.AreEqual(worksheet.Bool("JsonValue"), model.UseSvgGraphicsOnMobile); break; case "UseSvgGraphicsOnReports": Assert.AreEqual(worksheet.Bool("JsonValue"), model.UseSvgGraphicsOnReports); break; case "OpenStreetMapTileServerUrl": Assert.AreEqual(worksheet.EString("JsonValue"), model.OpenStreetMapTileServerUrl); break; default: throw new NotImplementedException(); } }
[Route("ServerConfig.json")] // pre version 3 route public ServerConfigJson GetServerConfig() { return(ServerConfigJson.ToModel(Context.IsLocalOrLan)); }
[Route("ServerConfig.json")] // pre version 3 route public ServerConfigJson GetServerConfig() { return(ServerConfigJson.ToModel(PipelineRequest.IsLocalOrLan)); }