public void ConfigurationError() { var payload = new ConfigurationErrorPayload { ConfigurationName = "config", Message = "some message", UsedConfiguration = "some value" }; foreach (ConfigurationErrorType value in Enum.GetValues(typeof(ConfigurationErrorType))) { payload.ErrorType = value; var obj = new ConfigurationError(new ConfigurationErrorPayload[] { payload }); obj.ValidateSchema(); } }
/// <summary> /// Validate maxCacheSize > maxMessageSize /// </summary> /// <param name="remoteConfiguration">Configuration to validate</param> /// <param name="configurationErrorPayload">configurationErrorPayload</param> /// <returns>true if valid</returns> private static bool ValidateMaxCacheSize(RemoteConfiguration remoteConfiguration, out ConfigurationErrorPayload configurationErrorPayload) { configurationErrorPayload = null; if (remoteConfiguration.MaxMessageSize > remoteConfiguration.MaxLocalCacheSize) { configurationErrorPayload = new ConfigurationErrorPayload { ConfigurationName = JsonUtils.GetJsonLabel(nameof(remoteConfiguration.MaxLocalCacheSize), typeof(RemoteConfiguration)), ErrorType = ConfigurationErrorType.Conflict, UsedConfiguration = AgentConfiguration.RemoteConfiguration.MaxLocalCacheSize.ToString(), Message = $"MaxLocalCacheSize is smaller than MaxMessageSize" }; return(false); } return(true); }
/// <summary> /// Validate HighPriorityIntervals is lower or equal to LowPriorityInterval /// </summary> /// <param name="remoteConfiguration">Configuration to validate</param> /// <param name="configurationErrorPayload"></param> /// <returns>true if valid</returns> private static bool ValidateIntervals(RemoteConfiguration remoteConfiguration, out ConfigurationErrorPayload configurationErrorPayload) { configurationErrorPayload = null; if (remoteConfiguration.HighPriorityMessageFrequency > remoteConfiguration.LowPriorityMessageFrequency) { configurationErrorPayload = new ConfigurationErrorPayload { ConfigurationName = JsonUtils.GetJsonLabel(nameof(remoteConfiguration.HighPriorityMessageFrequency), typeof(RemoteConfiguration)), ErrorType = ConfigurationErrorType.Conflict, UsedConfiguration = AgentConfiguration.RemoteConfiguration.HighPriorityMessageFrequency.ToString(), Message = $"High priority interval is longer than low priority interval" }; return(false); } return(true); }
/// <summary> /// Validate maxMessageSize is multiple of 4Kb /// </summary> /// <param name="remoteConfiguration">Configuration to validate</param> /// <param name="configurationErrorPayload">configuration error payload</param> /// <returns>true if valid</returns> private static bool ValidateMaxMessageSize(RemoteConfiguration remoteConfiguration, out ConfigurationErrorPayload configurationErrorPayload) { configurationErrorPayload = null; if (remoteConfiguration.MaxMessageSize % Constants.OptimalMessageSizeMultipleInKb != 0) { configurationErrorPayload = new ConfigurationErrorPayload { ConfigurationName = JsonUtils.GetJsonLabel(nameof(remoteConfiguration.MaxMessageSize), typeof(RemoteConfiguration)), ErrorType = ConfigurationErrorType.NotOptimal, UsedConfiguration = AgentConfiguration.RemoteConfiguration.MaxMessageSize.ToString(), Message = $"Message size should be multiple of {Constants.OptimalMessageSizeMultipleInKb}" }; return(false); } return(true); }