public void TestAssetGetContentKeysRetry() { var data = new AssetData { Name = "testData", Id = "testId" }; var dataContextMock = TestMediaServicesClassFactory.CreateLoadPropertyMockConnectionClosed(2, data); _mediaContext.MediaServicesClassFactory = new TestMediaServicesClassFactory(dataContextMock.Object); data.SetMediaContext(_mediaContext); var keys = ((IAsset)data).ContentKeys; dataContextMock.Verify((ctxt) => ctxt.LoadProperty(data, "ContentKeys"), Times.Exactly(2)); }
public void LinkCollectionTestRemoveRetry() { var data = new AssetData { }; var fakeException = new WebException("test", WebExceptionStatus.ConnectionClosed); var dataContextMock = TestMediaServicesClassFactory.CreateSaveChangesMock(fakeException, 2, data); _mediaContext.MediaServicesClassFactory = new TestMediaServicesClassFactory(dataContextMock.Object); data.SetMediaContext(_mediaContext); var target = new LinkCollection<IAsset, AssetData>(dataContextMock.Object, data, "", new IAsset[] { data }); target.RemoveAt(0); dataContextMock.Verify((ctxt) => ctxt.SaveChanges(), Times.Exactly(2)); }
public void LinkCollectionTestRemoveRetry() { var data = new AssetData { }; var fakeException = new WebException("test", WebExceptionStatus.ConnectionClosed); var dataContextMock = TestMediaServicesClassFactory.CreateSaveChangesMock(fakeException, 2, data); _mediaContext.MediaServicesClassFactory = new TestMediaServicesClassFactory(dataContextMock.Object); data.SetMediaContext(_mediaContext); var target = new LinkCollection <IAsset, AssetData>(dataContextMock.Object, data, "", new IAsset[] { data }); target.RemoveAt(0); dataContextMock.Verify((ctxt) => ctxt.SaveChanges(), Times.Exactly(2)); }
public void TestAssetUpdateRetry() { var data = new AssetData { Name = "testData" }; var fakeException = new WebException("test", WebExceptionStatus.ConnectionClosed); var dataContextMock = TestMediaServicesClassFactory.CreateSaveChangesMock(fakeException, 2, data); dataContextMock.Setup((ctxt) => ctxt.AttachTo("Assets", data)); dataContextMock.Setup((ctxt) => ctxt.UpdateObject(data)); _mediaContext.MediaServicesClassFactory = new TestMediaServicesClassFactory(dataContextMock.Object); data.SetMediaContext(_mediaContext); data.Update(); dataContextMock.Verify((ctxt) => ctxt.SaveChangesAsync(data), Times.Exactly(2)); }
public void TestLocatorCreateRetry() { var dataContextMock = new Mock <IMediaDataServiceContext>(); int exceptionCount = 2; var expected = new LocatorData { Name = "testData" }; var fakeResponse = new TestMediaDataServiceResponse { AsyncState = expected }; var fakeException = new WebException("testException", WebExceptionStatus.ConnectionClosed); dataContextMock.Setup((ctxt) => ctxt.AddObject("Files", It.IsAny <object>())); dataContextMock.Setup((ctxt) => ctxt .SaveChangesAsync(It.IsAny <object>())) .Returns(() => Task.Factory.StartNew <IMediaDataServiceResponse>(() => { if (--exceptionCount > 0) { throw fakeException; } return(fakeResponse); })); _mediaContext.MediaServicesClassFactory = new TestMediaServicesClassFactory(dataContextMock.Object); var asset = new AssetData { Name = "testAssetData" }; asset.SetMediaContext(_mediaContext); ILocator locator = _mediaContext.Locators.CreateLocator(LocatorType.None, asset, new AccessPolicyData()); Assert.AreEqual(expected.Name, locator.Name); Assert.AreEqual(0, exceptionCount); }
public void TestAssetFileCreateRetry() { var dataContextMock = new Mock<IMediaDataServiceContext>(); int exceptionCount = 2; var expected = new AssetFileData { Name = "testData" }; var fakeResponse = new TestMediaDataServiceResponse { AsyncState = expected }; var fakeException = new WebException("testException", WebExceptionStatus.ConnectionClosed); dataContextMock.Setup((ctxt) => ctxt.AddObject("Files", It.IsAny<object>())); dataContextMock.Setup((ctxt) => ctxt .SaveChangesAsync(It.IsAny<object>())) .Returns(() => Task.Factory.StartNew<IMediaDataServiceResponse>(() => { if (--exceptionCount > 0) throw fakeException; return fakeResponse; })); _mediaContext.MediaServicesClassFactory = new TestMediaServicesClassFactory(dataContextMock.Object); var asset = new AssetData { Name = "testData" }; asset.SetMediaContext(_mediaContext); IAssetFile file = ((IAsset)asset).AssetFiles.Create("test"); Assert.AreEqual(expected.Name, file.Name); Assert.AreEqual(0, exceptionCount); }
public void TestAssetUpdateRetry() { var dataContextMock = new Mock<IMediaDataServiceContext>(); int exceptionCount = 2; var asset = new AssetData { Name = "testData" }; var fakeResponse = new TestMediaDataServiceResponse { AsyncState = asset }; var fakeException = new WebException("test", WebExceptionStatus.ConnectionClosed); dataContextMock.Setup((ctxt) => ctxt.AttachTo("Assets", asset)); dataContextMock.Setup((ctxt) => ctxt.UpdateObject(asset)); dataContextMock.Setup((ctxt) => ctxt .SaveChangesAsync(asset)) .Returns(() => Task.Factory.StartNew<IMediaDataServiceResponse>(() => { if (--exceptionCount > 0) throw fakeException; return fakeResponse; })); _mediaContext.MediaServicesClassFactory = new TestMediaServicesClassFactory(dataContextMock.Object); asset.SetMediaContext(_mediaContext); asset.Update(); Assert.AreEqual(0, exceptionCount); }
public void InitilizeStubData() { string assetId = "nb:Id:" + Guid.NewGuid(); StorageAccountData storageAccountData = new StorageAccountData { IsDefault = true, Name = "test storage", }; _persistedChanges.Add(StorageAccountBaseCollection.EntitySet, new List <StorageAccountData> { storageAccountData }); AssetData assetData = new AssetData() { Id = assetId, AlternateId = String.Empty, Created = DateTime.UtcNow, LastModified = DateTime.UtcNow, Name = "Mock Asset", Options = (int)AssetCreationOptions.None, }; assetData.SetMediaContext(_mediaContextBase); _persistedChanges.Add(AssetCollection.AssetSet, new List <AssetData> { assetData }); string accessPolicyId = Guid.NewGuid().ToString(); AccessPolicyData accessPolicyData = new AccessPolicyData() { Id = accessPolicyId, Name = "Mock AccessPolicy", Created = DateTime.UtcNow.AddDays(-1), DurationInMinutes = 10000, LastModified = DateTime.UtcNow, Permissions = (int)AccessPermissions.Read }; accessPolicyData.SetMediaContext(_mediaContextBase); _persistedChanges.Add(AccessPolicyBaseCollection.AccessPolicySet, new List <AccessPolicyData> { accessPolicyData }); LocatorData locatorData = new LocatorData() { Id = Guid.NewGuid().ToString(), AssetId = assetId, Name = "Mock locator", AccessPolicyId = accessPolicyId, BaseUri = "http://" }; locatorData.SetMediaContext(_mediaContextBase); _persistedChanges.Add(LocatorBaseCollection.LocatorSet, new List <LocatorData> { locatorData }); _persistedChanges.Add(AssetFileCollection.FileSet, new List <AssetFileData> { new AssetFileData() { Id = Guid.NewGuid().ToString(), Created = DateTime.UtcNow, Name = "Mock File", ParentAssetId = assetId } }); _persistedChanges.Add(MediaProcessorBaseCollection.MediaProcessorSet, new List <MediaProcessorData> { new MediaProcessorData() { Id = Guid.NewGuid().ToString(), Name = "Mock Processor", Version = "1", Vendor = "mock" } }); _persistedChanges.Add(JobBaseCollection.JobSet, new List <JobData> { new JobData() { Id = Guid.NewGuid().ToString(), Name = "Mock Job", } }); }