public void WhenGetJobIsCalledThenMediaServicesContextIsCreatedWithTheAccountProvided() { const string AccountName = "myAccount"; const string AccountKey = "myKey"; var client = new AzureMediaServicesClient(AccountName, AccountKey); using (ShimsContext.Create()) { string providedAccountName = null; string providedAccountKey = null; var sampleJobs = new List <IJob>().AsQueryable(); var collection = new ShimJobBaseCollection(); collection.Bind(sampleJobs); ShimCloudMediaContext.ConstructorStringString = (context, accountName, accountKey) => { providedAccountName = accountName; providedAccountKey = accountKey; }; ShimCloudMediaContext.AllInstances.JobsGet = context => collection; ShimQueryable.WhereOf1IQueryableOfM0ExpressionOfFuncOfM0Boolean <IJob>((jobs, predicate) => sampleJobs); client.GetJob("nb:cid:UUID:8131a85d-5999-555c-a30f-468cb087701c"); Assert.AreEqual(AccountName, providedAccountName); Assert.AreEqual(AccountKey, providedAccountKey); } }
public void WhenGetAssetsIsCalledThenMediaServicesContextIsCreatedWithTheAccountProvided() { const string AccountName = "myAccount"; const string AccountKey = "myKey"; var client = new AzureMediaServicesClient(AccountName, AccountKey); using (ShimsContext.Create()) { string providedAccountName = null; string providedAccountKey = null; ShimCloudMediaContext.ConstructorStringString = (context, accountName, accountKey) => { providedAccountName = accountName; providedAccountKey = accountKey; }; ShimQueryable.WhereOf1IQueryableOfM0ExpressionOfFuncOfM0Boolean <IAsset>((assets, predicate) => null); client.GetAssets(asset => asset.Name == "EZ"); Assert.AreEqual(AccountName, providedAccountName); Assert.AreEqual(AccountKey, providedAccountKey); } }
public void WhenGetAssetsIsCalledWithAPredicateThenAssetsCollectionIsFiltered() { var client = new AzureMediaServicesClient("myAccountName", "myAccountKey"); using (ShimsContext.Create()) { var asset1 = new StubIAsset { NameGet = () => "EZ" }; var asset2 = new StubIAsset { NameGet = () => "VOD" }; var sampleAssets = new List <IAsset> { asset1, asset2 }; var collection = new StubAssetBaseCollection { QueryableGet = sampleAssets.AsQueryable }; Expression <Func <IAsset, bool> > filter = asset => asset.Name == "EZ"; Expression <Func <IAsset, bool> > providedPredicate = null; ShimCloudMediaContext.ConstructorStringString = (context, accountName, accountKey) => { }; ShimCloudMediaContext.AllInstances.AssetsGet = context => collection; ShimQueryable.WhereOf1IQueryableOfM0ExpressionOfFuncOfM0Boolean <IAsset>((assets, predicate) => { Assert.AreEqual(2, assets.Count()); providedPredicate = predicate; return(ShimsContext.ExecuteWithoutShims(() => assets.Where(predicate))); }); var returnedAssets = client.GetAssets(filter); Assert.AreSame(filter, providedPredicate); Assert.AreEqual(1, returnedAssets.Count()); Assert.AreEqual(asset1.NameGet(), returnedAssets.First().Name); } }