public void Utilization_CrossAgentTests(UtilizationTestData testData) { var utilizationSettingsModel = new UtilizationSettingsModel( logicalProcessors: testData.InputLogicalProcessors.HasValue ? testData.InputLogicalProcessors.Value : (int?)null, totalRamBytes: testData.InputTotalRamMib.HasValue ? testData.InputTotalRamMib.Value * (1024 * 1024) : (ulong?)null, hostname: testData.InputHostname, fullHostName: testData.InputFullHostname, ipAddress: testData.InputIpAddress, bootId: null, vendors: PrepareVendorModels(testData), utilitizationConfig: PrepareUtilizationConfig(testData) ); // Run Tests below var settings = new JsonSerializerSettings { TypeNameHandling = Newtonsoft.Json.TypeNameHandling.Auto, NullValueHandling = NullValueHandling.Ignore }; var json = JsonConvert.SerializeObject(utilizationSettingsModel); Console.WriteLine($"JSON for '{testData.Testname}':\n {json}"); var actualSettings = JsonConvert.DeserializeObject <ExpectedOutputJson>(json, settings); // Root values ValidateRootValues(actualSettings, testData.ExpectedOutputJson); // Vendors ValidateVendors(actualSettings, testData.ExpectedOutputJson); // User provided config settings ValidateUserConfigSettings(actualSettings, testData.ExpectedOutputJson); }
public ConnectModel(int processId, string language, string displayHost, string hostName, IEnumerable <string> appNames, string agentVersion, long agentVersionTimestamp, SecuritySettingsModel securitySettings, bool highSecurityModeEnabled, string identifier, IEnumerable <Label> labels, JavascriptAgentSettingsModel javascriptAgentSettings, Dictionary <string, string> metadata, UtilizationSettingsModel utilizationSettings, Environment environment, SecurityPoliciesSettingsModel securityPoliciesSettings, EventHarvestConfigModel eventHarvestConfig) { ProcessId = processId; Language = language; DisplayHost = displayHost; HostName = hostName; AppNames = appNames; AgentVersion = agentVersion; AgentVersionTimestamp = agentVersionTimestamp; SecuritySettings = securitySettings; HighSecurityModeEnabled = highSecurityModeEnabled; Identifier = identifier; Labels = labels; JavascriptAgentSettings = javascriptAgentSettings; Metadata = metadata; UtilizationSettings = utilizationSettings; Environment = environment; SecurityPoliciesSettings = securityPoliciesSettings; EventHarvestConfig = eventHarvestConfig; }