public void Deserialize_SerializedModel_CanDeserialize() { // This test creates a v1 model, serializes it to yaml, and then verifies that // the V1Deserializer can deserialize it. // Arrange var yaml = _configurationSerializer.Serialize(_metricsDeclaration); // Act var deserializedModel = _v1Deserializer.Deserialize(YamlUtils.CreateYamlNode(yaml), _errorReporter); // Assert Assert.NotNull(deserializedModel); Assert.Equal("tenant", deserializedModel.AzureMetadata.TenantId); Assert.Equal("subscription", deserializedModel.AzureMetadata.SubscriptionId); Assert.Equal("promitor-group", deserializedModel.AzureMetadata.ResourceGroupName); Assert.Equal(TimeSpan.FromMinutes(7), deserializedModel.MetricDefaults.Aggregation.Interval); Assert.Equal("1 2 3 4 5", deserializedModel.MetricDefaults.Scraping.Schedule); // Check first metric Assert.Equal("promitor_demo_generic_queue_size", deserializedModel.Metrics.ElementAt(0).Name); Assert.Equal("Amount of active messages of the 'orders' queue (determined with Generic provider)", deserializedModel.Metrics.ElementAt(0).Description); Assert.Equal(ResourceType.Generic, deserializedModel.Metrics.ElementAt(0).ResourceType); Assert.Equal(new Dictionary <string, string> { { "app", "promitor" } }, deserializedModel.Metrics.ElementAt(0).Labels); Assert.Equal("ActiveMessages", deserializedModel.Metrics.ElementAt(0).AzureMetricConfiguration.MetricName); Assert.Equal(AggregationType.Average, deserializedModel.Metrics.ElementAt(0).AzureMetricConfiguration.Aggregation.Type); Assert.Equal(2, deserializedModel.Metrics.ElementAt(0).Resources.Count); var genericResource1 = Assert.IsType <GenericResourceV1>(deserializedModel.Metrics.ElementAt(0).Resources.ElementAt(0)); Assert.Equal("Microsoft.ServiceBus/namespaces/promitor-messaging", genericResource1.ResourceUri); Assert.Equal("EntityName eq 'orders'", genericResource1.Filter); var genericResource2 = Assert.IsType <GenericResourceV1>(deserializedModel.Metrics.ElementAt(0).Resources.ElementAt(1)); Assert.Equal("Microsoft.ServiceBus/namespaces/promitor-messaging", genericResource2.ResourceUri); Assert.Equal("EntityName eq 'accounts'", genericResource2.Filter); // Check second metric Assert.Equal("promitor_demo_servicebusqueue_queue_size", deserializedModel.Metrics.ElementAt(1).Name); Assert.Equal("Amount of active messages of the 'orders' queue (determined with ServiceBusQueue provider)", deserializedModel.Metrics.ElementAt(1).Description); Assert.Equal(ResourceType.ServiceBusQueue, deserializedModel.Metrics.ElementAt(1).ResourceType); Assert.Null(deserializedModel.Metrics.ElementAt(1).Labels); Assert.Equal(TimeSpan.FromMinutes(15), deserializedModel.Metrics.ElementAt(1).AzureMetricConfiguration.Aggregation.Interval); Assert.Equal("5 4 3 2 1", deserializedModel.Metrics.ElementAt(1).Scraping.Schedule); Assert.Single(deserializedModel.Metrics.ElementAt(1).Resources); var serviceBusQueueResource = Assert.IsType <ServiceBusQueueResourceV1>(deserializedModel.Metrics.ElementAt(1).Resources.ElementAt(0)); Assert.Equal("promitor-messaging", serviceBusQueueResource.Namespace); Assert.Equal("orders", serviceBusQueueResource.QueueName); Assert.Equal("promitor-demo-group", serviceBusQueueResource.ResourceGroupName); Assert.NotNull(deserializedModel.Metrics.ElementAt(1).ResourceCollections); Assert.Single(deserializedModel.Metrics.ElementAt(1).ResourceCollections); var resourceCollection = deserializedModel.Metrics.ElementAt(1).ResourceCollections.ElementAt(0); Assert.Equal("example-resource-collection", resourceCollection.Name); }
public void YamlSerialization_SerializeAndDeserializeValidConfigForCosmosDb_SucceedsWithIdenticalOutput(string resourceGroupName, string defaultScrapingInterval, string metricScrapingInterval) { // Arrange var azureMetadata = GenerateBogusAzureMetadata(); var cosmosDbMetricDefinition = GenerateBogusCosmosDbMetricDefinition(resourceGroupName, metricScrapingInterval); var metricDefaults = GenerateBogusMetricDefaults(defaultScrapingInterval); var scrapingConfiguration = new MetricsDeclarationV1 { Version = SpecVersion.v1.ToString(), AzureMetadata = azureMetadata, MetricDefaults = metricDefaults, Metrics = new List <MetricDefinitionV1> { cosmosDbMetricDefinition } }; var configurationSerializer = new ConfigurationSerializer(NullLogger.Instance, Mapper); // Act var serializedConfiguration = configurationSerializer.Serialize(scrapingConfiguration); var deserializedConfiguration = configurationSerializer.Deserialize(serializedConfiguration); // Assert Assert.NotNull(deserializedConfiguration); AssertAzureMetadata(deserializedConfiguration, azureMetadata); AssertMetricDefaults(deserializedConfiguration, metricDefaults); Assert.NotNull(deserializedConfiguration.Metrics); Assert.Single(deserializedConfiguration.Metrics); var deserializedMetricDefinition = deserializedConfiguration.Metrics.FirstOrDefault(); AssertMetricDefinition(deserializedMetricDefinition, cosmosDbMetricDefinition); AssertCosmosDbMetricDefinition(deserializedMetricDefinition, cosmosDbMetricDefinition); }
public void YamlSerialization_SerializeAndDeserializeValidConfigForServiceBus_SucceedsWithIdenticalOutput(string resourceGroupName, string defaultScrapingInterval, string metricScrapingInterval) { // Arrange var azureMetadata = GenerateBogusAzureMetadata(); var serviceBusMetricDefinition = GenerateBogusServiceBusMetricDefinition(resourceGroupName, metricScrapingInterval); var metricDefaults = GenerateBogusMetricDefaults(defaultScrapingInterval); var scrapingConfiguration = new Core.Scraping.Configuration.Model.MetricsDeclaration { AzureMetadata = azureMetadata, MetricDefaults = metricDefaults, Metrics = new List <MetricDefinition> { serviceBusMetricDefinition } }; var configurationSerializer = new ConfigurationSerializer(NullLogger.Instance); // Act var serializedConfiguration = configurationSerializer.Serialize(scrapingConfiguration); var deserializedConfiguration = configurationSerializer.Deserialize(serializedConfiguration); // Assert Assert.NotNull(deserializedConfiguration); AssertAzureMetadata(deserializedConfiguration, azureMetadata); AssertMetricDefaults(deserializedConfiguration, metricDefaults); Assert.NotNull(deserializedConfiguration.Metrics); Assert.Single(deserializedConfiguration.Metrics); var deserializedMetricDefinition = deserializedConfiguration.Metrics.FirstOrDefault(); AssertMetricDefinition(deserializedMetricDefinition, serviceBusMetricDefinition); var deserializedServiceBusMetricDefinition = deserializedMetricDefinition as ServiceBusQueueMetricDefinition; AssertServiceBusQueueMetricDefinition(deserializedServiceBusMetricDefinition, serviceBusMetricDefinition); }
public void YamlSerialization_SerializeAndDeserializeValidConfigForAzureStorageQueue_SucceedsWithIdenticalOutput(string resourceGroupName, string defaultScrapingInterval, string metricScrapingInterval, string sasTokenRawValue, string sasTokenEnvironmentVariable) { // Arrange var azureMetadata = GenerateBogusAzureMetadata(); var azureStorageQueueMetricDefinition = GenerateBogusAzureStorageQueueMetricDefinition(resourceGroupName, metricScrapingInterval, sasTokenRawValue, sasTokenEnvironmentVariable); var metricDefaults = GenerateBogusMetricDefaults(defaultScrapingInterval); var scrapingConfiguration = new Promitor.Core.Scraping.Configuration.Serialization.v1.Model.MetricsDeclarationV1 { Version = SpecVersion.v1.ToString(), AzureMetadata = azureMetadata, MetricDefaults = metricDefaults, Metrics = new List <MetricDefinitionV1> { azureStorageQueueMetricDefinition } }; var configurationSerializer = new ConfigurationSerializer(NullLogger.Instance, Mapper); // Act var serializedConfiguration = configurationSerializer.Serialize(scrapingConfiguration); var deserializedConfiguration = configurationSerializer.Deserialize(serializedConfiguration); // Assert Assert.NotNull(deserializedConfiguration); AssertAzureMetadata(deserializedConfiguration, azureMetadata); AssertMetricDefaults(deserializedConfiguration, metricDefaults); Assert.NotNull(deserializedConfiguration.Metrics); Assert.Single(deserializedConfiguration.Metrics); var deserializedMetricDefinition = deserializedConfiguration.Metrics.FirstOrDefault(); AssertMetricDefinition(deserializedMetricDefinition, azureStorageQueueMetricDefinition); AssertAzureStorageQueueMetricDefinition(deserializedMetricDefinition, azureStorageQueueMetricDefinition); }
private void LogPlayerEvent(IPlayerEvent playerEvent) { try { var playerConfig = _scenario.Configuration.PlayerConfiguration.SingleOrDefault(pc => pc.EntityId == playerEvent.PlayerEntityId); if (playerConfig != null) { var logEvent = new Engine.Logging.Database.Model.Event() { EventCode = playerEvent.GetType().Name, EventId = playerEvent.Sequence, Game = _game, Tick = playerEvent.Tick, Data = ConfigurationSerializer.Serialize(playerEvent), PlayerId = playerConfig.Id, PlayerExternalId = playerConfig.ExternalId }; _context.InstanceEvents.Add(logEvent); } } catch (Exception ex) { // TODO: log } }
private void CopyAndStartExecutor(UpdatePreparationWorkspaceInformation workspace, ExecutorConfiguration config) { var executorDirectory = Path.Combine(workspace.WorkingDirectory.FullName, "Executor"); var executorFile = new FileInfo(Path.Combine(executorDirectory, "AutoUpdate.Executor.exe")); using (var executorStream = GetExecutorStream()) { var archive = new ZipArchive(executorStream); archive.ExtractToDirectory(executorDirectory); } executorFile.Refresh(); if (!executorFile.Exists) { throw new InvalidOperationException("Preparation of executor helper was not successfull"); } var serializer = new ConfigurationSerializer(); var serializedConfig = serializer.Serialize(config); var configFile = new FileInfo(Path.Combine(executorDirectory, ExecutorConfiguration.DEFAULT_FILENAME)); using (var configFileStream = configFile.OpenWrite()) using (var configFileWriter = new StreamWriter(configFileStream)) { configFileWriter.Write(serializedConfig); } var startInfo = new ProcessStartInfo(executorFile.FullName, configFile.FullName); startInfo.WorkingDirectory = executorDirectory; startInfo.UseShellExecute = false; var result = Process.Start(startInfo); }
public void YamlSerialization_SerializeAndDeserializeValidConfigForAzureStorageQueue_SucceedsWithIdenticalOutput() { // Arrange var azureMetadata = GenerateBogusAzureMetadata(); var azureStorageQueueMetricDefinition = GenerateBogusAzureStorageQueueMetricDefinition(); var metricDefaults = GenerateBogusMetricDefaults(); var scrapingConfiguration = new Core.Scraping.Configuration.Model.MetricsDeclaration { AzureMetadata = azureMetadata, MetricDefaults = metricDefaults, Metrics = new List <MetricDefinition> { azureStorageQueueMetricDefinition } }; var configurationSerializer = new ConfigurationSerializer(NullLogger.Instance); // Act var serializedConfiguration = configurationSerializer.Serialize(scrapingConfiguration); var deserializedConfiguration = configurationSerializer.Deserialize(serializedConfiguration); // Assert Assert.NotNull(deserializedConfiguration); AssertAzureMetadata(deserializedConfiguration, azureMetadata); AssertMetricDefaults(deserializedConfiguration, metricDefaults); Assert.NotNull(deserializedConfiguration.Metrics); Assert.Single(deserializedConfiguration.Metrics); var deserializedMetricDefinition = deserializedConfiguration.Metrics.FirstOrDefault(); AssertMetricDefinition(deserializedMetricDefinition, azureStorageQueueMetricDefinition); var deserializedAzureStorageQueueMetricDefinition = deserializedMetricDefinition as StorageQueueMetricDefinition; AssertAzureStorageQueueMetricDefinition(deserializedAzureStorageQueueMetricDefinition, azureStorageQueueMetricDefinition, deserializedMetricDefinition); }
public string Build() { var metricsDeclaration = new MetricsDeclaration { AzureMetadata = _azureMetadata, Metrics = _metrics }; return(ConfigurationSerializer.Serialize(metricsDeclaration)); }
private void OnTick(Tick tick, uint crc) { var tickString = ConfigurationSerializer.Serialize(tick); Messenger.SendAllMessage(new TickMessage { CRC = crc, TickString = tickString }); }
private void ButtonAddProcessClick(object sender, EventArgs e) { var applicationHandlerConfig = new ApplicationHandlerConfig(); _configuration.ApplicationHandlers.Add(applicationHandlerConfig); var editForm = new EditForm(); var editFormVm = new EditFormVm(editForm, applicationHandlerConfig, _configuration); editForm.ShowDialog(_mainForm); _serializer.Serialize(_configuration); _mainForm.listBoxMonitoredApplications.Items.Add(applicationHandlerConfig.ApplicationName); SelectMenuItemInList(_mainForm.listBoxMonitoredApplications.Items.Count - 1); SetForm(applicationHandlerConfig); }
public string Build() { var metricsDeclaration = new MetricsDeclaration { AzureMetadata = _azureMetadata, Metrics = _metrics }; var configurationSerializer = new ConfigurationSerializer(NullLogger.Instance); return(configurationSerializer.Serialize(metricsDeclaration)); }
public string Build(IMapper mapper) { var metricsDeclaration = new MetricsDeclarationV1 { Version = SpecVersion.v1.ToString(), AzureMetadata = _azureMetadata, MetricDefaults = _metricDefaults, Metrics = _metrics }; var configurationSerializer = new ConfigurationSerializer(NullLogger.Instance, mapper); return(configurationSerializer.Serialize(metricsDeclaration)); }
public void IsXmlSerializable() { var configuration = new Configuration { BeepConfiguration = new BeepConfiguration { Duration = TimeSpan.FromMilliseconds(100), Frequency = 1000, Number = 3 }, RestTime = TimeSpan.FromSeconds(15), WorkTime = TimeSpan.FromSeconds(30), }; var s = new ConfigurationSerializer <Configuration>(); Console.WriteLine(s.Serialize(configuration)); }
private void LogEvent(IEvent @event) { try { var logEvent = new Engine.Logging.Database.Model.Event() { EventCode = @event.GetType().Name, EventId = @event.Sequence, Game = _game, Tick = @event.Tick, Data = ConfigurationSerializer.Serialize(@event), }; _context.InstanceEvents.Add(logEvent); } catch (Exception ex) { // TODO: log } }
public void YamlSerialization_SerializeAndDeserializeValidConfigForServiceBus_SucceedsWithIdenticalOutput() { // Arrange var azureMetadata = GenerateBogusAzureMetadata(); var serviceBusMetricDefinition = GenerateBogusServiceBusMetricDefinition(); var scrapingConfiguration = new MetricsDeclaration { AzureMetadata = azureMetadata, Metrics = new List <Core.Scraping.Configuration.Model.Metrics.MetricDefinition> { serviceBusMetricDefinition } }; // Act var serializedConfiguration = ConfigurationSerializer.Serialize(scrapingConfiguration); var deserializedConfiguration = ConfigurationSerializer.Deserialize(serializedConfiguration); // Assert Assert.NotNull(deserializedConfiguration); Assert.NotNull(deserializedConfiguration.AzureMetadata); Assert.Equal(azureMetadata.TenantId, deserializedConfiguration.AzureMetadata.TenantId); Assert.Equal(azureMetadata.ResourceGroupName, deserializedConfiguration.AzureMetadata.ResourceGroupName); Assert.Equal(azureMetadata.SubscriptionId, deserializedConfiguration.AzureMetadata.SubscriptionId); Assert.NotNull(deserializedConfiguration.Metrics); Assert.Single(deserializedConfiguration.Metrics); var deserializedMetricDefinition = deserializedConfiguration.Metrics.FirstOrDefault(); Assert.NotNull(deserializedMetricDefinition); Assert.Equal(serviceBusMetricDefinition.Name, deserializedMetricDefinition.Name); Assert.Equal(serviceBusMetricDefinition.Description, deserializedMetricDefinition.Description); Assert.Equal(serviceBusMetricDefinition.ResourceType, deserializedMetricDefinition.ResourceType); var deserializedServiceBusMetricDefinition = deserializedMetricDefinition as ServiceBusQueueMetricDefinition; Assert.NotNull(deserializedServiceBusMetricDefinition); Assert.Equal(serviceBusMetricDefinition.Namespace, deserializedServiceBusMetricDefinition.Namespace); Assert.Equal(serviceBusMetricDefinition.QueueName, deserializedServiceBusMetricDefinition.QueueName); Assert.NotNull(deserializedMetricDefinition.AzureMetricConfiguration); Assert.Equal(serviceBusMetricDefinition.AzureMetricConfiguration.MetricName, deserializedMetricDefinition.AzureMetricConfiguration.MetricName); Assert.Equal(serviceBusMetricDefinition.AzureMetricConfiguration.Aggregation, deserializedMetricDefinition.AzureMetricConfiguration.Aggregation); }
public void SimpleConfigurationTest() { var cnc = new CncConfiguration { Channels = new [] { new ChannelConfiguration { Name = "Channel 1", Axes = new [] { new AxisConfiguration { Name = "X" }, new AxisConfiguration { Name = "Y" }, new AxisConfiguration { Name = "Z" }, }, Spindles = new [] { new SpindleConfiguration { Name = "S" }, } }, } }; var serializer = new ConfigurationSerializer(); var xml = serializer.Serialize(cnc); }
public string GetPlayerConfiguration() { return(ConfigurationSerializer.Serialize(Configuration.PlayerConfiguration)); }