@@ -20,6 +20,8 @@ namespace Microsoft.Azure.Commands.Resources.Test
20
20
using Microsoft . Azure . Management . Resources ;
21
21
using Microsoft . Azure . Management . Resources . Models ;
22
22
using Moq ;
23
+ using Rest . Azure ;
24
+ using ScenarioTest ;
23
25
using System ;
24
26
using System . Linq ;
25
27
using System . Management . Automation ;
@@ -46,14 +48,14 @@ public class GetAzureProviderFeatureCmdletTests : RMTestBase
46
48
/// <summary>
47
49
/// A mock of the client
48
50
/// </summary>
49
- private readonly Mock < IFeatures > featureOperationsMock ;
51
+ private readonly Mock < IFeaturesOperations > featureOperationsMock ;
50
52
51
53
/// <summary>
52
54
/// Initializes a new instance of the <see cref="GetAzureProviderFeatureCmdletTests"/> class.
53
55
/// </summary>
54
56
public GetAzureProviderFeatureCmdletTests ( )
55
57
{
56
- this . featureOperationsMock = new Mock < IFeatures > ( ) ;
58
+ this . featureOperationsMock = new Mock < IFeaturesOperations > ( ) ;
57
59
var featureClient = new Mock < IFeatureClient > ( ) ;
58
60
59
61
featureClient
@@ -64,12 +66,13 @@ public GetAzureProviderFeatureCmdletTests()
64
66
65
67
this . cmdlet = new GetAzureProviderFeatureCmdletTest
66
68
{
67
- CommandRuntime = commandRuntimeMock . Object ,
69
+ // CommandRuntime = commandRuntimeMock.Object,
68
70
ProviderFeatureClient = new ProviderFeatureClient
69
71
{
70
72
FeaturesManagementClient = featureClient . Object
71
73
}
72
74
} ;
75
+ System . Reflection . TypeExtensions . GetProperty ( cmdlet . GetType ( ) , "CommandRuntime" ) . SetValue ( cmdlet , commandRuntimeMock . Object ) ;
73
76
}
74
77
75
78
/// <summary>
@@ -86,56 +89,46 @@ public void GetProviderFeatureTests()
86
89
const string Provider2Namespace = "Providers.Test2" ;
87
90
const string Feature2Name = "feature2" ;
88
91
89
- var provider1RegisteredFeature = new FeatureResponse
92
+ var provider1RegisteredFeature = new FeatureResult
90
93
{
91
94
Id = "featureId1" ,
92
95
Name = Provider1Namespace + "/" + Feature1Name ,
93
96
Properties = new FeatureProperties
94
97
{
95
98
State = ProviderFeatureClient . RegisteredStateName ,
96
99
} ,
97
- RequestId = "requestId" ,
98
- StatusCode = HttpStatusCode . OK ,
99
100
Type = "Microsoft.Features/feature"
100
101
} ;
101
102
102
- var provider1UnregisteredFeature = new FeatureResponse
103
+ var provider1UnregisteredFeature = new FeatureResult
103
104
{
104
105
Id = "featureId1" ,
105
106
Name = Provider1Namespace + "/" + Feature2Name ,
106
107
Properties = new FeatureProperties
107
108
{
108
109
State = "Unregistered" ,
109
110
} ,
110
- RequestId = "requestId" ,
111
- StatusCode = HttpStatusCode . OK ,
112
111
Type = "Microsoft.Features/feature"
113
112
} ;
114
113
115
- var provider2UnregisteredFeature = new FeatureResponse
114
+ var provider2UnregisteredFeature = new FeatureResult
116
115
{
117
116
Id = "featureId2" ,
118
117
Name = Provider2Namespace + "/" + Feature1Name ,
119
118
Properties = new FeatureProperties
120
119
{
121
120
State = "Unregistered" ,
122
121
} ,
123
- RequestId = "requestId" ,
124
- StatusCode = HttpStatusCode . OK ,
125
122
Type = "Microsoft.Features/feature"
126
123
} ;
127
124
128
- var listResult = new FeatureOperationsListResult
129
- {
130
- Features = new [ ] { provider1RegisteredFeature , provider1UnregisteredFeature , provider2UnregisteredFeature } ,
131
- NextLink = null ,
132
- RequestId = "requestId" ,
133
- StatusCode = HttpStatusCode . OK
134
- } ;
125
+ var listResult = new Page < FeatureResult > ( ) ;
126
+ var pagableResult = new [ ] { provider1RegisteredFeature , provider1UnregisteredFeature , provider2UnregisteredFeature } ;
127
+ System . Reflection . TypeExtensions . GetProperty ( listResult . GetType ( ) , "Items" ) . SetValue ( listResult , pagableResult ) ;
135
128
136
129
this . featureOperationsMock
137
130
. Setup ( f => f . ListAllAsync ( It . IsAny < CancellationToken > ( ) ) )
138
- . Returns ( ( ) => Task . FromResult ( listResult ) ) ;
131
+ . Returns ( ( ) => Task . FromResult ( ( IPage < FeatureResult > ) listResult ) ) ;
139
132
140
133
// 1. List only registered features of providers
141
134
this . commandRuntimeMock
@@ -168,7 +161,7 @@ public void GetProviderFeatureTests()
168
161
{
169
162
Assert . IsType < PSProviderFeature [ ] > ( obj ) ;
170
163
var features = ( PSProviderFeature [ ] ) obj ;
171
- Assert . Equal ( listResult . Features . Count , features . Length ) ;
164
+ Assert . Equal ( listResult . Count ( ) , features . Length ) ;
172
165
} ) ;
173
166
174
167
this . cmdlet . ExecuteCmdlet ( ) ;
@@ -179,12 +172,14 @@ public void GetProviderFeatureTests()
179
172
string providerOfChoice = Provider1Namespace ;
180
173
this . cmdlet . ListAvailable = false ;
181
174
this . cmdlet . ProviderNamespace = providerOfChoice ;
182
- listResult . Features = new [ ] { provider1RegisteredFeature , provider1UnregisteredFeature } ;
175
+ System . Reflection . TypeExtensions
176
+ . GetProperty ( listResult . GetType ( ) , "Items" )
177
+ . SetValue ( listResult , new [ ] { provider1RegisteredFeature , provider1UnregisteredFeature } ) ;
183
178
184
179
this . featureOperationsMock
185
180
. Setup ( f => f . ListAsync ( It . IsAny < string > ( ) , It . IsAny < CancellationToken > ( ) ) )
186
181
. Callback ( ( string providerName , CancellationToken ignored ) => Assert . Equal ( providerOfChoice , providerName , StringComparer . OrdinalIgnoreCase ) )
187
- . Returns ( ( ) => Task . FromResult ( listResult ) ) ;
182
+ . Returns ( ( ) => Task . FromResult ( ( IPage < FeatureResult > ) listResult ) ) ;
188
183
189
184
this . commandRuntimeMock
190
185
. Setup ( m => m . WriteObject ( It . IsAny < object > ( ) ) )
@@ -211,7 +206,9 @@ public void GetProviderFeatureTests()
211
206
providerOfChoice = Provider2Namespace ;
212
207
this . cmdlet . ListAvailable = false ;
213
208
this . cmdlet . ProviderNamespace = providerOfChoice ;
214
- listResult . Features = new [ ] { provider2UnregisteredFeature } ;
209
+ System . Reflection . TypeExtensions
210
+ . GetProperty ( listResult . GetType ( ) , "Items" )
211
+ . SetValue ( listResult , new [ ] { provider2UnregisteredFeature } ) ;
215
212
216
213
this . commandRuntimeMock
217
214
. Setup ( m => m . WriteObject ( It . IsAny < object > ( ) ) )
@@ -231,7 +228,9 @@ public void GetProviderFeatureTests()
231
228
providerOfChoice = Provider1Namespace ;
232
229
this . cmdlet . ProviderNamespace = providerOfChoice ;
233
230
this . cmdlet . ListAvailable = true ;
234
- listResult . Features = new [ ] { provider1RegisteredFeature , provider1UnregisteredFeature } ;
231
+ System . Reflection . TypeExtensions
232
+ . GetProperty ( listResult . GetType ( ) , "Items" )
233
+ . SetValue ( listResult , new [ ] { provider1RegisteredFeature , provider1UnregisteredFeature } ) ;
235
234
236
235
this . commandRuntimeMock
237
236
. Setup ( m => m . WriteObject ( It . IsAny < object > ( ) ) )
0 commit comments