public void WatchIO_FileEven_SuscripcionSinErrorEventosSistemaDeArchivos() { /// Inicialización (Arrange) /// - No es necesaria inicialización //string Path = LocalPrinting.PathPrintSpool(); string Path = @"D:\TestMonitorImpresion\Prueba"; /// Ejecución (Act) /// - Suscripción a los eventos de impresión con el método PrintingEven() WatchIO.FileEvent(Path); /// Comprobación (Assert) /// - Comprobar si estamos suscritos a los eventos de Impresión. Assert.IsTrue(WatchIO.IsEventSigned); }
public void WatchIO_IsAliveEvent_CompruebaSiseEstanCapturandoEventosDelSistemaDeArchivos() { /// Inicialización (Arrange) /// - Suscripción a los eventos de impresión //EventMonitorPrinting.PrintingEven(); string Path = LocalPrinting.PathPrintSpool(); WatchIO.FileEvent(Path); /// Ejecución (Act) /// - Se lanza el Evento de control: IsAliveEvents() object iSender = new object(); EventArgs iArgs = new EventArgs(); WatchIO.IsAliveEvents(iSender, iArgs); /// Comprobación (Assert) /// - Al suscribir a los eventos del sistemas de Archivos se comprueba después del método IsAliveEvent que seguimos suscritos por que se copian los ficheros Assert.IsTrue(WatchIO.IsEventSigned); }
public void WatchIO_IsFileLocked_ComprobarSiUnFicheroEstaBloqueado() { // Fecha para guardar un backup existente de fichero de spool string Fecha = DateTime.Now.Year.ToString() + "-" + DateTime.Now.Month.ToString() + "-" + DateTime.Now.Day.ToString() + "_" + DateTime.Now.Hour.ToString() + "-" + DateTime.Now.Minute.ToString() + "-" + DateTime.Now.Second.ToString(); // Tiempo de espera //const int _TIEMPO_ESPERA = ElapsedTime._TIEMPO_ESPERA; ElapsedTime TiempoEspera; // Objeto con información de un fichero FileInfo MiFileInfo; // Path donde se encuentran los ficheros a comprobar string Path; // Subdirectorio de backup string PathBackup; // Directorio donde se encuentran los ficheros de Spool DirectoryInfo Directorio; // Indica si el archivo está bloqueado bool FileLocked = true; // Información de archivo y su directorio de Backup STRUCT_WATCHIO.BackupFile FileBackup; // Thread para lanzar el método delegado para copiar archivos Thread ThreadBackupFile; /// Inicialización (Arrange) Path = @"D:\TestMonitorImpresion\Prueba"; PathBackup = "MonitorImpresion"; Directorio = new DirectoryInfo(Path); foreach (var Archivo in Directorio.GetFiles("*.SPL")) { // Información del archivo //MiFileInfo = new FileInfo(Archivo.FullName); // Guardamos información en estructura para hacer una copia del archivo FileBackup = new STRUCT_WATCHIO.BackupFile(); FileBackup.PathDirectory = Path; FileBackup.FileName = Archivo.Name; FileBackup.PathDirectoryBackup = PathBackup; FileBackup.FileNameBackup = Archivo.Name.ToUpper().Replace(".SPL", "") + "_" + Fecha + ".SPL"; // THREADING para copiar fichero ThreadBackupFile = new Thread(new ParameterizedThreadStart(Util.BackupFile)); ThreadBackupFile.Name = "Thread_BackupFile_" + Archivo.Name; ThreadBackupFile.Start(FileBackup); // Detectar si el fichero está bloqueado //FileLocked = WatchIO.IsFileLocked(FileBackup.PathDirectory + @"\" + FileBackup.PathDirectoryBackup + @"\" + FileBackup.FileNameBackup, _TIEMPO_ESPERA); MiFileInfo = new FileInfo(FileBackup.PathDirectory + @"\" + FileBackup.PathDirectoryBackup + @"\" + FileBackup.FileNameBackup); // Creamos un objeto para controlar un tiempo de espera TiempoEspera = new ElapsedTime(20); FileLocked = WatchIO.IsFileLocked(MiFileInfo); while ((!TiempoEspera.OverElapsedTime()) & FileLocked) { FileLocked = WatchIO.IsFileLocked(MiFileInfo); } // Esperamos hasta que finaliza el Thread para hacer un backup ThreadBackupFile.Join(); /// Comprobación (Assert) Assert.IsTrue(!FileLocked); } }