public void WorkflowTest() { var service = new InstanceStoredNotificationService(_logger.Object, _cleanupQueue.Object); var observer = new Mock <IObserver <InstanceStorageInfo> >(); observer.Setup(p => p.OnNext(It.IsAny <InstanceStorageInfo>())); var cancel = service.Subscribe(observer.Object); var instance = InstanceGenerator.GenerateInstance("/storage", "AET"); service.NewInstanceStored(instance); service.NewInstanceStored(instance); service.NewInstanceStored(instance); observer.Verify(p => p.OnNext(It.IsAny <InstanceStorageInfo>()), Times.Exactly(3)); cancel.Dispose(); observer.Reset(); service.NewInstanceStored(instance); observer.Verify(p => p.OnNext(It.IsAny <InstanceStorageInfo>()), Times.Never()); }
public void NewInstanceStored_NoSupportedObservers() { var instance = InstanceGenerator.GenerateInstance("/storage", "AET"); _cleanupQueue.Setup(p => p.QueueInstance(It.IsAny <string>())); var service = new InstanceStoredNotificationService(_logger.Object, _cleanupQueue.Object); var observer = new Mock <IObserver <InstanceStorageInfo> >(); observer.Setup(p => p.OnNext(It.IsAny <InstanceStorageInfo>())).Throws(new InstanceNotSupportedException(instance)); var cancel = service.Subscribe(observer.Object); service.NewInstanceStored(instance); observer.Verify(p => p.OnNext(It.IsAny <InstanceStorageInfo>()), Times.Once()); _cleanupQueue.Verify(p => p.QueueInstance(instance.InstanceStorageFullPath), Times.Once()); cancel.Dispose(); observer.Reset(); service.NewInstanceStored(instance); observer.Verify(p => p.OnNext(It.IsAny <InstanceStorageInfo>()), Times.Never()); }