public SiteContextGenerator(
     IEventAggregator eventAggregator,
     IDialogService dialogService,
     IFileSystem fileSystem,
     IFileSystemWatcherFactory fileSystemWatcherFactory)
 {
     this.eventAggregator = eventAggregator;
     this.dialogService = dialogService;
     this.fileSystem = fileSystem;
     this.fileSystemWatcherFactory = fileSystemWatcherFactory;
 }
        public MockFileSystem(IDictionary<string, MockFileData> files, string currentDirectory = @"C:\Foo\Bar")
        {
            this.files = new Dictionary<string, MockFileData>(StringComparer.InvariantCultureIgnoreCase);
            pathField = new MockPath(this);
            file = new MockFile(this);
            directory = new MockDirectory(this, file, FixPath(currentDirectory));
            fileInfoFactory = new MockFileInfoFactory(this);
            directoryInfoFactory = new MockDirectoryInfoFactory(this);
            fileSystemWatcherFactory = new MockFileSystemWatcherFactory();

            if (files == null) return;
            foreach (var entry in files)
                AddFile(entry.Key, entry.Value);
        }
        public TelemetryDataRepository(IFileSystem fileSystem, IFileSystemWatcherFactory fileSystemWatcherFactory)
        {
            this.fileSystem = fileSystem;

            EnsureFileExists(StorageFilePath);
            ReadFromXmlFile();

            fileWatcher                     = fileSystemWatcherFactory.CreateNew();
            fileWatcher.Path                = Path.GetDirectoryName(StorageFilePath);
            fileWatcher.Filter              = Path.GetFileName(StorageFilePath);
            fileWatcher.NotifyFilter        = NotifyFilters.LastWrite;
            fileWatcher.EnableRaisingEvents = true;
            fileWatcher.Changed            += OnStorageFileChanged;
        }
Ejemplo n.º 4
0
            public Implementation(IArgs options, Config implConfig)
            {
                _options     = options;
                _logger      = implConfig.ExecutionLoggerFactory.New(new JsonSerializer(), new WebSocketPool());
                _writer      = implConfig.Writer;
                _filePath    = implConfig.FilePath;
                _environment = implConfig.EnvironmentWrapper;

                _serverProxyFactory               = implConfig.ServerProxyFactory;
                _resourceCatalogProxyFactory      = implConfig.ResourceCatalogProxyFactory;
                _workerContextFactory             = implConfig.WorkerContextFactory;
                _triggersCatalogFactory           = implConfig.TriggersCatalogFactory;
                _fileSystemWatcherFactory         = implConfig.FileSystemWatcherFactory;
                _queueWorkerImplementationFactory = implConfig.QueueWorkerImplementationFactory;
            }
Ejemplo n.º 5
0
 public SyncModel(
     ISyncSettingsRepository settingsRepository,
     IMessenger messenger,
     IFile file,
     IDirectory directory,
     IFileSystemWatcherFactory watcherFactory,
     IFileInfoFactory infoFactory)
 {
     _settingsRepository = settingsRepository;
     _file           = file;
     _directory      = directory;
     _watcherFactory = watcherFactory;
     _infoFactory    = infoFactory;
     _messenger      = messenger;
     _settings       = _settingsRepository.Load();
 }
Ejemplo n.º 6
0
 public SiteContextGenerator(
     IEventAggregator eventAggregator, 
     IDialogService dialogService,
     IFileSystem fileSystem, 
     IFileSystemWatcherFactory fileSystemWatcherFactory, 
     Func<string, IMetaWeblogService> getMetaWeblog, 
     IWebDocumentService webDocumentService, 
     IGithubApi github)
 {
     this.eventAggregator = eventAggregator;
     this.dialogService = dialogService;
     this.fileSystem = fileSystem;
     this.fileSystemWatcherFactory = fileSystemWatcherFactory;
     this.getMetaWeblog = getMetaWeblog;
     this.webDocumentService = webDocumentService;
     this.github = github;
 }
Ejemplo n.º 7
0
 public SiteContextGenerator(
     IEventAggregator eventAggregator,
     IDialogService dialogService,
     IFileSystem fileSystem,
     IFileSystemWatcherFactory fileSystemWatcherFactory,
     Func <string, IMetaWeblogService> getMetaWeblog,
     IWebDocumentService webDocumentService,
     IGithubApi github)
 {
     this.eventAggregator          = eventAggregator;
     this.dialogService            = dialogService;
     this.fileSystem               = fileSystem;
     this.fileSystemWatcherFactory = fileSystemWatcherFactory;
     this.getMetaWeblog            = getMetaWeblog;
     this.webDocumentService       = webDocumentService;
     this.github = github;
 }
Ejemplo n.º 8
0
        public JekyllSiteContextTests()
        {
            filename                 = @"C:\Site\Index.md";
            basePath                 = @"C:\Site\";
            eventAggregator          = Substitute.For <IEventAggregator>();
            dialogService            = Substitute.For <IDialogService>();
            fileSystem               = Substitute.For <IFileSystem>();
            fileSystemWatcherFactory = Substitute.For <IFileSystemWatcherFactory>();
            fileSystemWatcher        = Substitute.For <IFileSystemWatcher>();
            fileSystemWatcherFactory.Create(Arg.Any <string>()).Returns(fileSystemWatcher);

            jekyllContext = new JekyllSiteContext(
                eventAggregator,
                dialogService,
                fileSystem,
                fileSystemWatcherFactory,
                basePath);
        }
        public JekyllSiteContextTests()
        {
            filename = @"C:\Site\Index.md";
            basePath = @"C:\Site\";
            eventAggregator = Substitute.For<IEventAggregator>();
            dialogService = Substitute.For<IDialogService>();
            fileSystem = Substitute.For<IFileSystem>();
            fileSystemWatcherFactory = Substitute.For<IFileSystemWatcherFactory>();
            fileSystemWatcher = Substitute.For<IFileSystemWatcher>();
            fileSystemWatcherFactory.Create(Arg.Any<string>()).Returns(fileSystemWatcher);

            jekyllContext = new JekyllSiteContext(
                eventAggregator,
                dialogService,
                fileSystem,
                fileSystemWatcherFactory,
                basePath);
        }
Ejemplo n.º 10
0
        public SingleFileMonitor(IFileSystemWatcherFactory factory, IFileSystem fileSystem, string filePathToMonitor, ILogger logger)
        {
            this.MonitoredFilePath = filePathToMonitor;

            EnsureDirectoryExists(filePathToMonitor, fileSystem, logger);

            fileWatcher              = factory.CreateNew();
            fileWatcher.Path         = Path.GetDirectoryName(filePathToMonitor); // NB will throw if the directory does not exist
            fileWatcher.Filter       = Path.GetFileName(filePathToMonitor);
            fileWatcher.NotifyFilter = System.IO.NotifyFilters.CreationTime | System.IO.NotifyFilters.LastWrite |
                                       NotifyFilters.FileName | NotifyFilters.DirectoryName;

            fileWatcher.Changed += OnFileChanged;
            fileWatcher.Created += OnFileChanged;
            fileWatcher.Deleted += OnFileChanged;
            fileWatcher.Renamed += OnFileChanged;

            this.logger = logger;
        }
Ejemplo n.º 11
0
        public JekyllSiteContext(
            IEventAggregator eventAggregator,
            IDialogService dialogService,
            IFileSystem fileSystem,
            IFileSystemWatcherFactory fileSystemWatcherFactory,
            string siteBasePath)
        {
            this.siteBasePath    = siteBasePath;
            this.fileSystem      = fileSystem;
            this.dialogService   = dialogService;
            this.eventAggregator = eventAggregator;
            fileSystemWatcher    = fileSystemWatcherFactory.Create(siteBasePath);
            fileSystemWatcher.IncludeSubdirectories = true;
            fileSystemWatcher.Created += FileSystemWatcherOnCreated;
            fileSystemWatcher.Changed += FileSystemWatcherOnChanged;
            fileSystemWatcher.Renamed += FileSystemWatcherOnRenamed;
            fileSystemWatcher.Deleted += FileSystemWatcherOnDeleted;

            fileSystemWatcher.EnableRaisingEvents = true;
        }
Ejemplo n.º 12
0
 public DirectoryWatcher(AppSettings settings, IFileSystemWatcherFactory watcherFactory, IFileInfoFactory fileInfoFactory)
 {
     _settings        = settings;
     _watcherFactory  = watcherFactory;
     _fileInfoFactory = fileInfoFactory;
 }
Ejemplo n.º 13
0
        private Implementation.Config SetupQueueWorkerImplementationConfings(out Mock <IWriter> mockWriter, out Mock <IExecutionLogPublisher> mockExecutionLogPublisher,
                                                                             IEnvironmentConnection environmentConnection, IResourceCatalogProxy resourceCatalogProxy, IWorkerContextFactory workerContextFactory, ITriggersCatalog triggersCatalog,
                                                                             IFilePath filePath, IFileSystemWatcherFactory fileSystemWatcherFactory, IQueueWorkerImplementationFactory queueWorkerImplementationFactory, IEnvironmentWrapper environmentWrapper)
        {
            mockWriter = new Mock <IWriter>();

            mockExecutionLogPublisher = new Mock <IExecutionLogPublisher>();
            var mockExecutionLoggerFactory = new Mock <IExecutionLoggerFactory>();

            mockExecutionLoggerFactory.Setup(o => o.New(It.IsAny <ISerializer>(), It.IsAny <IWebSocketPool>())).Returns(mockExecutionLogPublisher.Object);

            var mockResourceCatalogProxyFactory = new Mock <IResourceCatalogProxyFactory>();

            mockResourceCatalogProxyFactory.Setup(o => o.New(environmentConnection)).Returns(resourceCatalogProxy);

            var mockServerProxyFactory = new Mock <IServerProxyFactory>();

            mockServerProxyFactory.Setup(o => o.New(new Uri("https://localhost:3143/"))).Returns(environmentConnection);

            var mockTriggersCatalogFactory = new Mock <ITriggersCatalogFactory>();

            mockTriggersCatalogFactory.Setup(o => o.New()).Returns(triggersCatalog);

            var implConfig = new Implementation.Config
            {
                EnvironmentWrapper     = environmentWrapper,
                ExecutionLoggerFactory = mockExecutionLoggerFactory.Object,
                FilePath = filePath,
                FileSystemWatcherFactory         = fileSystemWatcherFactory,
                QueueWorkerImplementationFactory = queueWorkerImplementationFactory,
                ResourceCatalogProxyFactory      = mockResourceCatalogProxyFactory.Object,
                ServerProxyFactory     = mockServerProxyFactory.Object,
                TriggersCatalogFactory = mockTriggersCatalogFactory.Object,
                WorkerContextFactory   = workerContextFactory,
                Writer = mockWriter.Object
            };

            return(implConfig);
        }