コード例 #1
0
        public static void Initialize()
        {
            if (Directory.Exists(BaseSettings.StorageFolder))
            {
                Directory.Delete(BaseSettings.StorageFolder, true);
            }

            if (Directory.Exists(ThumbnailFileHandlingTests.t1RootFolder))
            {
                Directory.Delete(ThumbnailFileHandlingTests.t1RootFolder, true);
            }

            BaseSettings.SubFolder = String.Empty;
            ThumbnailFileHandlingTests.thumbNailFallbackImage1TargetFilePath             = Path.Combine(BaseSettings.ThumbnailFallbackImageFolder, "image1.png");
            ThumbnailFileHandlingTests.thumbNailFallbackFileExistedImage12TargetFilePath = Path.Combine(BaseSettings.ThumbnailFallbackImageFolder, "image12.png");

            MainWindowViewModel mainWindowViewModel = new MainWindowViewModel(BaseSettings.UserSuffix, null, out _, out ThumbnailFileHandlingTests.templateList, out _);

            ThumbnailFileHandlingTests.uploadListViewModel = (UploadListViewModel)mainWindowViewModel.CurrentViewModel;
            mainWindowViewModel.TabNo = 1;
            ThumbnailFileHandlingTests.templateViewModel = (TemplateViewModel)mainWindowViewModel.CurrentViewModel;

            Directory.CreateDirectory(ThumbnailFileHandlingTests.t1RootFolder);
            Directory.CreateDirectory(Path.Combine(ThumbnailFileHandlingTests.t1RootFolder, "videos"));
            File.Copy(Path.Combine(TestContext.CurrentContext.TestDirectory, "TestAssets", "video1.mkv"), ThumbnailFileHandlingTests.t1RootVideo1FilePath);

            ThumbnailFileHandlingTests.t1 = new Template("T1", null, TemplateMode.FolderBased, ThumbnailFileHandlingTests.t1RootFolder, null, ThumbnailFileHandlingTests.templateList);
            ThumbnailFileHandlingTests.t2 = new Template("T2", null, TemplateMode.FolderBased, null, null, ThumbnailFileHandlingTests.templateList);
            ThumbnailFileHandlingTests.t3 = new Template("T3", null, TemplateMode.FolderBased, null, null, ThumbnailFileHandlingTests.templateList);

            ThumbnailFileHandlingTests.templateViewModel.AddTemplate(t1);
            ThumbnailFileHandlingTests.templateViewModel.AddTemplate(t2);
            ThumbnailFileHandlingTests.templateViewModel.AddTemplate(t3);
        }
コード例 #2
0
        private void CUpload_Dropped(object sender, DragEventArgs e)
        {
            base.OnDrop(e);

            UploadControl       uploadControlToMove           = (UploadControl)e.Data.GetData("UploadControl");
            UploadControl       uploadControlAtTargetPosition = (UploadControl)sender;
            UploadListViewModel uploadListViewModel           = (UploadListViewModel)this.DataContext;

            uploadListViewModel.ReOrder(((UploadViewModel)uploadControlToMove.DataContext).Upload, ((UploadViewModel)uploadControlAtTargetPosition.DataContext).Upload);

            e.Handled = true;
        }
コード例 #3
0
ファイル: MainWindow.xaml.cs プロジェクト: mp3096/VidUp
        private void Image_Drop(object sender, DragEventArgs e)
        {
            UploadListViewModel uploadListViewModel = (UploadListViewModel)((MainWindowViewModel)this.DataContext).CurrentViewModel;

            string[]      files   = (string[])e.Data.GetData(DataFormats.FileDrop);
            List <Upload> uploads = new List <Upload>();

            foreach (string file in files)
            {
                uploads.Add(new Upload(file));
            }

            uploadListViewModel.AddUploads(uploads);
        }
コード例 #4
0
ファイル: BasicTests.cs プロジェクト: mp3096/VidUp
        public static void ReferencesAreEqual()
        {
            Guid uploadWithTemplateGuid    = Guid.Parse("e1957955-c88b-4185-90f5-ce1c9fbfe08d");
            Guid uploadWithoutTemplateGuid = Guid.Parse("0f179547-8981-4509-b167-b84d1fdbc2e6");

            UploadList          uploadList;
            TemplateList        templateList;
            PlaylistList        playlistList;
            MainWindowViewModel mainWindowViewModel = new MainWindowViewModel(BaseSettings.UserSuffix, BaseSettings.SubFolder, out uploadList, out templateList, out playlistList);

            UploadListViewModel uploadListViewModel = (UploadListViewModel)mainWindowViewModel.CurrentViewModel;

            mainWindowViewModel.TabNo = 1;
            TemplateViewModel templateViewModel = (TemplateViewModel)mainWindowViewModel.CurrentViewModel;

            mainWindowViewModel.TabNo = 2;
            PlaylistViewModel playlistViewModel = (PlaylistViewModel)mainWindowViewModel.CurrentViewModel;

            Assert.IsTrue(uploadList.UploadCount == 2);
            Assert.IsTrue(templateList.TemplateCount == 1);

            Upload uploadWithTemplate    = uploadList.GetUpload(upload => upload.Guid == uploadWithTemplateGuid);
            Upload uploadWithoutTemplate = uploadList.GetUpload(upload => upload.Guid == uploadWithoutTemplateGuid);

            Template template = templateList.GetTemplate(0);

            Playlist playlist = playlistList.GetPlaylist(0);

            Assert.IsTrue(template.Uploads.Count == 1);
            Assert.IsTrue(template.Uploads[0] == uploadWithTemplate);

            Assert.IsTrue(uploadListViewModel.ObservableUploadViewModels.Count() == 2);
            Assert.IsTrue(uploadListViewModel.ObservableUploadViewModels.GetUploadByGuid(uploadWithTemplateGuid).Upload == uploadWithTemplate);
            Assert.IsTrue(uploadListViewModel.ObservableUploadViewModels.GetUploadByGuid(uploadWithoutTemplateGuid).Upload == uploadWithoutTemplate);
            Assert.IsTrue(uploadListViewModel.ObservableTemplateViewModelsInclAllNone[2].Template == template);
            Assert.IsTrue(uploadListViewModel.ObservableTemplateViewModelsInclAllNone[0].Template == uploadListViewModel.DeleteSelectedTemplate.Template);
            Assert.IsTrue(uploadListViewModel.ObservableTemplateViewModelsInclAllNone[0] == uploadListViewModel.DeleteSelectedTemplate);
            Assert.IsTrue(uploadListViewModel.StatusesInclAll[5] == uploadListViewModel.DeleteSelectedUploadStatus);

            Assert.IsTrue(templateViewModel.Template == template);
            Assert.IsTrue(templateViewModel.ObservableTemplateViewModels[0].Template == template);
            Assert.IsTrue(templateViewModel.ObservablePlaylistViewModels[0].Playlist == playlist);
            Assert.IsTrue(templateViewModel.ObservableTemplateViewModels[0] == templateViewModel.SelectedTemplate);
            Assert.IsTrue(templateViewModel.SelectedTemplate.Template == template);
            Assert.IsTrue(templateViewModel.ObservablePlaylistViewModels[0] == templateViewModel.SelectedPlaylist);

            Assert.IsTrue(playlistViewModel.Playlist == playlist);
            Assert.IsTrue(playlistViewModel.ObservablePlaylistViewModels[0].Playlist == playlist);
            Assert.IsTrue(playlistViewModel.ObservablePlaylistViewModels[0] == playlistViewModel.SelectedPlaylist);
        }
コード例 #5
0
        public static void CleanUp()
        {
            ThumbnailFileHandlingTests.templateViewModel   = null;
            ThumbnailFileHandlingTests.uploadListViewModel = null;

            if (Directory.Exists(BaseSettings.StorageFolder))
            {
                Directory.Delete(BaseSettings.StorageFolder, true);
            }

            if (Directory.Exists(ThumbnailFileHandlingTests.t1RootFolder))
            {
                Directory.Delete(ThumbnailFileHandlingTests.t1RootFolder, true);
            }
        }
コード例 #6
0
ファイル: BasicTests.cs プロジェクト: mp3096/VidUp
        public static void RemoveUploadFinishedWithTemplate()
        {
            string uploadGuid = "e1957955-c88b-4185-90f5-ce1c9fbfe08d";

            UploadList          uploadList;
            TemplateList        templateList;
            PlaylistList        playlistList;
            MainWindowViewModel mainWindowViewModel = new MainWindowViewModel(BaseSettings.UserSuffix, BaseSettings.SubFolder, out uploadList, out templateList, out playlistList);

            UploadListViewModel uploadListViewModel = (UploadListViewModel)mainWindowViewModel.CurrentViewModel;

            uploadListViewModel.DeleteCommand.Execute(uploadGuid);

            Assert.IsTrue(uploadList.UploadCount == 1);
            Upload upload = uploadList.GetUpload(0);

            Assert.IsTrue(upload.Guid != Guid.Parse(uploadGuid));

            Template template = templateList.GetTemplate(0);

            Assert.IsTrue(template.Uploads.Count == 1);
            Assert.IsTrue(template.Uploads[0].Guid == Guid.Parse(uploadGuid));

            JArray jArray = (JArray)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(BaseSettings.StorageFolder, "uploads.json")));

            Assert.IsTrue(jArray.Count == 2);

            bool found        = false;
            bool foundAgain   = false;
            int  uploadsCount = 0;

            foreach (JObject jsonUpload in jArray.SelectTokens("$.[*]"))
            {
                uploadsCount++;
                string guid = jsonUpload["guid"].Value <string>();

                if (guid == uploadGuid)
                {
                    if (found)
                    {
                        foundAgain = true;
                    }

                    found = true;
                }
            }

            Assert.IsTrue(uploadsCount == 2);
            Assert.IsTrue(found);
            Assert.IsTrue(!foundAgain);

            jArray = (JArray)((JObject)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(BaseSettings.StorageFolder, "uploadlist.json"))))["uploads"];

            Assert.IsTrue(jArray.Count == 1);

            found        = false;
            uploadsCount = 0;
            foreach (JValue guid in jArray.SelectTokens("$.[*]"))
            {
                uploadsCount++;
                string jsonGuid = guid.Value <string>();
                if (jsonGuid == uploadGuid)
                {
                    found = true;
                }
            }

            Assert.IsTrue(uploadsCount == 1);
            Assert.IsTrue(!found);

            jArray = (JArray)((JObject)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(BaseSettings.StorageFolder, "templatelist.json"))))["templates"];

            Assert.IsTrue(jArray.Count == 1);

            found = false;
            int templatesCount = 0;

            uploadsCount = 0;
            foreach (JObject jsonTemplate in jArray.SelectTokens("$.[*]"))
            {
                templatesCount++;
                JToken uploads = jsonTemplate["uploads"];
                foreach (JToken jsonUploadGuid in uploads.SelectTokens("$.[*]"))
                {
                    uploadsCount++;
                    string guid = jsonUploadGuid.Value <string>();
                    if (guid == uploadGuid)
                    {
                        found = true;
                    }
                }
            }

            Assert.IsTrue(templatesCount == 1);
            Assert.IsTrue(uploadsCount == 1);
            Assert.IsTrue(found);

            jArray = (JArray)((JObject)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(BaseSettings.StorageFolder, "playlistlist.json"))))["playlists"];

            Assert.IsTrue(jArray.Count == 1);

            found = false;
            int playlistsCount = 0;

            foreach (JObject jsonplaylist in jArray.SelectTokens("$.[*]"))
            {
                playlistsCount++;
                string playlistId = jsonplaylist["playlistId"].Value <string>();
                if (playlistId == BasicTests.testPlaylistId)
                {
                    found = true;
                }
            }

            Assert.IsTrue(playlistsCount == 1);
            Assert.IsTrue(found);
        }
コード例 #7
0
ファイル: BasicTests.cs プロジェクト: mp3096/VidUp
        public static void Add2UploadsWithAndWithoutTemplateMatch()
        {
            UploadList          uploadList;
            TemplateList        templateList;
            PlaylistList        playlistList;
            MainWindowViewModel mainWindowViewModel = new MainWindowViewModel(BaseSettings.UserSuffix, BaseSettings.SubFolder, out uploadList, out templateList, out playlistList);

            UploadListViewModel uploadListViewModel = (UploadListViewModel)mainWindowViewModel.CurrentViewModel;

            List <Upload> uploads = new List <Upload>();

            Upload uploadWithoutTemplateMatch = new Upload(BasicTests.video2TargetFilePath);

            uploads.Add(uploadWithoutTemplateMatch);
            Upload uploadWithTemplateMatch = new Upload(BasicTests.video1TargetFilePath);

            uploads.Add(uploadWithTemplateMatch);

            uploadListViewModel.AddUploads(uploads);

            Assert.IsTrue(uploadWithoutTemplateMatch.Template == null);
            Assert.IsTrue(uploadWithoutTemplateMatch.Description == null);
            Assert.IsTrue(Path.GetFullPath(uploadWithoutTemplateMatch.ImageFilePath) == Path.GetFullPath(BasicTests.defaultTemplateRenderingImageFilePath));
            Assert.IsTrue(uploadWithoutTemplateMatch.Playlist == null);
            Assert.IsTrue(uploadWithoutTemplateMatch.Tags.Count == 0);
            Assert.IsTrue(uploadWithoutTemplateMatch.ThumbnailFilePath == null);
            Assert.IsTrue(uploadWithoutTemplateMatch.Title == "video2");
            Assert.IsTrue(uploadWithoutTemplateMatch.YtTitle == "video2");
            Assert.IsTrue(uploadWithoutTemplateMatch.Visibility == Visibility.Private);

            Assert.IsTrue(uploadWithTemplateMatch.Template == templateList.GetTemplate(0));
            Assert.IsTrue(uploadWithTemplateMatch.Description == BasicTests.testTemplateDescription);
            Assert.IsTrue(Path.GetFullPath(uploadWithTemplateMatch.ImageFilePath) == Path.GetFullPath(BasicTests.defaultTemplateRenderingImageFilePath));
            Assert.IsTrue(uploadWithTemplateMatch.Playlist == playlistList.GetPlaylist(0));
            Assert.IsTrue(uploadWithTemplateMatch.Tags.Count == 2);
            Assert.IsTrue(uploadWithTemplateMatch.Tags[0] == BasicTests.testTemplateTag1);
            Assert.IsTrue(uploadWithTemplateMatch.Tags[1] == BasicTests.testTemplateTag2);
            Assert.IsTrue(uploadWithTemplateMatch.ThumbnailFilePath == null);
            //todo: add video with # placeholder
            Assert.IsTrue(uploadWithTemplateMatch.Title == BasicTests.testTemplateTitle);
            Assert.IsTrue(uploadWithTemplateMatch.YtTitle == BasicTests.testTemplateTitle);
            Assert.IsTrue(uploadWithTemplateMatch.Visibility == Visibility.Private);

            uploadList          = null;
            templateList        = null;
            playlistList        = null;
            mainWindowViewModel = null;

            Assert.IsTrue(File.Exists(Path.Combine(BaseSettings.StorageFolder, "uploads.json")));
            Assert.IsTrue(File.Exists(Path.Combine(BaseSettings.StorageFolder, "uploadlist.json")));

            JArray jArray = (JArray)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(BaseSettings.StorageFolder, "uploads.json")));

            Assert.IsTrue(jArray.Count == 2);

            bool   foundUploadWithoutTemplateMatch = false;
            bool   foundUploadWithTemplateMatch    = false;
            int    uploadsCount = 0;
            string uploadWithoutTemplateMatchGuid = null;
            string uploadWithTemplateMatchGuid    = null;

            foreach (JObject jsonUpload in jArray.SelectTokens("$.[*]"))
            {
                uploadsCount++;
                string filePath          = jsonUpload["filePath"].Value <string>();
                string templateGuid      = jsonUpload["template"].Value <string>();
                string playlist          = jsonUpload["playlist"].Value <string>();
                int    tagCount          = ((JArray)jsonUpload["tags"]).Count;
                string thumbnailFilePath = jsonUpload["thumbnailFilePath"].Value <string>();
                string title             = jsonUpload["title"].Value <string>();
                string visibility        = jsonUpload["visibility"].Value <string>();

                if (filePath == BasicTests.video2TargetFilePath)
                {
                    uploadWithoutTemplateMatchGuid  = jsonUpload["guid"].Value <string>();
                    foundUploadWithoutTemplateMatch = true;

                    Assert.IsTrue(templateGuid == null);
                    Assert.IsTrue(playlist == null);
                    Assert.IsTrue(tagCount == 0);
                    Assert.IsTrue(thumbnailFilePath == null);
                    Assert.IsTrue(title == "video2");
                    Assert.IsTrue(visibility == BasicTests.privateVisibility);
                }

                if (filePath == BasicTests.video1TargetFilePath)
                {
                    uploadWithTemplateMatchGuid  = jsonUpload["guid"].Value <string>();
                    foundUploadWithTemplateMatch = true;

                    string tag1 = ((JArray)jsonUpload["tags"])[0].Value <string>();
                    string tag2 = ((JArray)jsonUpload["tags"])[1].Value <string>();

                    Assert.IsTrue(templateGuid == BasicTests.testTemplateGuid);
                    Assert.IsTrue(playlist == BasicTests.testPlaylistId);
                    Assert.IsTrue(tagCount == 2);
                    Assert.IsTrue(tag1 == BasicTests.testTemplateTag1);
                    Assert.IsTrue(tag2 == BasicTests.testTemplateTag2);
                    Assert.IsTrue(thumbnailFilePath == null);
                    Assert.IsTrue(title == BasicTests.testTemplateTitle);
                    Assert.IsTrue(visibility == BasicTests.privateVisibility);
                }
            }

            Assert.IsTrue(uploadsCount == 2);
            Assert.IsTrue(foundUploadWithoutTemplateMatch);
            Assert.IsTrue(foundUploadWithTemplateMatch);

            jArray = (JArray)((JObject)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(BaseSettings.StorageFolder, "uploadlist.json"))))["uploads"];

            Assert.IsTrue(jArray.Count == 2);

            foundUploadWithoutTemplateMatch = false;
            foundUploadWithTemplateMatch    = false;
            uploadsCount = 0;
            foreach (JValue guid in jArray.SelectTokens("$.[*]"))
            {
                uploadsCount++;
                string jsonGuid = guid.Value <string>();
                if (jsonGuid == uploadWithoutTemplateMatchGuid)
                {
                    foundUploadWithoutTemplateMatch = true;
                }

                if (jsonGuid == uploadWithTemplateMatchGuid)
                {
                    foundUploadWithTemplateMatch = true;
                }
            }

            Assert.IsTrue(uploadsCount == 2);
            Assert.IsTrue(foundUploadWithoutTemplateMatch);
            Assert.IsTrue(foundUploadWithTemplateMatch);
        }
コード例 #8
0
ファイル: BasicTests.cs プロジェクト: mp3096/VidUp
        public static void AddFirstUpload()
        {
            UploadList          uploadList;
            TemplateList        templateList;
            PlaylistList        playlistList;
            MainWindowViewModel mainWindowViewModel = new MainWindowViewModel(BaseSettings.UserSuffix, BaseSettings.SubFolder, out uploadList, out templateList, out playlistList);

            UploadListViewModel uploadListViewModel = (UploadListViewModel)mainWindowViewModel.CurrentViewModel;

            List <Upload> uploads = new List <Upload>();

            uploads.Add(new Upload(BasicTests.video1TargetFilePath));
            uploadListViewModel.AddUploads(uploads);

            Assert.IsTrue(uploadList.UploadCount == 1);
            Assert.IsTrue(uploadList.GetUpload(0).FilePath == BasicTests.video1TargetFilePath);
            Assert.IsTrue(templateList.TemplateCount == 0);
            Assert.IsTrue(playlistList.PlaylistCount == 0);

            uploadList          = null;
            templateList        = null;
            playlistList        = null;
            mainWindowViewModel = null;

            Assert.IsTrue(File.Exists(Path.Combine(BaseSettings.StorageFolder, "uploads.json")));
            Assert.IsTrue(File.Exists(Path.Combine(BaseSettings.StorageFolder, "uploadlist.json")));
            Assert.IsTrue(!File.Exists(Path.Combine(BaseSettings.StorageFolder, "templatelist.json")));
            Assert.IsTrue(!File.Exists(Path.Combine(BaseSettings.StorageFolder, "playlistlist.json")));

            JArray jArray = (JArray)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(BaseSettings.StorageFolder, "uploads.json")));

            Assert.IsTrue(jArray.Count == 1);

            bool   found         = false;
            int    uploadsCount  = 0;
            string newUploadGuid = null;

            foreach (JObject upload in jArray.SelectTokens("$.[*]"))
            {
                uploadsCount++;
                string filePath = upload["filePath"].Value <string>();
                if (filePath == BasicTests.video1TargetFilePath)
                {
                    newUploadGuid = upload["guid"].Value <string>();
                    found         = true;
                }
            }

            Assert.IsTrue(uploadsCount == 1);
            Assert.IsTrue(found);

            jArray = (JArray)((JObject)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(BaseSettings.StorageFolder, "uploadlist.json"))))["uploads"];

            Assert.IsTrue(jArray.Count == 1);

            found        = false;
            uploadsCount = 0;
            foreach (JValue guid in jArray.SelectTokens("$.[*]"))
            {
                uploadsCount++;
                string jsonGuid = guid.Value <string>();
                if (jsonGuid == newUploadGuid)
                {
                    found = true;
                }
            }

            Assert.IsTrue(uploadsCount == 1);
            Assert.IsTrue(found);
        }
コード例 #9
0
        public static void RemoveFinishedAllTemplates()
        {
            string uploadVideo5GuidWithoutTemplate = "c4af55c4-10e4-4676-9b66-a5d9b7d94afe";
            string uploadVideo6GuidWithTemplate789 = "ff328893-5e6c-4e00-b3d2-7dce42e474e7";
            string uploadVideo2GuidWithTemplate456 = "4be32408-92c0-4d48-8a27-5d98305c79cd";
            string template789Guid = "e2188eed-589d-4233-862c-bc2380cbaf01";
            string template456Guid = "19f37916-68e6-4425-af12-23af87b513c7";

            MainWindowViewModel mainWindowViewModel = new MainWindowViewModel(BaseSettings.UserSuffix, BaseSettings.SubFolder, out _, out _, out _);

            Dictionary <string, int> templateUploadsCount = new Dictionary <string, int>();
            JArray jArray = (JArray)((JObject)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(Settings.SettingsInstance.StorageFolder, "templatelist.json"))))["templates"];

            foreach (JObject template in jArray.SelectTokens("$.[*]"))
            {
                JArray uploadsJArray = (JArray)template.SelectToken("$.uploads");
                templateUploadsCount.Add((string)((JValue)template["guid"]).Value, uploadsJArray.Count);
            }

            UploadListViewModel uploadListViewModel = (UploadListViewModel)mainWindowViewModel.CurrentViewModel;

            uploadListViewModel.DeleteUploadsCommand.Execute(true);
            uploadListViewModel = null;
            mainWindowViewModel = null;

            //only uploads with assigned template and upload status finished shall remain left in uploads.json after finished uploads are removed
            jArray = (JArray)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(Settings.SettingsInstance.StorageFolder, "uploads.json")));

            Assert.IsTrue(jArray.Count == 9);

            bool found = false;

            foreach (JObject upload in jArray.SelectTokens("$.[*]"))
            {
                string guid = upload["guid"].Value <string>();
                if (guid == uploadVideo5GuidWithoutTemplate)
                {
                    found = true;
                }
            }

            Assert.IsTrue(!found);

            found = false;
            bool foundAgain = false;

            foreach (JObject upload in jArray.SelectTokens("$.[*]"))
            {
                string guid = upload["guid"].Value <string>();
                if (guid == uploadVideo6GuidWithTemplate789)
                {
                    if (found)
                    {
                        foundAgain = true;
                    }
                    found = true;
                    string templateGuid = upload["template"].Value <string>();
                    Assert.IsTrue(templateGuid == template789Guid);
                }
            }

            Assert.IsTrue(!foundAgain);
            Assert.IsTrue(found);

            found      = false;
            foundAgain = false;
            foreach (JObject upload in jArray.SelectTokens("$.[*]"))
            {
                string guid = upload["guid"].Value <string>();
                if (guid == uploadVideo2GuidWithTemplate456)
                {
                    if (found)
                    {
                        foundAgain = true;
                    }
                    found = true;
                    string templateGuid = upload["template"].Value <string>();
                    Assert.IsTrue(templateGuid == template456Guid);
                }
            }

            Assert.IsTrue(!foundAgain);
            Assert.IsTrue(found);


            //all finished uploads shall be removed from uploadlist.json after finished uploads are removed
            jArray = (JArray)((JObject)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(Settings.SettingsInstance.StorageFolder, "uploadlist.json"))))["uploads"];

            Assert.IsTrue(jArray.Count == 7);

            found = false;
            foreach (JValue guid in jArray.SelectTokens("$.[*]"))
            {
                if ((string)guid.Value == uploadVideo5GuidWithoutTemplate)
                {
                    found = true;
                }
            }

            Assert.IsTrue(!found);

            found = false;
            foreach (JValue guid in jArray.SelectTokens("$.[*]"))
            {
                if ((string)guid.Value == uploadVideo6GuidWithTemplate789)
                {
                    found = true;
                }
            }

            Assert.IsTrue(!found);

            found = false;
            foreach (JValue guid in jArray.SelectTokens("$.[*]"))
            {
                if ((string)guid.Value == uploadVideo2GuidWithTemplate456)
                {
                    found = true;
                }
            }

            Assert.IsTrue(!found);

            //uploads with assigned template shall remain left in template's uploads in templatelist.json after finished uploads are removed
            jArray = (JArray)((JObject)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(Settings.SettingsInstance.StorageFolder, "templatelist.json"))))["templates"];

            Assert.IsTrue(jArray.Count == 6);

            //after removal upload count in each template should be the same
            foreach (JObject template in jArray.SelectTokens("$.[*]"))
            {
                JArray uploadsJArray = (JArray)template.SelectToken("$.uploads");
                Assert.IsTrue(templateUploadsCount[(string)((JValue)template["guid"]).Value] == uploadsJArray.Count);
            }

            bool foundInWrongTemplate = false;

            found = false;
            foreach (JObject template in jArray.SelectTokens("$.[*]"))
            {
                JArray uploadsJArray = (JArray)template.SelectToken("$.uploads");
                foreach (JValue uploadGuid in uploadsJArray.SelectTokens("$.[*]"))
                {
                    if ((string)uploadGuid.Value == uploadVideo5GuidWithoutTemplate)
                    {
                        found = true;
                    }
                }
            }

            Assert.IsTrue(!found);

            found      = false;
            foundAgain = false;
            foreach (JObject template in jArray.SelectTokens("$.[*]"))
            {
                JArray uploadsJArray = (JArray)template.SelectToken("$.uploads");
                foreach (JValue uploadGuid in uploadsJArray.SelectTokens("$.[*]"))
                {
                    if ((string)uploadGuid.Value == uploadVideo6GuidWithTemplate789)
                    {
                        if (found)
                        {
                            foundAgain = true;
                        }
                        found = true;

                        if ((string)((JValue)template["guid"]).Value != template789Guid)
                        {
                            foundInWrongTemplate = true;
                        }
                    }
                }
            }

            Assert.IsTrue(!foundAgain);
            Assert.IsTrue(found);
            Assert.IsTrue(!foundInWrongTemplate);

            found                = false;
            foundAgain           = false;
            foundInWrongTemplate = false;
            foreach (JObject template in jArray.SelectTokens("$.[*]"))
            {
                JArray uploadsJArray = (JArray)template.SelectToken("$.uploads");
                foreach (JValue uploadGuid in uploadsJArray.SelectTokens("$.[*]"))
                {
                    if ((string)uploadGuid.Value == uploadVideo2GuidWithTemplate456)
                    {
                        if (found)
                        {
                            foundAgain = true;
                        }
                        found = true;

                        if ((string)((JValue)template["guid"]).Value != template456Guid)
                        {
                            foundInWrongTemplate = true;
                        }
                    }
                }
            }

            Assert.IsTrue(!foundAgain);
            Assert.IsTrue(found);
            Assert.IsTrue(!foundInWrongTemplate);
        }
コード例 #10
0
        public static void RemoveAllWithOneTemplate()
        {
            string template456Guid = "19f37916-68e6-4425-af12-23af87b513c7";
            string uploadVideo1GuidReadyForUpload = "da2ede66-e9f9-415a-8fe0-007b8a168d36";
            string uploadVideo2GuidFinished       = "4be32408-92c0-4d48-8a27-5d98305c79cd";

            MainWindowViewModel mainWindowViewModel = new MainWindowViewModel(BaseSettings.UserSuffix, BaseSettings.SubFolder, out _, out _, out _);

            Dictionary <string, int> templateUploadsCount = new Dictionary <string, int>();
            JArray jArray = (JArray)((JObject)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(Settings.SettingsInstance.StorageFolder, "templatelist.json"))))["templates"];

            foreach (JObject template in jArray.SelectTokens("$.[*]"))
            {
                JArray uploadsJArray = (JArray)template.SelectToken("$.uploads");
                templateUploadsCount.Add((string)((JValue)template["guid"]).Value, uploadsJArray.Count);
            }

            UploadListViewModel uploadListViewModel = (UploadListViewModel)mainWindowViewModel.CurrentViewModel;

            uploadListViewModel.DeleteSelectedUploadStatus = uploadListViewModel.StatusesInclAll[0];
            uploadListViewModel.DeleteSelectedTemplate     =
                uploadListViewModel.ObservableTemplateViewModelsInclAllNone.First(vm => vm.Guid == template456Guid);
            uploadListViewModel.DeleteUploadsCommand.Execute(true);
            uploadListViewModel = null;
            mainWindowViewModel = null;

            //only uploads with assigned template and upload status finished shall remain left in uploads.json after finished uploads are removed
            jArray = (JArray)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(Settings.SettingsInstance.StorageFolder, "uploads.json")));

            Assert.IsTrue(jArray.Count == 9);

            bool found      = false;
            bool foundAgain = false;

            foreach (JObject upload in jArray.SelectTokens("$.[*]"))
            {
                string guid = upload["guid"].Value <string>();
                if (guid == uploadVideo2GuidFinished)
                {
                    if (found)
                    {
                        foundAgain = true;
                    }
                    found = true;
                    string templateGuid = upload["template"].Value <string>();
                    Assert.IsTrue(templateGuid == template456Guid);
                }
            }

            Assert.IsTrue(!foundAgain);
            Assert.IsTrue(found);

            found = false;
            foreach (JObject upload in jArray.SelectTokens("$.[*]"))
            {
                string guid = upload["guid"].Value <string>();
                if (guid == uploadVideo1GuidReadyForUpload)
                {
                    found = true;
                }
            }

            Assert.IsTrue(!found);


            //all uploads from template shall be removed from uploadlist.json
            jArray = (JArray)((JObject)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(Settings.SettingsInstance.StorageFolder, "uploadlist.json"))))["uploads"];

            Assert.IsTrue(jArray.Count == 8);

            found      = false;
            foundAgain = false;
            foreach (JValue guid in jArray.SelectTokens("$.[*]"))
            {
                if ((string)guid.Value == uploadVideo2GuidFinished)
                {
                    if (found)
                    {
                        foundAgain = true;
                    }
                    found = true;
                }
            }

            Assert.IsTrue(!foundAgain);
            Assert.IsTrue(!found);

            found = false;
            foreach (JValue guid in jArray.SelectTokens("$.[*]"))
            {
                if ((string)guid.Value == uploadVideo1GuidReadyForUpload)
                {
                    found = true;
                }
            }

            Assert.IsTrue(!found);

            //uploads with assigned template shall remain left in template's uploads in templatelist.json
            jArray = (JArray)((JObject)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(Settings.SettingsInstance.StorageFolder, "templatelist.json"))))["templates"];

            Assert.IsTrue(jArray.Count == 6);

            //after removal upload count in each template should be the same
            foreach (JObject template in jArray.SelectTokens("$.[*]"))
            {
                string templateGuid  = (string)((JValue)template["guid"]).Value;
                JArray uploadsJArray = (JArray)template.SelectToken("$.uploads");

                if (templateGuid == template456Guid)
                {
                    Assert.IsTrue(templateUploadsCount[templateGuid] == uploadsJArray.Count + 1);
                }
                else
                {
                    Assert.IsTrue(templateUploadsCount[templateGuid] == uploadsJArray.Count);
                }
            }

            bool foundInWrongTemplate = false;

            found      = false;
            foundAgain = false;
            foreach (JObject template in jArray.SelectTokens("$.[*]"))
            {
                JArray uploadsJArray = (JArray)template.SelectToken("$.uploads");
                foreach (JValue uploadGuid in uploadsJArray.SelectTokens("$.[*]"))
                {
                    if ((string)uploadGuid.Value == uploadVideo2GuidFinished)
                    {
                        if (found)
                        {
                            foundAgain = true;
                        }

                        found = true;

                        if ((string)((JValue)template["guid"]).Value != template456Guid)
                        {
                            foundInWrongTemplate = true;
                        }
                    }
                }
            }

            Assert.IsTrue(!foundAgain);
            Assert.IsTrue(found);
            Assert.IsTrue(!foundInWrongTemplate);

            found = false;
            foreach (JObject template in jArray.SelectTokens("$.[*]"))
            {
                JArray uploadsJArray = (JArray)template.SelectToken("$.uploads");
                foreach (JValue uploadGuid in uploadsJArray.SelectTokens("$.[*]"))
                {
                    if ((string)uploadGuid.Value == uploadVideo1GuidReadyForUpload)
                    {
                        found = true;
                    }
                }
            }

            Assert.IsTrue(!found);
        }
コード例 #11
0
        public static void RemoveReadyForUploadAllTemplates()
        {
            string uploadVideo1Guid            = "da2ede66-e9f9-415a-8fe0-007b8a168d36";
            string uploadVideo4Guid            = "e9d3be6a-c987-4b63-be32-e075a7e8a129";
            string uploadVideo7Guid            = "9dcd58c4-ef2a-427a-8629-44a812404611";
            string uploadVideo8Guid            = "cb3ac8aa-4297-4d3c-9d09-4de6743a84e3";
            string uploadVideo9Guid            = "aee98f41-c765-4bc7-91cd-a1ee40388bad";
            string template567video4video7Guid = "7f258a2d-171e-4cf0-8ba6-89966929b742";
            string template234video8Guid       = "2f80c321-2261-4726-a764-3870ac9340a5";
            string template456video1Guid       = "19f37916-68e6-4425-af12-23af87b513c7";

            MainWindowViewModel mainWindowViewModel = new MainWindowViewModel(BaseSettings.UserSuffix, BaseSettings.SubFolder, out _, out _, out _);

            Dictionary <string, int> templateUploadsCount = new Dictionary <string, int>();
            JArray jArray = (JArray)((JObject)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(Settings.SettingsInstance.StorageFolder, "templatelist.json"))))["templates"];

            foreach (JObject template in jArray.SelectTokens("$.[*]"))
            {
                JArray uploadsJArray = (JArray)template.SelectToken("$.uploads");
                templateUploadsCount.Add((string)((JValue)template["guid"]).Value, uploadsJArray.Count);
            }

            UploadListViewModel uploadListViewModel = (UploadListViewModel)mainWindowViewModel.CurrentViewModel;

            uploadListViewModel.DeleteSelectedUploadStatus = uploadListViewModel.StatusesInclAll[1];

            uploadListViewModel.DeleteUploadsCommand.Execute(true);
            uploadListViewModel = null;
            mainWindowViewModel = null;

            //all uploads ready to uplaod shall be removed
            jArray = (JArray)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(Settings.SettingsInstance.StorageFolder, "uploads.json")));

            Assert.IsTrue(jArray.Count == 5);

            bool found = false;

            foreach (JObject upload in jArray.SelectTokens("$.[*]"))
            {
                string guid = upload["guid"].Value <string>();
                if (guid == uploadVideo1Guid)
                {
                    found = true;
                }
            }

            Assert.IsTrue(!found);

            found = false;
            foreach (JObject upload in jArray.SelectTokens("$.[*]"))
            {
                string guid = upload["guid"].Value <string>();
                if (guid == uploadVideo4Guid)
                {
                    found = true;
                }
            }

            Assert.IsTrue(!found);

            found = false;
            foreach (JObject upload in jArray.SelectTokens("$.[*]"))
            {
                string guid = upload["guid"].Value <string>();
                if (guid == uploadVideo7Guid)
                {
                    found = true;
                }
            }

            Assert.IsTrue(!found);

            found = false;
            foreach (JObject upload in jArray.SelectTokens("$.[*]"))
            {
                string guid = upload["guid"].Value <string>();
                if (guid == uploadVideo8Guid)
                {
                    found = true;
                }
            }

            Assert.IsTrue(!found);

            found = false;
            foreach (JObject upload in jArray.SelectTokens("$.[*]"))
            {
                string guid = upload["guid"].Value <string>();
                if (guid == uploadVideo9Guid)
                {
                    found = true;
                }
            }

            Assert.IsTrue(!found);

            //all ready to upload uploads shall be removed from uploadlist.json
            jArray = (JArray)((JObject)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(Settings.SettingsInstance.StorageFolder, "uploadlist.json"))))["uploads"];

            Assert.IsTrue(jArray.Count == 5);

            found = false;
            foreach (JValue guid in jArray.SelectTokens("$.[*]"))
            {
                if ((string)guid.Value == uploadVideo1Guid)
                {
                    found = true;
                }
            }

            Assert.IsTrue(!found);

            found = false;
            foreach (JValue guid in jArray.SelectTokens("$.[*]"))
            {
                if ((string)guid.Value == uploadVideo4Guid)
                {
                    found = true;
                }
            }

            Assert.IsTrue(!found);

            found = false;
            foreach (JValue guid in jArray.SelectTokens("$.[*]"))
            {
                if ((string)guid.Value == uploadVideo7Guid)
                {
                    found = true;
                }
            }

            Assert.IsTrue(!found);

            found = false;
            foreach (JValue guid in jArray.SelectTokens("$.[*]"))
            {
                if ((string)guid.Value == uploadVideo8Guid)
                {
                    found = true;
                }
            }

            Assert.IsTrue(!found);

            found = false;
            foreach (JValue guid in jArray.SelectTokens("$.[*]"))
            {
                if ((string)guid.Value == uploadVideo9Guid)
                {
                    found = true;
                }
            }

            Assert.IsTrue(!found);

            //uploads with assigned template shall be removed in template's uploads in templatelist.json
            jArray = (JArray)((JObject)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(Settings.SettingsInstance.StorageFolder, "templatelist.json"))))["templates"];

            Assert.IsTrue(jArray.Count == 6);

            //after removal upload count in each template should be the same
            foreach (JObject template in jArray.SelectTokens("$.[*]"))
            {
                string templateGuid  = (string)((JValue)template["guid"]).Value;
                JArray uploadsJArray = (JArray)template.SelectToken("$.uploads");

                if (templateGuid == template234video8Guid || templateGuid == template456video1Guid)
                {
                    Assert.IsTrue(templateUploadsCount[templateGuid] == uploadsJArray.Count + 1);
                }
                else if (templateGuid == template567video4video7Guid)
                {
                    Assert.IsTrue(templateUploadsCount[templateGuid] == uploadsJArray.Count + 2);
                }
                else
                {
                    Assert.IsTrue(templateUploadsCount[templateGuid] == uploadsJArray.Count);
                }
            }

            found = false;
            foreach (JObject template in jArray.SelectTokens("$.[*]"))
            {
                JArray uploadsJArray = (JArray)template.SelectToken("$.uploads");
                foreach (JValue uploadGuid in uploadsJArray.SelectTokens("$.[*]"))
                {
                    if ((string)uploadGuid.Value == uploadVideo1Guid)
                    {
                        found = true;
                    }
                }
            }

            Assert.IsTrue(!found);

            found = false;
            foreach (JObject template in jArray.SelectTokens("$.[*]"))
            {
                JArray uploadsJArray = (JArray)template.SelectToken("$.uploads");
                foreach (JValue uploadGuid in uploadsJArray.SelectTokens("$.[*]"))
                {
                    if ((string)uploadGuid.Value == uploadVideo4Guid)
                    {
                        found = true;
                    }
                }
            }

            Assert.IsTrue(!found);

            found = false;
            foreach (JObject template in jArray.SelectTokens("$.[*]"))
            {
                JArray uploadsJArray = (JArray)template.SelectToken("$.uploads");
                foreach (JValue uploadGuid in uploadsJArray.SelectTokens("$.[*]"))
                {
                    if ((string)uploadGuid.Value == uploadVideo7Guid)
                    {
                        found = true;
                    }
                }
            }

            Assert.IsTrue(!found);

            found = false;
            foreach (JObject template in jArray.SelectTokens("$.[*]"))
            {
                JArray uploadsJArray = (JArray)template.SelectToken("$.uploads");
                foreach (JValue uploadGuid in uploadsJArray.SelectTokens("$.[*]"))
                {
                    if ((string)uploadGuid.Value == uploadVideo8Guid)
                    {
                        found = true;
                    }
                }
            }

            Assert.IsTrue(!found);

            found = false;
            foreach (JObject template in jArray.SelectTokens("$.[*]"))
            {
                JArray uploadsJArray = (JArray)template.SelectToken("$.uploads");
                foreach (JValue uploadGuid in uploadsJArray.SelectTokens("$.[*]"))
                {
                    if ((string)uploadGuid.Value == uploadVideo9Guid)
                    {
                        found = true;
                    }
                }
            }

            Assert.IsTrue(!found);
        }
コード例 #12
0
        public static void RemovePausedWithTemplate()
        {
            string template234FilterGuid = "2f80c321-2261-4726-a764-3870ac9340a5";
            string uploadVideo3Guid      = "e0acc743-0c49-4dd7-ba4a-093b6686e43b";

            MainWindowViewModel mainWindowViewModel = new MainWindowViewModel(BaseSettings.UserSuffix, BaseSettings.SubFolder, out _, out _, out _);

            Dictionary <string, int> templateUploadsCount = new Dictionary <string, int>();
            JArray jArray = (JArray)((JObject)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(Settings.SettingsInstance.StorageFolder, "templatelist.json"))))["templates"];

            foreach (JObject template in jArray.SelectTokens("$.[*]"))
            {
                JArray uploadsJArray = (JArray)template.SelectToken("$.uploads");
                templateUploadsCount.Add((string)((JValue)template["guid"]).Value, uploadsJArray.Count);
            }

            UploadListViewModel uploadListViewModel = (UploadListViewModel)mainWindowViewModel.CurrentViewModel;

            uploadListViewModel.DeleteSelectedUploadStatus = uploadListViewModel.StatusesInclAll[2];
            uploadListViewModel.DeleteSelectedTemplate     =
                uploadListViewModel.ObservableTemplateViewModelsInclAllNone.First(vm => vm.Guid == template234FilterGuid);
            uploadListViewModel.DeleteUploadsCommand.Execute(true);
            uploadListViewModel = null;
            mainWindowViewModel = null;

            //only uploads with assigned template and upload status finished shall remain left in uploads.json after finished uploads are removed
            jArray = (JArray)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(Settings.SettingsInstance.StorageFolder, "uploads.json")));

            Assert.IsTrue(jArray.Count == 9);

            bool found = false;

            foreach (JObject upload in jArray.SelectTokens("$.[*]"))
            {
                string guid = upload["guid"].Value <string>();
                if (guid == uploadVideo3Guid)
                {
                    found = true;
                }
            }

            Assert.IsTrue(!found);


            //all finished uploads shall be removed from uploadlist.json after finished uploads are removed
            jArray = (JArray)((JObject)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(Settings.SettingsInstance.StorageFolder, "uploadlist.json"))))["uploads"];

            Assert.IsTrue(jArray.Count == 9);

            found = false;
            foreach (JValue guid in jArray.SelectTokens("$.[*]"))
            {
                if ((string)guid.Value == uploadVideo3Guid)
                {
                    found = true;
                }
            }

            Assert.IsTrue(!found);

            //uploads with assigned template shall remain left in template's uploads in templatelist.json after finished uploads are removed
            jArray = (JArray)((JObject)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(Settings.SettingsInstance.StorageFolder, "templatelist.json"))))["templates"];

            Assert.IsTrue(jArray.Count == 6);

            //after removal upload count in template 234 should be one less and on other templates the same
            foreach (JObject template in jArray.SelectTokens("$.[*]"))
            {
                string templateGuid  = (string)((JValue)template["guid"]).Value;
                JArray uploadsJArray = (JArray)template.SelectToken("$.uploads");
                if (templateGuid == template234FilterGuid)
                {
                    Assert.IsTrue(templateUploadsCount[templateGuid] == uploadsJArray.Count + 1);
                }
                else
                {
                    Assert.IsTrue(templateUploadsCount[templateGuid] == uploadsJArray.Count);
                }
            }

            found = false;
            foreach (JObject template in jArray.SelectTokens("$.[*]"))
            {
                JArray uploadsJArray = (JArray)template.SelectToken("$.uploads");
                foreach (JValue uploadGuid in uploadsJArray.SelectTokens("$.[*]"))
                {
                    if ((string)uploadGuid.Value == uploadVideo3Guid)
                    {
                        found = true;
                    }
                }
            }

            Assert.IsTrue(!found);
        }
コード例 #13
0
        public static void RemoveFinishedWithoutTemplate()
        {
            string uploadVideo5Guid = "c4af55c4-10e4-4676-9b66-a5d9b7d94afe";

            MainWindowViewModel mainWindowViewModel = new MainWindowViewModel(BaseSettings.UserSuffix, BaseSettings.SubFolder, out _, out _, out _);

            Dictionary <string, int> templateUploadsCount = new Dictionary <string, int>();
            JArray jArray = (JArray)((JObject)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(Settings.SettingsInstance.StorageFolder, "templatelist.json"))))["templates"];

            foreach (JObject template in jArray.SelectTokens("$.[*]"))
            {
                JArray uploadsJArray = (JArray)template.SelectToken("$.uploads");
                templateUploadsCount.Add((string)((JValue)template["guid"]).Value, uploadsJArray.Count);
            }

            UploadListViewModel uploadListViewModel = (UploadListViewModel)mainWindowViewModel.CurrentViewModel;

            uploadListViewModel.DeleteSelectedTemplate =
                uploadListViewModel.ObservableTemplateViewModelsInclAllNone.First(vm => vm.Template.Name == "None");
            uploadListViewModel.DeleteUploadsCommand.Execute(true);
            uploadListViewModel = null;
            mainWindowViewModel = null;

            //only uploads with assigned template and upload status finished shall remain left in uploads.json after finished uploads are removed
            jArray = (JArray)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(Settings.SettingsInstance.StorageFolder, "uploads.json")));

            Assert.IsTrue(jArray.Count == 9);

            bool found = false;

            foreach (JObject upload in jArray.SelectTokens("$.[*]"))
            {
                string guid = upload["guid"].Value <string>();
                if (guid == uploadVideo5Guid)
                {
                    found = true;
                }
            }

            Assert.IsTrue(!found);


            //all finished uploads shall be removed from uploadlist.json after finished uploads are removed
            jArray = (JArray)((JObject)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(Settings.SettingsInstance.StorageFolder, "uploadlist.json"))))["uploads"];

            Assert.IsTrue(jArray.Count == 9);

            found = false;
            foreach (JValue guid in jArray.SelectTokens("$.[*]"))
            {
                if ((string)guid.Value == uploadVideo5Guid)
                {
                    found = true;
                }
            }

            Assert.IsTrue(!found);

            //uploads with assigned template shall remain left in template's uploads in templatelist.json after finished uploads are removed
            jArray = (JArray)((JObject)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(Settings.SettingsInstance.StorageFolder, "templatelist.json"))))["templates"];

            Assert.IsTrue(jArray.Count == 6);

            //after removal upload count in each template should be the same
            foreach (JObject template in jArray.SelectTokens("$.[*]"))
            {
                JArray uploadsJArray = (JArray)template.SelectToken("$.uploads");
                Assert.IsTrue(templateUploadsCount[(string)((JValue)template["guid"]).Value] == uploadsJArray.Count);
            }

            found = false;
            foreach (JObject template in jArray.SelectTokens("$.[*]"))
            {
                JArray uploadsJArray = (JArray)template.SelectToken("$.uploads");
                foreach (JValue uploadGuid in uploadsJArray.SelectTokens("$.[*]"))
                {
                    if ((string)uploadGuid.Value == uploadVideo5Guid)
                    {
                        found = true;
                    }
                }
            }

            Assert.IsTrue(!found);
        }
コード例 #14
0
        public static void RemoveFinishedOneTemplate()
        {
            string template789FilterGuid = "e2188eed-589d-4233-862c-bc2380cbaf01";
            string uploadVideo6Guid      = "ff328893-5e6c-4e00-b3d2-7dce42e474e7";

            MainWindowViewModel mainWindowViewModel = new MainWindowViewModel(BaseSettings.UserSuffix, BaseSettings.SubFolder, out _, out _, out _);

            Dictionary <string, int> templateUploadsCount = new Dictionary <string, int>();
            JArray jArray = (JArray)((JObject)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(Settings.SettingsInstance.StorageFolder, "templatelist.json"))))["templates"];

            foreach (JObject template in jArray.SelectTokens("$.[*]"))
            {
                JArray uploadsJArray = (JArray)template.SelectToken("$.uploads");
                templateUploadsCount.Add((string)((JValue)template["guid"]).Value, uploadsJArray.Count);
            }

            UploadListViewModel uploadListViewModel = (UploadListViewModel)mainWindowViewModel.CurrentViewModel;

            uploadListViewModel.DeleteSelectedTemplate =
                uploadListViewModel.ObservableTemplateViewModelsInclAllNone.First(vm => vm.Guid == template789FilterGuid);
            uploadListViewModel.DeleteUploadsCommand.Execute(true);
            uploadListViewModel = null;
            mainWindowViewModel = null;

            //only uploads with assigned template and upload status finished shall remain left in uploads.json after finished uploads are removed
            jArray = (JArray)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(Settings.SettingsInstance.StorageFolder, "uploads.json")));

            Assert.IsTrue(jArray.Count == 10);

            bool found      = false;
            bool foundAgain = false;

            foreach (JObject upload in jArray.SelectTokens("$.[*]"))
            {
                string guid = upload["guid"].Value <string>();
                if (guid == uploadVideo6Guid)
                {
                    if (found)
                    {
                        foundAgain = true;
                    }
                    found = true;
                    string templateGuid = upload["template"].Value <string>();
                    Assert.IsTrue(templateGuid == template789FilterGuid);
                }
            }

            Assert.IsTrue(!foundAgain);
            Assert.IsTrue(found);


            //all finished uploads shall be removed from uploadlist.json after finished uploads are removed
            jArray = (JArray)((JObject)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(Settings.SettingsInstance.StorageFolder, "uploadlist.json"))))["uploads"];

            Assert.IsTrue(jArray.Count == 9);

            found      = false;
            foundAgain = false;
            foreach (JValue guid in jArray.SelectTokens("$.[*]"))
            {
                if ((string)guid.Value == uploadVideo6Guid)
                {
                    if (found)
                    {
                        foundAgain = true;
                    }
                    found = true;
                }
            }

            Assert.IsTrue(!foundAgain);
            Assert.IsTrue(!found);

            //uploads with assigned template shall remain left in template's uploads in templatelist.json after finished uploads are removed
            jArray = (JArray)((JObject)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(Settings.SettingsInstance.StorageFolder, "templatelist.json"))))["templates"];

            Assert.IsTrue(jArray.Count == 6);

            //after removal upload count in each template should be the same
            foreach (JObject template in jArray.SelectTokens("$.[*]"))
            {
                JArray uploadsJArray = (JArray)template.SelectToken("$.uploads");
                Assert.IsTrue(templateUploadsCount[(string)((JValue)template["guid"]).Value] == uploadsJArray.Count);
            }

            bool foundInWrongTemplate = false;

            found      = false;
            foundAgain = false;
            foreach (JObject template in jArray.SelectTokens("$.[*]"))
            {
                JArray uploadsJArray = (JArray)template.SelectToken("$.uploads");
                foreach (JValue uploadGuid in uploadsJArray.SelectTokens("$.[*]"))
                {
                    if ((string)uploadGuid.Value == uploadVideo6Guid)
                    {
                        if (found)
                        {
                            foundAgain = true;
                        }

                        found = true;

                        if ((string)((JValue)template["guid"]).Value != template789FilterGuid)
                        {
                            foundInWrongTemplate = true;
                        }
                    }
                }
            }

            Assert.IsTrue(!foundAgain);
            Assert.IsTrue(found);
            Assert.IsTrue(!foundInWrongTemplate);
        }
コード例 #15
0
        public static void RemoveAll()
        {
            string uploadVideo1Guid         = "da2ede66-e9f9-415a-8fe0-007b8a168d36";
            string uploadVideo2GuidFinished = "4be32408-92c0-4d48-8a27-5d98305c79cd";
            string uploadVideo4Guid         = "e9d3be6a-c987-4b63-be32-e075a7e8a129";
            string uploadVideo5GuidFinished = "c4af55c4-10e4-4676-9b66-a5d9b7d94afe";
            string uploadVideo6GuidFinished = "ff328893-5e6c-4e00-b3d2-7dce42e474e7";
            string uploadVideo7Guid         = "9dcd58c4-ef2a-427a-8629-44a812404611";
            string uploadVideo8Guid         = "cb3ac8aa-4297-4d3c-9d09-4de6743a84e3";
            string uploadVideo9Guid         = "aee98f41-c765-4bc7-91cd-a1ee40388bad";
            string template789GuidVideo6    = "e2188eed-589d-4233-862c-bc2380cbaf01";
            string template456GuidVideo2    = "19f37916-68e6-4425-af12-23af87b513c7";

            MainWindowViewModel mainWindowViewModel = new MainWindowViewModel(BaseSettings.UserSuffix, BaseSettings.SubFolder, out _, out _, out _);

            Dictionary <string, int> templateUploadsCount = new Dictionary <string, int>();
            JArray jArray = (JArray)((JObject)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(Settings.SettingsInstance.StorageFolder, "templatelist.json"))))["templates"];

            foreach (JObject template in jArray.SelectTokens("$.[*]"))
            {
                JArray uploadsJArray = (JArray)template.SelectToken("$.uploads");
                templateUploadsCount.Add((string)((JValue)template["guid"]).Value, uploadsJArray.Count);
            }

            UploadListViewModel uploadListViewModel = (UploadListViewModel)mainWindowViewModel.CurrentViewModel;

            uploadListViewModel.DeleteSelectedUploadStatus = uploadListViewModel.StatusesInclAll[0];
            uploadListViewModel.DeleteSelectedTemplate     =
                uploadListViewModel.ObservableTemplateViewModelsInclAllNone.First(vm => vm.Template.Name == "All");
            uploadListViewModel.DeleteUploadsCommand.Execute(true);
            uploadListViewModel = null;
            mainWindowViewModel = null;

            //all uploads not finished shall be removed
            jArray = (JArray)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(Settings.SettingsInstance.StorageFolder, "uploads.json")));

            Assert.IsTrue(jArray.Count == 2);

            bool found      = false;
            bool foundAgain = false;

            foreach (JObject upload in jArray.SelectTokens("$.[*]"))
            {
                string guid = upload["guid"].Value <string>();
                if (guid == uploadVideo2GuidFinished)
                {
                    if (found)
                    {
                        foundAgain = true;
                    }
                    found = true;
                    string templateGuid = upload["template"].Value <string>();
                    Assert.IsTrue(templateGuid == template456GuidVideo2);
                }
            }

            Assert.IsTrue(!foundAgain);
            Assert.IsTrue(found);

            found      = false;
            foundAgain = false;
            foreach (JObject upload in jArray.SelectTokens("$.[*]"))
            {
                string guid = upload["guid"].Value <string>();
                if (guid == uploadVideo6GuidFinished)
                {
                    if (found)
                    {
                        foundAgain = true;
                    }
                    found = true;
                    string templateGuid = upload["template"].Value <string>();
                    Assert.IsTrue(templateGuid == template789GuidVideo6);
                }
            }

            Assert.IsTrue(!foundAgain);
            Assert.IsTrue(found);

            //all ready to upload uploads shall be removed from uploadlist.json
            jArray = (JArray)((JObject)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(Settings.SettingsInstance.StorageFolder, "uploadlist.json"))))["uploads"];

            Assert.IsTrue(jArray.Count == 0);

            //uploads with assigned template shall be removed in template's uploads in templatelist.json
            jArray = (JArray)((JObject)JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(Settings.SettingsInstance.StorageFolder, "templatelist.json"))))["templates"];

            Assert.IsTrue(jArray.Count == 6);

            //after removal upload count in each template should be 0 except finished uploads
            foreach (JObject template in jArray.SelectTokens("$.[*]"))
            {
                string templateGuid  = (string)((JValue)template["guid"]).Value;
                JArray uploadsJArray = (JArray)template.SelectToken("$.uploads");

                if (templateGuid == template456GuidVideo2 || templateGuid == template789GuidVideo6)
                {
                    Assert.IsTrue(uploadsJArray.Count == 1);
                }
                else
                {
                    Assert.IsTrue(uploadsJArray.Count == 0);
                }
            }

            bool foundInWrongTemplate = false;

            found      = false;
            foundAgain = false;
            foreach (JObject template in jArray.SelectTokens("$.[*]"))
            {
                JArray uploadsJArray = (JArray)template.SelectToken("$.uploads");
                foreach (JValue uploadGuid in uploadsJArray.SelectTokens("$.[*]"))
                {
                    if ((string)uploadGuid.Value == uploadVideo2GuidFinished)
                    {
                        if (found)
                        {
                            foundAgain = true;
                        }

                        found = true;

                        if ((string)((JValue)template["guid"]).Value != template456GuidVideo2)
                        {
                            foundInWrongTemplate = true;
                        }
                    }
                }
            }

            Assert.IsTrue(!foundAgain);
            Assert.IsTrue(found);
            Assert.IsTrue(!foundInWrongTemplate);

            found = false;
            foreach (JObject template in jArray.SelectTokens("$.[*]"))
            {
                JArray uploadsJArray = (JArray)template.SelectToken("$.uploads");
                foreach (JValue uploadGuid in uploadsJArray.SelectTokens("$.[*]"))
                {
                    if ((string)uploadGuid.Value == uploadVideo5GuidFinished)
                    {
                        found = true;
                    }
                }
            }

            Assert.IsTrue(!found);

            foundInWrongTemplate = false;
            found      = false;
            foundAgain = false;
            foreach (JObject template in jArray.SelectTokens("$.[*]"))
            {
                JArray uploadsJArray = (JArray)template.SelectToken("$.uploads");
                foreach (JValue uploadGuid in uploadsJArray.SelectTokens("$.[*]"))
                {
                    if ((string)uploadGuid.Value == uploadVideo6GuidFinished)
                    {
                        if (found)
                        {
                            foundAgain = false;
                        }

                        found = true;

                        if ((string)((JValue)template["guid"]).Value != template789GuidVideo6)
                        {
                            foundInWrongTemplate = true;
                        }
                    }
                }
            }

            Assert.IsTrue(!foundAgain);
            Assert.IsTrue(found);
            Assert.IsTrue(!foundInWrongTemplate);
        }