示例#1
0
        public void ShouldDownloadAssetFilesToFolder()
        {
            var originalFolderPath = "Media";

            this.asset = this.context.Assets.CreateFromFolder(originalFolderPath, AssetCreationOptions.None);
            var assetId = this.asset.Id;

            string downloadFolderPath = CreateEmptyDirectory();

            try
            {
                this.asset.DownloadToFolder(downloadFolderPath);

                Assert.AreEqual(3, Directory.GetFiles(downloadFolderPath).Length);

                AssertDownloadedFile(originalFolderPath, downloadFolderPath, @"Media\smallwmv1.wmv");
                AssertDownloadedFile(originalFolderPath, downloadFolderPath, @"Media\smallwmv2.wmv");
                AssertDownloadedFile(originalFolderPath, downloadFolderPath, @"Media\dummy.ism");

                this.context = TestHelper.CreateContext();
                Assert.AreEqual(0, this.context.Locators.Where(l => l.AssetId == assetId).Count());
            }
            finally
            {
                DeleteDirectoryIfExists(downloadFolderPath);
            }
        }
示例#2
0
        public void ShouldCreateAssetFromFolderWithRandomAccountSelectionStrategy()
        {
            RandomAccountSelectionStrategy strategy = RandomAccountSelectionStrategy.FromAccounts(this.context);
            var folderName = "Media";

            this.asset = this.context.Assets.CreateFromFolder(folderName, strategy, AssetCreationOptions.None, null);
            var assetId = this.asset.Id;

            Assert.IsNotNull(this.asset);
            Assert.AreEqual(folderName, this.asset.Name);
            IList <string> storageAccountNames = strategy.GetStorageAccounts();

            CollectionAssert.Contains((ICollection)storageAccountNames, this.asset.StorageAccountName);

            var assetFiles = this.asset.AssetFiles.ToList().OrderBy(a => a.Name);

            Assert.AreEqual(3, assetFiles.Count());
            Assert.AreEqual("dummy.ism", assetFiles.ElementAt(0).Name);
            Assert.IsTrue(assetFiles.ElementAt(0).IsPrimary);
            Assert.AreEqual("smallwmv1.wmv", assetFiles.ElementAt(1).Name);
            Assert.IsFalse(assetFiles.ElementAt(1).IsPrimary);
            Assert.AreEqual("smallwmv2.wmv", assetFiles.ElementAt(2).Name);
            Assert.IsFalse(assetFiles.ElementAt(2).IsPrimary);

            this.context = TestHelper.CreateContext();
            Assert.AreEqual(0, this.context.Locators.Where(l => l.AssetId == assetId).Count());
        }
示例#3
0
        public void ShouldCreateAssetFromFileWithUploadProgressChangedCallback()
        {
            var uploadResults = new ConcurrentDictionary <string, UploadProgressChangedEventArgs>();
            Action <IAssetFile, UploadProgressChangedEventArgs> uploadProgressChangedCallback =
                (af, e) =>
            {
                IAssetFile assetFile = af;
                UploadProgressChangedEventArgs eventArgs = e;

                Assert.IsNotNull(assetFile);
                Assert.IsNotNull(eventArgs);

                uploadResults.AddOrUpdate(assetFile.Name, eventArgs, (k, e2) => eventArgs);
            };

            var filePath = @"Media\smallwmv1.wmv";

            this.asset = this.context.Assets.CreateFromFile(filePath, AssetCreationOptions.None, uploadProgressChangedCallback);
            var assetId = this.asset.Id;

            Assert.IsNotNull(this.asset);
            Assert.AreEqual("smallwmv1.wmv", this.asset.Name);

            Assert.AreEqual(1, uploadResults.Count);

            AssertUploadedFile(".\\Media", "smallwmv1.wmv", uploadResults["smallwmv1.wmv"]);

            var assetFiles = this.asset.AssetFiles.ToList().OrderBy(a => a.Name);

            Assert.AreEqual(1, assetFiles.Count());
            Assert.AreEqual("smallwmv1.wmv", assetFiles.ElementAt(0).Name);

            this.context = TestHelper.CreateContext();
            Assert.AreEqual(0, this.context.Locators.Where(l => l.AssetId == assetId).Count());
        }
示例#4
0
        public void ShouldCreateAssetFromFile()
        {
            var filePath = @"Media\smallwmv1.wmv";

            this.asset = this.context.Assets.CreateFromFile(filePath, null, AssetCreationOptions.None);
            var assetId = this.asset.Id;

            Assert.IsNotNull(this.asset);
            Assert.AreEqual("smallwmv1.wmv", this.asset.Name);

            var assetFiles = this.asset.AssetFiles.ToList().OrderBy(a => a.Name);

            Assert.AreEqual(1, assetFiles.Count());
            Assert.AreEqual("smallwmv1.wmv", assetFiles.ElementAt(0).Name);

            this.context = TestHelper.CreateContext();
            Assert.AreEqual(0, this.context.Locators.Where(l => l.AssetId == assetId).Count());
        }
        public void ShoudParseMediaServicesExceptionErrorMessageFromAggregateException()
        {
            var context = TestHelper.CreateContext();
            var asset   = context.Assets.Create("EmptyAsset", AssetCreationOptions.None);

            try
            {
                asset.DeleteAsync().Wait();
                asset.DeleteAsync().Wait();
            }
            catch (Exception exception)
            {
                var parsedException = MediaServicesExceptionParser.Parse(exception);

                Assert.IsNotNull(parsedException);
                Assert.AreEqual("Resource Asset not found", parsedException.Message);

                throw;
            }
        }
示例#6
0
        public void ShouldDownloadAssetFilesToFolderWithDownloadProgressChangedCallback()
        {
            var originalFolderPath = "Media";

            this.asset = this.context.Assets.CreateFromFolder(originalFolderPath, AssetCreationOptions.None);
            var assetId = this.asset.Id;

            string downloadFolderPath = CreateEmptyDirectory();

            try
            {
                var downloadResults = new ConcurrentDictionary <string, DownloadProgressChangedEventArgs>();
                Action <IAssetFile, DownloadProgressChangedEventArgs> downloadProgressChangedCallback =
                    (af, e) =>
                {
                    IAssetFile assetFile = af;
                    DownloadProgressChangedEventArgs eventArgs = e;

                    Assert.IsNotNull(assetFile);
                    Assert.IsNotNull(eventArgs);

                    downloadResults.AddOrUpdate(assetFile.Name, eventArgs, (k, e2) => eventArgs);
                };

                this.asset.DownloadToFolder(downloadFolderPath, downloadProgressChangedCallback);

                Assert.AreEqual(3, downloadResults.Count);
                Assert.AreEqual(3, Directory.GetFiles(downloadFolderPath).Length);

                AssertDownloadedFile(originalFolderPath, downloadFolderPath, @"Media\smallwmv1.wmv", downloadResults[@"Media\smallwmv1.wmv"]);
                AssertDownloadedFile(originalFolderPath, downloadFolderPath, @"Media\smallwmv2.wmv", downloadResults[@"Media\smallwmv2.wmv"]);
                AssertDownloadedFile(originalFolderPath, downloadFolderPath, @"Media\dummy.ism", downloadResults[@"Media\dummy.ism"]);

                this.context = TestHelper.CreateContext();
                Assert.AreEqual(0, this.context.Locators.Where(l => l.AssetId == assetId).Count());
            }
            finally
            {
                DeleteDirectoryIfExists(downloadFolderPath);
            }
        }
示例#7
0
        public void ShouldCreateAssetFromFolder()
        {
            var folderName = "Media";

            this.asset = this.context.Assets.CreateFromFolder(folderName, null, AssetCreationOptions.None);
            var assetId = this.asset.Id;

            Assert.IsNotNull(this.asset);
            Assert.AreEqual(folderName, this.asset.Name);

            var assetFiles = this.asset.AssetFiles.ToList().OrderBy(a => a.Name);

            Assert.AreEqual(3, assetFiles.Count());
            Assert.AreEqual("dummy.ism", assetFiles.ElementAt(0).Name);
            Assert.IsTrue(assetFiles.ElementAt(0).IsPrimary);
            Assert.AreEqual("smallwmv1.wmv", assetFiles.ElementAt(1).Name);
            Assert.IsFalse(assetFiles.ElementAt(1).IsPrimary);
            Assert.AreEqual("smallwmv2.wmv", assetFiles.ElementAt(2).Name);
            Assert.IsFalse(assetFiles.ElementAt(2).IsPrimary);

            this.context = TestHelper.CreateContext();
            Assert.AreEqual(0, this.context.Locators.Where(l => l.AssetId == assetId).Count());
        }
示例#8
0
        public void ShouldCreateAssetFromFileWithRandomAccountSelectionStrategy()
        {
            RandomAccountSelectionStrategy strategy = RandomAccountSelectionStrategy.FromAccounts(this.context);

            var filePath = @"Media\smallwmv1.wmv";

            this.asset = this.context.Assets.CreateFromFile(filePath, strategy, AssetCreationOptions.None, null);
            var assetId = this.asset.Id;

            Assert.IsNotNull(this.asset);
            Assert.AreEqual("smallwmv1.wmv", this.asset.Name);
            IList <string> storageAccountNames = strategy.GetStorageAccounts();

            CollectionAssert.Contains((ICollection)storageAccountNames, this.asset.StorageAccountName);

            var assetFiles = this.asset.AssetFiles.ToList().OrderBy(a => a.Name);

            Assert.AreEqual(1, assetFiles.Count());
            Assert.AreEqual("smallwmv1.wmv", assetFiles.ElementAt(0).Name);

            this.context = TestHelper.CreateContext();
            Assert.AreEqual(0, this.context.Locators.Where(l => l.AssetId == assetId).Count());
        }
示例#9
0
 public void Initialize()
 {
     this.context = TestHelper.CreateContext();
     this.asset   = null;
 }
 public void Initialize()
 {
     this.context = TestHelper.CreateContext();
 }