public void when_ack_null_message() { var path = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString()); var queue = new StatelessFileQueueReader(path, "test"); queue.AckMessage(null); }
public void when_queue_not_init() { var path = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString()); var result = new StatelessFileQueueReader(path, "test").TryGetMessage(); Assert.AreEqual(GetEnvelopeResultState.Exception, result.State); }
public static FilePartitionInbox CreateInbox(this FileStorageConfig cfg, string name, Func <uint, TimeSpan> decay = null) { var reader = new StatelessFileQueueReader(Path.Combine(cfg.FullPath, name), name); var waiter = decay ?? DecayEvil.BuildExponentialDecay(250); var inbox = new FilePartitionInbox(new[] { reader, }, waiter); inbox.Init(); return(inbox); }
public void when_directory_empty() { var path = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString()); var queue = new StatelessFileQueueReader(path, "test"); queue.InitIfNeeded(); var result = queue.TryGetMessage(); Assert.AreEqual(GetEnvelopeResultState.Empty, result.State); }
private static StatelessFileQueueReader InitQueue(string name) { var path = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString()); var queue = new StatelessFileQueueReader(path, name); queue.InitIfNeeded(); using (var sw = new StreamWriter(Path.Combine(path, "0.dat"), false)) sw.Write("test message"); return(queue); }
public void when_init_of_needed() { var path = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString()); var queue = new StatelessFileQueueReader(path, "test"); var inbox = new FilePartitionInbox(new[] { queue }, x => new TimeSpan(x)); Assert.IsFalse(Directory.Exists(path)); inbox.InitIfNeeded(); Assert.IsTrue(Directory.Exists(path)); }
public void when_ack_message() { var path = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString()); var queue = new StatelessFileQueueReader(path, "test"); queue.InitIfNeeded(); using (var sw = new StreamWriter(Path.Combine(path, "0.dat"), false)) sw.Write("test message"); var result = queue.TryGetMessage(); Assert.IsTrue(File.Exists(Path.Combine(path, "0.dat"))); queue.AckMessage(result.Message); Assert.IsFalse(File.Exists(Path.Combine(path, "0.dat"))); }
public void when_file_not_success() { var path = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString()); var queue = new StatelessFileQueueReader(path, "test"); queue.InitIfNeeded(); using (var sw = new StreamWriter(Path.Combine(path, "0.dat"), false)) sw.Write("test message"); using (var stream = new FileStream(Path.Combine(path, "0.dat"), FileMode.OpenOrCreate, FileAccess.Write, FileShare.ReadWrite)) { var result = queue.TryGetMessage(); Assert.AreEqual(GetEnvelopeResultState.Retry, result.State); } }