Example #1
0
        public void test_BasicKeyManager_to_xml()
        {
            Console.WriteLine("Existing BasicKeyManager:");
            var basic_key_manager = new BasicKeyManager(key_manager_xml);

            Console.WriteLine(basic_key_manager.to_xml());
            Console.WriteLine("\n");

            Console.WriteLine("New BasicKeyManager:");
            basic_key_manager = new BasicKeyManager();
            basic_key_manager.add_key("temp");
            Console.WriteLine(basic_key_manager.to_xml());
        }
Example #2
0
        /// <summary>
        /// Sets up a EncryptedBackupManager object to mirror files between two
        /// locations. Externally copy and move files and directories
        /// to test functionality.
        /// </summary>
        public void test_BackupManager()
        {
            Console.WriteLine("Testing BackupManager");

            var file_name_reg         = new FileNameRegistration(file_name_reg_xml);
            var cloud_backup_services = create_cloud_backup_services_from_xml(cloud_backup_services_xml);
            var key_manager           = new BasicKeyManager(key_manager_xml);

            var backup_manager = new BackupManager(backup_xml, file_name_reg,
                                                   cloud_backup_services, key_manager, handle_app_events);

            backup_manager.start_live_backup();

            wait_for_backup_manager_thread_to_quit(backup_manager);
            Console.WriteLine();
        }
Example #3
0
        public void test_BackupManager_check_backups()
        {
            Console.WriteLine("Testing BackupManager .check_backups()");

            var file_name_reg         = new FileNameRegistration(file_name_reg_xml);
            var cloud_backup_services = create_cloud_backup_services_from_xml(cloud_backup_services_xml);
            var key_manager           = new BasicKeyManager(key_manager_xml);

            var backup_manager = new BackupManager(backup_xml, file_name_reg,
                                                   cloud_backup_services, key_manager, handle_app_events);

            backup_manager.start_live_backup();

            Console.WriteLine("Live backup started. Will switch to check_all_backups() in 5 seconds.");
            Thread.Sleep(5000);

            Console.WriteLine("Running .check_all_backups();");
            backup_manager.check_all_backups();

            wait_for_backup_manager_thread_to_quit(backup_manager);
        }
Example #4
0
        public void test_BackupManager_to_xml()
        {
            Console.WriteLine("Testing BackupManager .to_xml()");
            var file_name_reg         = new FileNameRegistration(file_name_reg_xml);
            var cloud_backup_services = create_cloud_backup_services_from_xml(cloud_backup_services_xml);
            var key_manager           = new BasicKeyManager(key_manager_xml);

            var backup_manager = new BackupManager(backup_xml, file_name_reg,
                                                   cloud_backup_services, key_manager, handle_app_events);

            Backup backup = backup_manager.backups[0];

            if (backup is EncryptedBackup)
            {
                var encrypted_backup = (EncryptedBackup)backup;
                encrypted_backup.future_params.name    = "new name";
                encrypted_backup.future_params.enabled = false;
                encrypted_backup.future_params.rule_lists.add_rule(
                    new BackupRuleLists.BackupRule("z:\\temp",
                                                   BackupRuleLists.BackupRuleType.ACCEPT_ALL, null, null),
                    category: 0);
            }

            backup = backup_manager.backups[1];
            if (backup is DiskBackup)
            {
                var disk_backup = (DiskBackup)backup;
                disk_backup.future_params.name    = "new name2";
                disk_backup.future_params.enabled = false;
                disk_backup.future_params.rule_lists.add_rule(
                    new BackupRuleLists.BackupRule("z:\\temp2",
                                                   BackupRuleLists.BackupRuleType.ACCEPT_ALL, null, null),
                    category: 0);
            }

            Console.WriteLine(backup_manager.to_xml());
            backup_manager.quit();
        }
Example #5
0
        public void test_RestoreManager()
        {
            // Test settings:
            // The index of the restore object(s) to use:
            int[] restore_indices = { 1 };

            // The restored file gets its own file name registration, at:
            string file_name_reg_path = @"E:\temp\temp\ignore\fnr2.tsv";

            // At the very end, this test compares two directories
            string dir1_path = @"E:\temp\temp";  // the original directory
            string dir2_path = @"E:\temp\temp3"; // the restored directory

            Console.WriteLine("Testing RestoreManager.");

            var cloud_backup_services = create_cloud_backup_services_from_xml(cloud_backup_services_xml);
            var key_manager           = new BasicKeyManager(key_manager_xml);

            var restore_manager = new RestoreManager(restore_xml, cloud_backup_services,
                                                     key_manager, handle_app_events);

            // Print restore names
            Console.WriteLine("Restore names:");
            string[] restore_names = restore_manager.get_restore_names();
            foreach (var name in restore_names)
            {
                Console.WriteLine("  " + name);
            }
            Console.WriteLine();

            // Get Info about the restores
            Console.Write("Getting info on: ");
            foreach (var i in restore_indices)
            {
                Console.Write(restore_names[i] + " ");
            }
            Console.WriteLine();

            // To run the restore_manager.get_info(...) on a separate thread, use
            // the background manager.
            var file_name_reg  = new FileNameRegistration(file_name_reg_xml);
            var backup_manager = new BackupManager(backup_xml, file_name_reg,
                                                   cloud_backup_services, key_manager, handle_app_events);

            backup_manager.get_restore_info(restore_manager, restore_indices, skip_file_names: false);

            // Create a RestoreSettings settings object and then initiate a restore
            var restore_settings = new RestoreSettings();

            if (File.Exists(file_name_reg_path))
            {
                File.Delete(file_name_reg_path);
            }
            restore_settings.file_name_reg = new FileNameRegistration(file_name_reg_path);

            restore_settings.indices = restore_indices;
            restore_settings.restore_destination_lookup = restore_manager.default_destinations;

            Console.WriteLine("Starting restore.");
            backup_manager.restore(restore_manager, restore_settings);

            wait_for_backup_manager_thread_to_quit(backup_manager);

            // Code gets here after user hit "s" key to stop the backup manager thread.
            Console.WriteLine("\nComparing directories:");
            compare_directories(dir1_path, dir2_path);

            Console.WriteLine("\n");
        }