Ejemplo n.º 1
0
        public FileWatcherService(Logger logger)
        {
            _logger = logger;
            FileObserver.CreateFunction = (dto, notifier) => new FileWatchDog(dto, notifier);
            var fileManager = new FileNotifierManager(new SignalRNotifier());

            GlobalHost.DependencyResolver.Register(typeof(FileNotifierHub), () => new FileNotifierHub(fileManager));
        }
Ejemplo n.º 2
0
        public void RemoveFromObservableListException_Test()
        {
            //Given
            var          mockNotifier        = Substitute.For <IFileNotifier>();
            var          fileNotifierManager = new FileNotifierManager(mockNotifier);
            const string path = @"D:\data.xml";

            //Then
            Assert.Throws <InvalidOperationException>(() => fileNotifierManager.Remove(path));
        }
Ejemplo n.º 3
0
        public void AddFileToObservableListMoreThanOnce_Test()
        {
            //Given
            var mockNotifier        = Substitute.For <IFileNotifier>();
            var fileNotifierManager = new FileNotifierManager(mockNotifier);
            var fileToObserve       = new ObserveFileDto()
            {
                DirectoryPath      = @"D:\data.xml",
                Filter             = string.Empty,
                WithSubDirectories = true
            };

            //When
            fileNotifierManager.Set(fileToObserve);
            //Then
            Assert.Throws <ArgumentException>(() => fileNotifierManager.Set(fileToObserve));
        }
Ejemplo n.º 4
0
        public void AddFileToObservableList_Test()
        {
            //Given
            var mockNotifier        = Substitute.For <IFileNotifier>();
            var fileNotifierManager = new FileNotifierManager(mockNotifier);
            var fileToObserve       = new ObserveFileDto()
            {
                DirectoryPath      = @"D:\data.xml",
                Filter             = string.Empty,
                WithSubDirectories = true
            };

            //When
            fileNotifierManager.Set(fileToObserve);
            //Then
            Assert.AreEqual(fileNotifierManager.PerformFileList().Count, 1);
        }
        public void NotifyFileOnCreated_Test()
        {
            //Given
            var fileNotifier  = new FakeNotifier();
            var fileToObserve = new ObserveFileDto()
            {
                DirectoryPath      = mainDir,
                Filter             = "*.*",
                WithSubDirectories = false
            };
            var fileNotifierManager = new FileNotifierManager(fileNotifier);

            //When
            fileNotifierManager.Set(fileToObserve);
            File.Create(FilePath).Close();
            //Then
            Assert.That(() => fileNotifier.CountInvoked, Is.EqualTo(1).After(Delay));
        }
        public void NotifyInSubDirectory_Test()
        {
            //Given
            var fileNotifier  = new FakeNotifier();
            var fileToObserve = new ObserveFileDto()
            {
                DirectoryPath      = mainDir,
                Filter             = "*.*",
                WithSubDirectories = true
            };
            var fileNotifierManager = new FileNotifierManager(fileNotifier);

            //When
            fileNotifierManager.Set(fileToObserve);
            const string testfile = "testfile.txt";

            File.Create(Path.Combine(SubDirPath, testfile)).Close();
            //Then
            Assert.That(() => fileNotifier.CountInvoked, Is.EqualTo(1).After(Delay));
        }
        public void OnRename_Test()
        {
            //Given
            var fileNotifier  = new FakeNotifier();
            var fileToObserve = new ObserveFileDto()
            {
                DirectoryPath      = mainDir,
                Filter             = "*.*",
                WithSubDirectories = false
            };
            var fileNotifierManager = new FileNotifierManager(fileNotifier);

            //When
            fileNotifierManager.Set(fileToObserve);
            File.Create(FilePath).Close();
            string newfileName = Path.Combine(mainDir, "newFileName.txt");

            File.Move(FilePath, newfileName);
            DeleteIfExist(newfileName);
            //Then
            Assert.That(() => fileNotifier.CountInvoked, Is.EqualTo(3).After(Delay));
        }
Ejemplo n.º 8
0
 public FileNotifierHub(FileNotifierManager fileNotifierManager)
 {
     _fileNotifierManager = fileNotifierManager;
 }