public void GetMetricsCommandParametersProcessing() { // Testting defaults and required parameters cmdlet.ResourceId = Utilities.ResourceUri; cmdlet.TimeGrain = TimeSpan.FromMinutes(1); cmdlet.ExecuteCmdlet(); Assert.True(filter != null && filter.Contains("timeGrain eq duration'PT1M'") && filter.Contains(" and startTime eq ") && filter.Contains(" and endTime eq ")); Assert.Equal(Utilities.ResourceUri, resourceId); cmdlet.TimeGrain = TimeSpan.FromMinutes(5); cmdlet.ExecuteCmdlet(); Assert.True(filter != null && filter.Contains("timeGrain eq duration'PT5M'") && filter.Contains(" and startTime eq ") && filter.Contains(" and endTime eq ")); Assert.Equal(Utilities.ResourceUri, resourceId); var endDate = DateTime.Now.AddMinutes(-1); cmdlet.TimeGrain = TimeSpan.FromMinutes(5); cmdlet.EndTime = endDate; var startTime = endDate.Subtract(GetAzureRmMetricCommand.DefaultTimeRange).ToString("O"); var endTime = endDate.ToString("O"); var expected = "timeGrain eq duration'PT5M' and startTime eq " + startTime + " and endTime eq " + endTime; // Remove the value assigned in the last execution cmdlet.StartTime = default(DateTime); cmdlet.ExecuteCmdlet(); Assert.Equal(expected, filter); Assert.Equal(Utilities.ResourceUri, resourceId); cmdlet.StartTime = endDate.Subtract(GetAzureRmMetricCommand.DefaultTimeRange).Subtract(GetAzureRmMetricCommand.DefaultTimeRange); startTime = cmdlet.StartTime.ToString("O"); expected = "timeGrain eq duration'PT5M' and startTime eq " + startTime + " and endTime eq " + endTime; cmdlet.ExecuteCmdlet(); Assert.Equal(expected, filter); Assert.Equal(Utilities.ResourceUri, resourceId); // Testing with optional parameters cmdlet.MetricNames = new[] { "n1", "n2" }; expected = "(name.value eq 'n1' or name.value eq 'n2') and " + expected; cmdlet.ExecuteCmdlet(); Assert.Equal(expected, filter); Assert.Equal(Utilities.ResourceUri, resourceId); }
public void GetMetricsCommandParametersProcessing() { // Testting defaults and required parameters cmdlet.ResourceId = Utilities.ResourceUri; cmdlet.ExecuteCmdlet(); Assert.True(filter != null && filter.Filter == null); Assert.Equal(Utilities.ResourceUri, resourceId); cmdlet.MetricNames = new[] { "n1", "n2" }; cmdlet.ExecuteCmdlet(); Assert.True(filter != null); Assert.True(filter.Filter.Contains("(name.value eq 'n1' or name.value eq 'n2')")); Assert.Equal(Utilities.ResourceUri, resourceId); cmdlet.AggregationType = AggregationType.Total; cmdlet.ExecuteCmdlet(); Assert.True(filter != null); Assert.True(filter.Filter.Contains("aggregationType eq 'Total'")); Assert.True(filter.Filter.Contains("(name.value eq 'n1' or name.value eq 'n2')")); Assert.Equal(Utilities.ResourceUri, resourceId); var endDate = DateTime.UtcNow.AddMinutes(-1); cmdlet.AggregationType = AggregationType.Average; cmdlet.EndTime = endDate; // Remove the value assigned in the last execution cmdlet.StartTime = default(DateTime); cmdlet.ExecuteCmdlet(); Assert.True(filter != null); Assert.True(filter.Filter.Contains("aggregationType eq 'Average'")); Assert.True(filter.Filter.Contains("(name.value eq 'n1' or name.value eq 'n2')")); Assert.True(filter.Filter.Contains("startTime eq " + endDate.Subtract(GetAzureRmMetricCommand.DefaultTimeRange).ToString("O"))); Assert.True(filter.Filter.Contains("endTime eq " + endDate.ToString("O"))); Assert.Equal(Utilities.ResourceUri, resourceId); cmdlet.StartTime = endDate.Subtract(GetAzureRmMetricCommand.DefaultTimeRange).Subtract(GetAzureRmMetricCommand.DefaultTimeRange); cmdlet.ExecuteCmdlet(); Assert.True(filter != null); Assert.True(filter.Filter.Contains("aggregationType eq 'Average'")); Assert.True(filter.Filter.Contains("(name.value eq 'n1' or name.value eq 'n2')")); Assert.True(filter.Filter.Contains("startTime eq " + endDate.Subtract(GetAzureRmMetricCommand.DefaultTimeRange).Subtract(GetAzureRmMetricCommand.DefaultTimeRange).ToString("O"))); Assert.True(filter.Filter.Contains("endTime eq " + endDate.ToString("O"))); Assert.Equal(Utilities.ResourceUri, resourceId); cmdlet.AggregationType = AggregationType.Maximum; cmdlet.TimeGrain = TimeSpan.FromMinutes(5); cmdlet.ExecuteCmdlet(); Assert.True(filter != null); Assert.True(filter.Filter.Contains("aggregationType eq 'Maximum'")); Assert.True(filter.Filter.Contains("(name.value eq 'n1' or name.value eq 'n2')")); Assert.True(filter.Filter.Contains("startTime eq " + endDate.Subtract(GetAzureRmMetricCommand.DefaultTimeRange).Subtract(GetAzureRmMetricCommand.DefaultTimeRange).ToString("O"))); Assert.True(filter.Filter.Contains("endTime eq " + endDate.ToString("O"))); Assert.True(filter.Filter.Contains("timeGrain eq duration'" + XmlConvert.ToString(cmdlet.TimeGrain) + "'")); Assert.Equal(Utilities.ResourceUri, resourceId); }
public void GetMetricsCommandParametersProcessing() { // Testting defaults and required parameters cmdlet.ResourceId = Utilities.ResourceUri; cmdlet.ExecuteCmdlet(); Assert.Equal(Utilities.ResourceUri, resourceId); // Testing with optional parameters cmdlet.MetricName = new[] { "n1", "n2" }; cmdlet.ExecuteCmdlet(); string expectedMetricNames = string.Join(",", cmdlet.MetricName); Assert.Equal(Utilities.ResourceUri, resourceId); Assert.Equal(expectedMetricNames, metricnames); cmdlet.AggregationType = AggregationType.Total; cmdlet.ExecuteCmdlet(); Assert.Equal(Utilities.ResourceUri, resourceId); Assert.Equal(expectedMetricNames, metricnames); Assert.Equal(AggregationType.Total.ToString(), aggregationType); var endDate = DateTime.UtcNow.AddMinutes(-1); cmdlet.AggregationType = AggregationType.Average; cmdlet.EndTime = endDate; // Remove the value assigned in the last execution cmdlet.StartTime = default(DateTime); cmdlet.ExecuteCmdlet(); string expectedTimespan = string.Concat(endDate.Subtract(GetAzureRmMetricCommand.DefaultTimeRange).ToUniversalTime().ToString("O"), "/", endDate.ToUniversalTime().ToString("O")); Assert.Equal(Utilities.ResourceUri, resourceId); Assert.Equal(expectedMetricNames, metricnames); Assert.Equal(AggregationType.Average.ToString(), aggregationType); Assert.Equal(expectedTimespan, timeSpan); cmdlet.StartTime = endDate.Subtract(GetAzureRmMetricCommand.DefaultTimeRange).Subtract(GetAzureRmMetricCommand.DefaultTimeRange); cmdlet.ExecuteCmdlet(); expectedTimespan = string.Concat(cmdlet.StartTime.ToUniversalTime().ToString("O"), "/", cmdlet.EndTime.ToUniversalTime().ToString("O")); Assert.Equal(Utilities.ResourceUri, resourceId); Assert.Equal(expectedMetricNames, metricnames); Assert.Equal(AggregationType.Average.ToString(), aggregationType); Assert.Equal(expectedTimespan, timeSpan); cmdlet.AggregationType = AggregationType.Maximum; cmdlet.TimeGrain = TimeSpan.FromMinutes(5); cmdlet.ExecuteCmdlet(); Assert.Equal(Utilities.ResourceUri, resourceId); Assert.Equal(expectedMetricNames, metricnames); Assert.Equal(AggregationType.Maximum.ToString(), aggregationType); Assert.Equal(expectedTimespan, timeSpan); Assert.Equal(TimeSpan.FromMinutes(5), metricQueryInterval.Value); cmdlet.MetricNamespace = Utilities.MetricNamespace; cmdlet.Top = 5; cmdlet.OrderBy = "asc"; cmdlet.ResultType = ResultType.Metadata; Assert.Equal(Utilities.ResourceUri, resourceId); Assert.Equal(expectedMetricNames, metricnames); Assert.Equal(AggregationType.Maximum.ToString(), aggregationType); Assert.Equal(expectedTimespan, timeSpan); Assert.Equal(TimeSpan.FromMinutes(5), metricQueryInterval.Value); }