Skip to content

Commit 99f1803

Browse files
committed
Removing the old Metrics API, using the most recent SDK 0.14.1-preview, fixing sme bugs.
1 parent 58f4edd commit 99f1803

File tree

85 files changed

+215
-9910
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+215
-9910
lines changed

src/ResourceManager/Insights/Commands.Insights.Test/Autoscale/NewAzureRmAutoscaleRuleTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public void NewAutoscaleRuleCommandParametersProcessing()
4545
// New-AutoscaleRule -MetricName <String> -MetricResourceUri <String> -Operator <{Equals | NotEquals | GreaterThan | GreaterThanOrEqual | LessThan | LessThanOrEqual}>
4646
// -MetricStatistic <{Average | Min | Max | Sum}> -Threshold <Double> [-TimeAggregationOperator <{Average | Minimum | Maximum | Last | Total | Count}>]
4747
// -TimeGrain <TimeSpan> [-TimeWindow <TimeSpan>] -ScaleActionCooldown <TimeSpan> -ScaleActionDirection <{None | Increase | Decrease}>
48-
// -ScaleActionScaleType <{ChangeSize | ChangeCount | PercentChangeCount | ExactCount}> -ScaleActionValue <String>
48+
// -ScaleActionScaleType <{ChangeSize | ChangeCount | PercentChangeCount}> -ScaleActionValue <String>
4949
Cmdlet.MetricName = "Requests";
5050
Cmdlet.MetricResourceId = "/subscriptions/a93fb07c-6c93-40be-bf3b-4f0deba10f4b/resourceGroups/Default-Web-EastUS/providers/microsoft.web/sites/misitiooeltuyo";
5151
Cmdlet.Operator = ComparisonOperationType.GreaterThan;

src/ResourceManager/Insights/Commands.Insights.Test/Commands.Insights.Test.csproj

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@
6262
<HintPath>..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.dll</HintPath>
6363
</Reference>
6464
<Reference Include="Microsoft.Azure.Insights">
65-
<HintPath>..\..\..\packages\Microsoft.Azure.Insights.0.14.0-preview\lib\net45\Microsoft.Azure.Insights.dll</HintPath>
65+
<HintPath>..\..\..\packages\Microsoft.Azure.Insights.0.14.1-preview\lib\net45\Microsoft.Azure.Insights.dll</HintPath>
6666
</Reference>
6767
<Reference Include="Microsoft.Azure.Test.Framework">
6868
<SpecificVersion>False</SpecificVersion>
@@ -150,7 +150,6 @@
150150
<Compile Include="ScenarioTests\EventsTests.cs" />
151151
<Compile Include="ScenarioTests\MetricsTests.cs" />
152152
<Compile Include="ScenarioTests\TestsController.cs" />
153-
<Compile Include="ScenarioTests\TestsControllerLegacy.cs" />
154153
<Compile Include="ScenarioTests\UsageMetricsTests.cs" />
155154
<Compile Include="UsageMetrics\GetAzureRmUsageTests.cs" />
156155
<Compile Include="Utilities.cs" />

src/ResourceManager/Insights/Commands.Insights.Test/Diagnostics/SetDiagnosticSettingCommandTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public class SetDiagnosticSettingCommandTests
3535
private const string resourceId = "/subscriptions/123/resourcegroups/rg/providers/rp/resource/myresource";
3636
private const string storageAccountId = "/subscriptions/123/resourcegroups/rg/providers/microsoft.storage/accounts/myaccount";
3737
private string calledResourceId;
38-
ServiceDiagnosticSettingsCreateOrUpdateParameters calledPutParameters;
38+
ServiceDiagnosticSettingsResource calledPutParameters;
3939

4040
public SetDiagnosticSettingCommandTests(Xunit.Abstractions.ITestOutputHelper output)
4141
{
@@ -92,9 +92,9 @@ public SetDiagnosticSettingCommandTests(Xunit.Abstractions.ITestOutputHelper out
9292
Body = request
9393
};
9494

95-
insightsDiagnosticsOperationsMock.Setup(f => f.CreateOrUpdateWithHttpMessagesAsync(It.IsAny<string>(), It.IsAny<ServiceDiagnosticSettingsCreateOrUpdateParameters>(), It.IsAny<Dictionary<string,List<string>>>(), It.IsAny<CancellationToken>()))
95+
insightsDiagnosticsOperationsMock.Setup(f => f.CreateOrUpdateWithHttpMessagesAsync(It.IsAny<string>(), It.IsAny<ServiceDiagnosticSettingsResource>(), It.IsAny<Dictionary<string, List<string>>>(), It.IsAny<CancellationToken>()))
9696
.Returns(Task.FromResult<Rest.Azure.AzureOperationResponse<ServiceDiagnosticSettingsResource>>(response))
97-
.Callback((string resourceId, ServiceDiagnosticSettingsCreateOrUpdateParameters putParameters, Dictionary<string,List<string>> headers) =>
97+
.Callback((string resourceId, ServiceDiagnosticSettingsResource putParameters, Dictionary<string, List<string>> headers) =>
9898
{
9999
this.calledResourceId = resourceId;
100100
this.calledPutParameters = putParameters;

src/ResourceManager/Insights/Commands.Insights.Test/LogProfiles/AddAzureRmLogProfileTests.cs

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public class AddAzureRmLogProfileTests
3434
private Mock<ICommandRuntime> commandRuntimeMock;
3535
private Rest.Azure.AzureOperationResponse<LogProfileResource> response;
3636
private string logProfileName;
37-
private LogProfileCreateOrUpdateParameters createOrUpdatePrms;
37+
private LogProfileResource createOrUpdatePrms;
3838

3939
public AddAzureRmLogProfileTests(ITestOutputHelper output)
4040
{
@@ -50,9 +50,9 @@ public AddAzureRmLogProfileTests(ITestOutputHelper output)
5050

5151
response = Utilities.InitializeLogProfileResponse();
5252

53-
insightsLogProfileOperationsMock.Setup(f => f.CreateOrUpdateWithHttpMessagesAsync(It.IsAny<string>(), It.IsAny<LogProfileCreateOrUpdateParameters>(), It.IsAny<Dictionary<string, List<string>>>(), It.IsAny<CancellationToken>()))
53+
insightsLogProfileOperationsMock.Setup(f => f.CreateOrUpdateWithHttpMessagesAsync(It.IsAny<string>(), It.IsAny<LogProfileResource>(), It.IsAny<Dictionary<string, List<string>>>(), It.IsAny<CancellationToken>()))
5454
.Returns(Task.FromResult<Rest.Azure.AzureOperationResponse<LogProfileResource>>(response))
55-
.Callback((string logProfileName, LogProfileCreateOrUpdateParameters createOrUpdateParams, Dictionary<string, List<string>> headers, CancellationToken t) =>
55+
.Callback((string logProfileName, LogProfileResource createOrUpdateParams, Dictionary<string, List<string>> headers, CancellationToken t) =>
5656
{
5757
this.logProfileName = logProfileName;
5858
createOrUpdatePrms = createOrUpdateParams;
@@ -65,14 +65,20 @@ public AddAzureRmLogProfileTests(ITestOutputHelper output)
6565
[Trait(Category.AcceptanceType, Category.CheckIn)]
6666
public void AddLogProfileCommandParametersProcessing()
6767
{
68-
// Null actions
68+
// With mandatory arguments only
69+
cmdlet.Name = Utilities.Name;
70+
cmdlet.Locations = new List<string>() { "East US" };
71+
cmdlet.ExecuteCmdlet();
72+
73+
Assert.Equal(Utilities.Name, this.logProfileName);
74+
75+
// With all arguments
6976
cmdlet.Name = Utilities.Name;
7077
cmdlet.Locations = new List<string>() {"East US"};
7178
cmdlet.RetentionInDays = 10;
7279
cmdlet.ServiceBusRuleId = "miBusId";
7380
cmdlet.StorageAccountId = "miCuentaId";
7481
cmdlet.Categories = new List<string>() {"cat1"};
75-
7682
cmdlet.ExecuteCmdlet();
7783

7884
Assert.Equal(Utilities.Name, this.logProfileName);

src/ResourceManager/Insights/Commands.Insights.Test/Metrics/GetAzureRmMetricDefinitionTests.cs

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
using System.Collections;
1616
using System.Collections.Generic;
1717
using Microsoft.Azure.Commands.Insights.Metrics;
18-
using Microsoft.Azure.Insights.Legacy;
19-
using Microsoft.Azure.Insights.Legacy.Models;
18+
using Microsoft.Azure.Insights;
19+
using Microsoft.Azure.Insights.Models;
2020
using Microsoft.Rest.Azure.OData;
2121
using Microsoft.WindowsAzure.Commands.ScenarioTest;
2222
using Moq;
@@ -31,54 +31,57 @@ public class GetAzureRmMetricDefinitionTests
3131
{
3232
private readonly GetAzureRmMetricDefinitionCommand cmdlet;
3333
private readonly Mock<InsightsClient> insightsClientMock;
34-
private readonly Mock<IMetricDefinitionOperations> insightsMetricDefinitionOperationsMock;
34+
private readonly Mock<IMetricDefinitionsOperations> insightsMetricDefinitionOperationsMock;
3535
private Mock<ICommandRuntime> commandRuntimeMock;
36-
private MetricDefinitionListResponse response;
36+
private Microsoft.Rest.Azure.AzureOperationResponse<IEnumerable<MetricDefinition>> response;
3737
private string resourceId;
38-
private string filter;
38+
private ODataQuery<MetricDefinition> filter;
3939

4040
public GetAzureRmMetricDefinitionTests(Xunit.Abstractions.ITestOutputHelper output)
4141
{
4242
ServiceManagemenet.Common.Models.XunitTracingInterceptor.AddToContext(new ServiceManagemenet.Common.Models.XunitTracingInterceptor(output));
43-
insightsMetricDefinitionOperationsMock = new Mock<IMetricDefinitionOperations>();
43+
insightsMetricDefinitionOperationsMock = new Mock<IMetricDefinitionsOperations>();
4444
insightsClientMock = new Mock<InsightsClient>();
4545
commandRuntimeMock = new Mock<ICommandRuntime>();
4646
cmdlet = new GetAzureRmMetricDefinitionCommand()
4747
{
4848
CommandRuntime = commandRuntimeMock.Object,
49-
//InsightsClient = insightsClientMock.Object
49+
InsightsClient = insightsClientMock.Object
5050
};
5151

52-
response = Utilities.InitializeMetricDefinitionResponse();
52+
response = new Microsoft.Rest.Azure.AzureOperationResponse<IEnumerable<MetricDefinition>>()
53+
{
54+
Body = Utilities.InitializeMetricDefinitionResponse()
55+
};
5356

54-
insightsMetricDefinitionOperationsMock.Setup(f => f.GetMetricDefinitionsAsync(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<CancellationToken>()))
55-
.Returns(Task.FromResult<MetricDefinitionListResponse>(response))
56-
.Callback((string f, string s, CancellationToken t) =>
57+
insightsMetricDefinitionOperationsMock.Setup(f => f.ListWithHttpMessagesAsync(It.IsAny<string>(), It.IsAny<ODataQuery<MetricDefinition>>(), It.IsAny<Dictionary<string, List<string>>>(), It.IsAny<CancellationToken>()))
58+
.Returns(Task.FromResult<Microsoft.Rest.Azure.AzureOperationResponse<IEnumerable<MetricDefinition>>>(response))
59+
.Callback((string resource, ODataQuery<MetricDefinition> query, Dictionary<string, List<string>> header, CancellationToken t) =>
5760
{
58-
resourceId = f;
59-
filter = s;
61+
resourceId = resource;
62+
filter = query;
6063
});
6164

62-
insightsClientMock.SetupGet(f => f.MetricDefinitionOperations).Returns(this.insightsMetricDefinitionOperationsMock.Object);
65+
insightsClientMock.SetupGet(f => f.MetricDefinitions).Returns(this.insightsMetricDefinitionOperationsMock.Object);
6366
}
6467

65-
[Fact(Skip = "Disable this release since there are conflicts between DLL versions")]
68+
[Fact] //(Skip = "Disable this release since there are conflicts between DLL versions")]
6669
[Trait(Category.AcceptanceType, Category.CheckIn)]
6770
public void GetMetricDefinitionsCommandParametersProcessing()
6871
{
6972
// Testting defaults and required parameters
7073
cmdlet.ResourceId = Utilities.ResourceUri;
7174

7275
cmdlet.ExecuteCmdlet();
73-
Assert.True(string.IsNullOrWhiteSpace(filter));
76+
Assert.True(string.IsNullOrWhiteSpace(filter.Filter));
7477
Assert.Equal(Utilities.ResourceUri, resourceId);
7578

7679
// Testing with optional parameters
7780
cmdlet.MetricNames = new[] { "n1", "n2" };
7881
const string expected = "name.value eq 'n1' or name.value eq 'n2'";
7982

8083
cmdlet.ExecuteCmdlet();
81-
Assert.Equal(expected, filter);
84+
Assert.Equal(expected, filter.Filter);
8285
Assert.Equal(Utilities.ResourceUri, resourceId);
8386
}
8487
}

src/ResourceManager/Insights/Commands.Insights.Test/Metrics/GetAzureRmMetricTests.cs

Lines changed: 47 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
using System.Collections.Generic;
1717
using System.Xml;
1818
using Microsoft.Azure.Commands.Insights.Metrics;
19-
using Microsoft.Azure.Insights.Legacy;
20-
using Microsoft.Azure.Insights.Legacy.Models;
19+
using Microsoft.Azure.Insights;
20+
using Microsoft.Azure.Insights.Models;
2121
using Microsoft.Rest.Azure.OData;
2222
using Microsoft.WindowsAzure.Commands.ScenarioTest;
2323
using Moq;
@@ -33,84 +33,96 @@ public class GetAzureRmMetricTests
3333
{
3434
private readonly GetAzureRmMetricCommand cmdlet;
3535
private readonly Mock<InsightsClient> insightsClientMock;
36-
private readonly Mock<IMetricOperations> insightsMetricOperationsMock;
36+
private readonly Mock<IMetricsOperations> insightsMetricOperationsMock;
3737
private Mock<ICommandRuntime> commandRuntimeMock;
38-
private MetricListResponse response;
38+
private Microsoft.Rest.Azure.AzureOperationResponse<IEnumerable<Metric>> response;
3939
private string resourceId;
40-
private string filter;
40+
private ODataQuery<Metric> filter;
4141

4242
public GetAzureRmMetricTests(Xunit.Abstractions.ITestOutputHelper output)
4343
{
4444
ServiceManagemenet.Common.Models.XunitTracingInterceptor.AddToContext(new ServiceManagemenet.Common.Models.XunitTracingInterceptor(output));
45-
insightsMetricOperationsMock = new Mock<IMetricOperations>();
45+
insightsMetricOperationsMock = new Mock<IMetricsOperations>();
4646
insightsClientMock = new Mock<InsightsClient>();
4747
commandRuntimeMock = new Mock<ICommandRuntime>();
4848
cmdlet = new GetAzureRmMetricCommand()
4949
{
5050
CommandRuntime = commandRuntimeMock.Object,
51-
//InsightsClient = insightsClientMock.Object
51+
InsightsClient = insightsClientMock.Object
5252
};
5353

54-
response = Utilities.InitializeMetricResponse();
54+
response = new Microsoft.Rest.Azure.AzureOperationResponse<IEnumerable<Metric>>()
55+
{
56+
Body = new List<Metric>()
57+
};
5558

56-
insightsMetricOperationsMock.Setup(f => f.GetMetricsAsync(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<CancellationToken>()))
57-
.Returns(Task.FromResult<MetricListResponse>(response))
58-
.Callback((string f, string s, CancellationToken t) =>
59+
insightsMetricOperationsMock.Setup(f => f.ListWithHttpMessagesAsync(It.IsAny<string>(), It.IsAny<ODataQuery<Metric>>(), It.IsAny<Dictionary<string, List<string>>>(), It.IsAny<CancellationToken>()))
60+
.Returns(Task.FromResult<Microsoft.Rest.Azure.AzureOperationResponse<IEnumerable<Metric>>>(response))
61+
.Callback((string r, ODataQuery<Metric> s, Dictionary<string, List<string>> headers, CancellationToken t) =>
5962
{
60-
resourceId = f;
63+
resourceId = r;
6164
filter = s;
6265
});
6366

64-
insightsClientMock.SetupGet(f => f.MetricOperations).Returns(this.insightsMetricOperationsMock.Object);
67+
insightsClientMock.SetupGet(f => f.Metrics).Returns(this.insightsMetricOperationsMock.Object);
6568
}
6669

67-
[Fact(Skip = "Disable this release since there are conflicts between DLL versions")]
70+
[Fact] //(Skip = "Disable this release since there are conflicts between DLL versions")]
6871
[Trait(Category.AcceptanceType, Category.CheckIn)]
6972
public void GetMetricsCommandParametersProcessing()
7073
{
7174
// Testting defaults and required parameters
7275
cmdlet.ResourceId = Utilities.ResourceUri;
73-
cmdlet.TimeGrain = TimeSpan.FromMinutes(1);
7476

7577
cmdlet.ExecuteCmdlet();
76-
Assert.True(filter != null && filter.Contains("timeGrain eq duration'PT1M'") && filter.Contains(" and startTime eq ") && filter.Contains(" and endTime eq "));
78+
Assert.True(filter != null && filter.Filter == null);
7779
Assert.Equal(Utilities.ResourceUri, resourceId);
7880

79-
cmdlet.TimeGrain = TimeSpan.FromMinutes(5);
81+
cmdlet.MetricNames = new[] { "n1", "n2" };
82+
cmdlet.ExecuteCmdlet();
83+
Assert.True(filter != null);
84+
Assert.True(filter.Filter.Contains("(name.value eq 'n1' or name.value eq 'n2')"));
85+
Assert.Equal(Utilities.ResourceUri, resourceId);
8086

87+
cmdlet.AggregationType = AggregationType.Total;
8188
cmdlet.ExecuteCmdlet();
82-
Assert.True(filter != null && filter.Contains("timeGrain eq duration'PT5M'") && filter.Contains(" and startTime eq ") && filter.Contains(" and endTime eq "));
89+
Assert.True(filter != null);
90+
Assert.True(filter.Filter.Contains("aggregationType eq 'Total'"));
91+
Assert.True(filter.Filter.Contains("(name.value eq 'n1' or name.value eq 'n2')"));
8392
Assert.Equal(Utilities.ResourceUri, resourceId);
8493

85-
var endDate = DateTime.Now.AddMinutes(-1);
86-
cmdlet.TimeGrain = TimeSpan.FromMinutes(5);
94+
var endDate = DateTime.UtcNow.AddMinutes(-1);
95+
cmdlet.AggregationType = AggregationType.Average;
8796
cmdlet.EndTime = endDate;
8897

89-
var startTime = endDate.Subtract(GetAzureRmMetricCommand.DefaultTimeRange).ToString("O");
90-
var endTime = endDate.ToString("O");
91-
var expected = "timeGrain eq duration'PT5M' and startTime eq " + startTime + " and endTime eq " + endTime;
92-
9398
// Remove the value assigned in the last execution
9499
cmdlet.StartTime = default(DateTime);
95-
96100
cmdlet.ExecuteCmdlet();
97-
Assert.Equal(expected, filter);
101+
Assert.True(filter != null);
102+
Assert.True(filter.Filter.Contains("aggregationType eq 'Average'"));
103+
Assert.True(filter.Filter.Contains("(name.value eq 'n1' or name.value eq 'n2')"));
104+
Assert.True(filter.Filter.Contains("startTime eq " + endDate.Subtract(GetAzureRmMetricCommand.DefaultTimeRange).ToString("O")));
105+
Assert.True(filter.Filter.Contains("endTime eq " + endDate.ToString("O")));
98106
Assert.Equal(Utilities.ResourceUri, resourceId);
99107

100108
cmdlet.StartTime = endDate.Subtract(GetAzureRmMetricCommand.DefaultTimeRange).Subtract(GetAzureRmMetricCommand.DefaultTimeRange);
101-
startTime = cmdlet.StartTime.ToString("O");
102-
expected = "timeGrain eq duration'PT5M' and startTime eq " + startTime + " and endTime eq " + endTime;
103-
104109
cmdlet.ExecuteCmdlet();
105-
Assert.Equal(expected, filter);
110+
Assert.True(filter != null);
111+
Assert.True(filter.Filter.Contains("aggregationType eq 'Average'"));
112+
Assert.True(filter.Filter.Contains("(name.value eq 'n1' or name.value eq 'n2')"));
113+
Assert.True(filter.Filter.Contains("startTime eq " + endDate.Subtract(GetAzureRmMetricCommand.DefaultTimeRange).Subtract(GetAzureRmMetricCommand.DefaultTimeRange).ToString("O")));
114+
Assert.True(filter.Filter.Contains("endTime eq " + endDate.ToString("O")));
106115
Assert.Equal(Utilities.ResourceUri, resourceId);
107116

108-
// Testing with optional parameters
109-
cmdlet.MetricNames = new[] { "n1", "n2" };
110-
expected = "(name.value eq 'n1' or name.value eq 'n2') and " + expected;
111-
117+
cmdlet.AggregationType = AggregationType.Maximum;
118+
cmdlet.TimeGrain = TimeSpan.FromMinutes(5);
112119
cmdlet.ExecuteCmdlet();
113-
Assert.Equal(expected, filter);
120+
Assert.True(filter != null);
121+
Assert.True(filter.Filter.Contains("aggregationType eq 'Maximum'"));
122+
Assert.True(filter.Filter.Contains("(name.value eq 'n1' or name.value eq 'n2')"));
123+
Assert.True(filter.Filter.Contains("startTime eq " + endDate.Subtract(GetAzureRmMetricCommand.DefaultTimeRange).Subtract(GetAzureRmMetricCommand.DefaultTimeRange).ToString("O")));
124+
Assert.True(filter.Filter.Contains("endTime eq " + endDate.ToString("O")));
125+
Assert.True(filter.Filter.Contains("timeGrain eq duration'" + XmlConvert.ToString(cmdlet.TimeGrain) + "'"));
114126
Assert.Equal(Utilities.ResourceUri, resourceId);
115127
}
116128
}

0 commit comments

Comments
 (0)