private TestSnTracer GetTracer() { var old = SnTrace.SnTracers.FirstOrDefault(x => x.GetType() == typeof(TestSnTracer)); if (old != null) { SnTrace.SnTracers.Remove(old); } var tracer = new TestSnTracer(); SnTrace.SnTracers.Add(tracer); return(tracer); }
public void Indexing_SimpleSerializationWhenSaveNode() { int GetCountOfTraceMessages(TestSnTracer tracer, int versionId) { var lines = tracer.Lines.ToArray(); var msg = $"Serialize IndexDocument. VersionId: {versionId}"; return(lines.Count(x => x.Split('\t').Last() == msg)); } Test(() => { using (new Swindler <bool>(true, () => SnTrace.Index.Enabled, value => { SnTrace.Index.Enabled = value; })) { var localTracer = new TestSnTracer(); try { SnTrace.SnTracers.Add(localTracer); localTracer.Lines.Clear(); var root = CreateTestRoot(); // Expectation: 2 lines: start and end of a trace operation. Assert.AreEqual(2, GetCountOfTraceMessages(localTracer, root.VersionId)); var file = new File(root) { Name = Guid.NewGuid().ToString() }; file.Binary.SetStream(RepositoryTools.GetStreamFromString("fileContent")); localTracer.Lines.Clear(); file.Save(); Assert.AreEqual(2, GetCountOfTraceMessages(localTracer, file.VersionId)); } finally { SnTrace.SnTracers.Remove(localTracer); } } }); }