private ITenantsOperations GetTenantMock(List <TenantIdDescription> tenants) { var tenantMock = new Mock <ITenantsOperations>(); tenantMock.Setup(t => t.ListWithHttpMessagesAsync(It.IsAny <Dictionary <string, List <string> > >(), It.IsAny <CancellationToken>())) .Returns( (Dictionary <string, List <string> > ch, CancellationToken token) => { if (TenantListQueueVer2019 != null && TenantListQueueVer2019.Any()) { return(ListTenantQueueDequeueVer2019()); } var mockPage = new MockPage <TenantIdDescription>(tenants); AzureOperationResponse <IPage <TenantIdDescription> > r = new AzureOperationResponse <IPage <TenantIdDescription> > { Body = mockPage }; return(Task.FromResult(r)); } ); return(tenantMock.Object); }
public SubscriptionClient GetSubscriptionClientVer2019() { var tenantMock = new Mock <ITenantsOperations>(); tenantMock.Setup(t => t.ListWithHttpMessagesAsync(It.IsAny <Dictionary <string, List <string> > >(), It.IsAny <CancellationToken>())) .Returns( (Dictionary <string, List <string> > ch, CancellationToken token) => { if (TenantListQueueVer2019 != null && TenantListQueueVer2019.Any()) { return(ListTenantQueueDequeueVer2019()); } var tenants = _tenants.Select((k) => new TenantIdDescription(id: k, tenantId: k)); var mockPage = new MockPage <TenantIdDescription>(tenants.ToList()); AzureOperationResponse <IPage <TenantIdDescription> > r = new AzureOperationResponse <IPage <TenantIdDescription> > { Body = mockPage }; return(Task.FromResult(r)); } ); var subscriptionMock = new Mock <ISubscriptionsOperations>(); subscriptionMock.Setup( s => s.GetWithHttpMessagesAsync(It.IsAny <string>(), It.IsAny <Dictionary <string, List <string> > >(), It.IsAny <CancellationToken>())).Returns( (string subId, Dictionary <string, List <string> > ch, CancellationToken token) => { if (SubGetQueueVer2019 != null && SubGetQueueVer2019.Any()) { return(GetSubQueueDequeueVer2019()); } AzureOperationResponse <Subscription> result = new AzureOperationResponse <Subscription> { RequestId = Guid.NewGuid().ToString() }; if (_subscriptionSet.Contains(subId)) { result.Body = new Subscription( id: subId, subscriptionId: subId, tenantId: null, displayName: GetSubscriptionNameFromId(subId), state: SubscriptionState.Enabled, subscriptionPolicies: null, authorizationSource: null); } return(Task.FromResult(result)); }); subscriptionMock.Setup( (s) => s.ListWithHttpMessagesAsync(null, It.IsAny <CancellationToken>())).Returns( (Dictionary <string, List <string> > ch, CancellationToken token) => { if (SubListQueueVer2019 != null && SubListQueueVer2019.Any()) { return(ListSubQueueDequeueVer2019()); } AzureOperationResponse <IPage <Subscription> > result = null; if (_subscriptions.Count > 0) { var subscriptionList = _subscriptions.Dequeue(); result = new AzureOperationResponse <IPage <Subscription> > { RequestId = Guid.NewGuid().ToString(), Body = new MockPage <Subscription>( new List <Subscription>( subscriptionList.Select( sub => new Subscription( id: sub, subscriptionId: sub, tenantId: null, displayName: GetSubscriptionNameFromId(sub), state: SubscriptionState.Enabled, subscriptionPolicies: null, authorizationSource: null))), "LinkToNextPage") }; } return(Task.FromResult(result)); }); subscriptionMock.Setup( (s) => s.ListNextWithHttpMessagesAsync("LinkToNextPage", null, It.IsAny <CancellationToken>())).Returns( (string nextLink, Dictionary <string, List <string> > ch, CancellationToken token) => { AzureOperationResponse <IPage <Subscription> > result = null; if (_subscriptions.Count > 0) { var subscriptionList = _subscriptions.Dequeue(); result = new AzureOperationResponse <IPage <Subscription> > { RequestId = Guid.NewGuid().ToString(), Body = new MockPage <Subscription>( new List <Subscription>( subscriptionList.Select( sub => new Subscription( id: sub, subscriptionId: sub, tenantId: null, displayName: GetSubscriptionNameFromId(sub), state: SubscriptionState.Disabled, subscriptionPolicies: null, authorizationSource: null)))) }; } return(Task.FromResult(result)); }); var client = new Mock <SubscriptionClient>() { CallBase = true }; client.SetupGet(c => c.Subscriptions).Returns(subscriptionMock.Object); client.SetupGet(c => c.Tenants).Returns(tenantMock.Object); return(client.Object); }