internal void ExpectValidmetricsOperation(Constants.ServiceType serviceType, string operations, GetMetricsProperty <ServiceProperties> getServiceProperties) { int retentionDays = Utility.GetRandomTestCount(1, 365 + 1); Test.Assert(CommandAgent.SetAzureStorageServiceMetrics(serviceType, Constants.MetricsType.Hour, operations, retentionDays.ToString(), string.Empty), "Set hour metrics level should succeed"); ServiceProperties retrievedProperties = getServiceProperties(Constants.MetricsType.Hour, retentionDays, operations); MetricsLevel expectOperation = (MetricsLevel)Enum.Parse(typeof(MetricsLevel), operations, true); ExpectEqual(expectOperation.ToString(), retrievedProperties.HourMetrics.MetricsLevel.ToString(), "hour metrics level"); Test.Assert(CommandAgent.SetAzureStorageServiceMetrics(serviceType, Constants.MetricsType.Minute, operations, retentionDays.ToString(), string.Empty), "Set minute metrics level should succeed"); retrievedProperties = getServiceProperties(Constants.MetricsType.Minute, retentionDays, operations); expectOperation = (MetricsLevel)Enum.Parse(typeof(MetricsLevel), operations, true); ExpectEqual(expectOperation.ToString(), retrievedProperties.MinuteMetrics.MetricsLevel.ToString(), "minute metrics level"); }
/// <summary> /// Update the specified service properties according to the input in old XSCL /// </summary> /// <param name="serviceProperties">Service properties</param> internal void UpdateServiceProperties(XTable.MetricsProperties metrics) { if (Version != null) { metrics.Version = Version.ToString(); } if (RetentionDays != null) { if (RetentionDays == -1) { //Disable metrics retention policy metrics.RetentionDays = null; } else if (RetentionDays < 1 || RetentionDays > 365) { throw new ArgumentException(string.Format(Resources.InvalidRetentionDay, RetentionDays)); } else { metrics.RetentionDays = RetentionDays; } } if (MetricsLevel != null) { MetricsLevel metricsLevel = MetricsLevel.Value; metrics.MetricsLevel = (XTable.MetricsLevel)Enum.Parse(typeof(XTable.MetricsLevel), metricsLevel.ToString(), true); // Set default metrics version if (string.IsNullOrEmpty(metrics.Version)) { string defaultMetricsVersion = StorageNouns.DefaultMetricsVersion; metrics.Version = defaultMetricsVersion; } } }