public void Sync_CheckInput_Socket() { var sync = new FakeISynchronize(new List <FileIndexItem> { new FileIndexItem("/test") { Status = FileIndexItem.ExifStatus.Ok } }); var websockets = new FakeIWebSocketConnectionsService(); var appSettings = new AppSettings(); var syncWatcherPreflight = new SyncWatcherConnector(new AppSettings(), sync, websockets, new FakeIQuery(), new FakeIWebLogger(), new TelemetryClient(new TelemetryConfiguration())); syncWatcherPreflight.Sync( new Tuple <string, string, WatcherChangeTypes>( Path.Combine(appSettings.StorageFolder, "test"), null, WatcherChangeTypes.Changed)); Assert.AreEqual(1, websockets.FakeSendToAllAsync.Count(p => !p.StartsWith("[system]"))); var value = websockets.FakeSendToAllAsync.FirstOrDefault(p => !p.StartsWith("[system]")); Assert.IsTrue(value.Contains("filePath\":\"/test\"")); Assert.AreEqual("/test", sync.Inputs[0].Item1); }
public async Task Sync_InjectScopes_NullReferenceException() { var appSettings = new AppSettings(); var services = new ServiceCollection(); var serviceProvider = services.BuildServiceProvider(); var scope = serviceProvider.GetRequiredService <IServiceScopeFactory>(); var syncWatcherPreflight = new SyncWatcherConnector(scope); await syncWatcherPreflight.Sync( new Tuple <string, string, WatcherChangeTypes>( Path.Combine(appSettings.StorageFolder, "test"), null, WatcherChangeTypes.Changed)); }
public async Task Sync_Rename_skipNull() { var sync = new FakeISynchronize(); var appSettings = new AppSettings(); var syncWatcherPreflight = new SyncWatcherConnector(new AppSettings(), sync, new FakeIWebSocketConnectionsService(), new FakeIQuery(), new FakeIWebLogger(), new TelemetryClient(new TelemetryConfiguration())); var result = await syncWatcherPreflight.Sync( new Tuple <string, string, WatcherChangeTypes>( Path.Combine(appSettings.StorageFolder, "test"), null, WatcherChangeTypes.Renamed)); Assert.AreEqual("/test", sync.Inputs[0].Item1); }
public async Task Sync_Rename() { var sync = new FakeISynchronize(); var appSettings = new AppSettings(); var syncWatcherPreflight = new SyncWatcherConnector(new AppSettings(), sync, new FakeIWebSocketConnectionsService(), new FakeIQuery(), new FakeIWebLogger(), new TelemetryClient(new TelemetryConfiguration())); var result = await syncWatcherPreflight.Sync( new Tuple <string, string, WatcherChangeTypes>( Path.Combine(appSettings.StorageFolder, "test"), Path.Combine(appSettings.StorageFolder, "test2"), WatcherChangeTypes.Renamed)); Assert.AreEqual("/test", sync.Inputs[0].Item1); Assert.AreEqual("/test2", sync.Inputs[1].Item1); // result Assert.AreEqual("/test", result[0].FilePath); Assert.AreEqual(FileIndexItem.ExifStatus.NotFoundSourceMissing, result[0].Status); }
public void Sync_CheckInput_CheckIfCacheIsUpdated_ButIgnoreNotInIndexFile() { var sync = new FakeISynchronize(new List <FileIndexItem> { // = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = > source is missing new FileIndexItem("/test.jpg") { Status = FileIndexItem.ExifStatus.NotFoundSourceMissing } }); var websockets = new FakeIWebSocketConnectionsService(); var appSettings = new AppSettings(); var provider = new ServiceCollection() .AddMemoryCache() .BuildServiceProvider(); var memoryCache = provider.GetService <IMemoryCache>(); var builderDb = new DbContextOptionsBuilder <ApplicationDbContext>(); builderDb.UseInMemoryDatabase(nameof(DownloadPhotoControllerTest)); var options = builderDb.Options; var context = new ApplicationDbContext(options); var query = new Query(context, null, null, null, memoryCache); query.AddCacheParentItem("/", new List <FileIndexItem> { new FileIndexItem("/test.jpg") { IsDirectory = false, Tags = "This should not be the tags", ParentDirectory = "/" } }); var syncWatcherConnector = new SyncWatcherConnector(appSettings, sync, websockets, query, new FakeIWebLogger(), new TelemetryClient(new TelemetryConfiguration())); syncWatcherConnector.Sync( new Tuple <string, string, WatcherChangeTypes>( Path.Combine(appSettings.StorageFolder, "test.jpg"), null, WatcherChangeTypes.Changed)); Assert.AreEqual(0, query.DisplayFileFolders().Count()); }
public void Sync_CheckInput_Socket_Ignore() { var sync = new FakeISynchronize(new List <FileIndexItem> { new FileIndexItem("/test") { Status = FileIndexItem.ExifStatus.OperationNotSupported } }); var websockets = new FakeIWebSocketConnectionsService(); var appSettings = new AppSettings(); var syncWatcherConnector = new SyncWatcherConnector(appSettings, sync, websockets, new FakeIQuery(), new FakeIWebLogger(), new TelemetryClient(new TelemetryConfiguration())); syncWatcherConnector.Sync( new Tuple <string, string, WatcherChangeTypes>( Path.Combine(appSettings.StorageFolder, "test"), null, WatcherChangeTypes.Changed)); Assert.AreEqual(0, websockets.FakeSendToAllAsync.Count); Assert.AreEqual("/test", sync.Inputs[0].Item1); }