private void OnPreCommitBigFile(object sender, ReposHookEventArgs e) { using (SvnLookClient cl = new SvnLookClient()) { using (MemoryStream ms = new MemoryStream()) { cl.Write(e.HookArgs.LookOrigin, "/bigfile", ms); } string b_p; Assert.That(cl.GetProperty(e.HookArgs.LookOrigin, "/bigfile", "a", out b_p)); Assert.That(b_p, Is.EqualTo("b")); } }
public void ChangeInfo_BigWrite() { SvnSandBox sbox = new SvnSandBox(this); Uri uri = sbox.CreateRepository(SandBoxRepository.Empty); string dir = sbox.Wc; Client.CheckOut(uri, dir); string file = Path.Combine(dir, "bigfile"); WriteBigFile(file); Client.Add(file); Client.SetProperty(file, "a", "b"); using (InstallHook(uri, SvnHookType.PreCommit, OnPreCommitBigFile)) { Client.Commit(dir); } using (SvnLookClient cl = new SvnLookClient()) { SvnChangeInfoArgs ia = new SvnChangeInfoArgs(); SvnLookOrigin lo = new SvnLookOrigin(uri.LocalPath); using (MemoryStream ms = new MemoryStream()) { cl.Write(lo, "/bigfile", ms); } string b_p; Assert.That(cl.GetProperty(lo, "/bigfile", "a", out b_p)); Assert.That(b_p, Is.EqualTo("b")); Collection <SvnLookListEventArgs> lst; cl.GetList(lo, "", out lst); Assert.That(lst, Is.Not.Null); Assert.That(lst.Count, Is.EqualTo(1)); SvnLookListEventArgs r = lst[0]; Assert.That(r, Is.Not.Null); Assert.That(r.Name, Is.EqualTo("bigfile")); Assert.That(r.NodeKind, Is.EqualTo(SvnNodeKind.File)); Assert.That(r.Path, Is.EqualTo("bigfile")); } }
public void ChangeInfo_BigWrite() { SvnSandBox sbox = new SvnSandBox(this); Uri uri = sbox.CreateRepository(SandBoxRepository.Empty); string dir = sbox.Wc; Client.CheckOut(uri, dir); string file = Path.Combine(dir, "bigfile"); WriteBigFile(file); Client.Add(file); Client.SetProperty(file, "a", "b"); using (InstallHook(uri, SvnHookType.PreCommit, OnPreCommitBigFile)) { Client.Commit(dir); } using (SvnLookClient cl = new SvnLookClient()) { SvnChangeInfoArgs ia = new SvnChangeInfoArgs(); SvnLookOrigin lo = new SvnLookOrigin(uri.LocalPath); using (MemoryStream ms = new MemoryStream()) { cl.Write(lo, "/bigfile", ms); } string b_p; Assert.That(cl.GetProperty(lo, "/bigfile", "a", out b_p)); Assert.That(b_p, Is.EqualTo("b")); Collection<SvnLookListEventArgs> lst; cl.GetList(lo, "", out lst); Assert.That(lst, Is.Not.Null); Assert.That(lst.Count, Is.EqualTo(1)); SvnLookListEventArgs r = lst[0]; Assert.That(r, Is.Not.Null); Assert.That(r.Name, Is.EqualTo("bigfile")); Assert.That(r.NodeKind, Is.EqualTo(SvnNodeKind.File)); Assert.That(r.Path, Is.EqualTo("bigfile")); } }
void OnPreCommit(object sender, ReposHookEventArgs e) { using (SvnLookClient cl = new SvnLookClient()) { SvnChangeInfoArgs ia = new SvnChangeInfoArgs(); SvnChangeInfoEventArgs i; Assert.That(cl.GetChangeInfo(e.HookArgs.LookOrigin, ia, out i)); Assert.That(i.Revision, Is.LessThan(0L)); Assert.That(i.Author, Is.EqualTo(Environment.UserName)); Assert.That(i.LogMessage, Is.EqualTo("Blaat!\r\nQWQQ\r\n")); using (MemoryStream ms = new MemoryStream()) { SvnLookWriteArgs wa = new SvnLookWriteArgs(); cl.Write(e.HookArgs.LookOrigin, "trunk/Pre.txt", ms, wa); ms.Position = 0; using (StreamReader sr = new StreamReader(ms)) { Assert.That(sr.ReadToEnd(), Is.EqualTo("AllTheData")); } string v; cl.GetProperty(e.HookArgs.LookOrigin, "trunk/Pre.txt", "boe", out v); Assert.That(v, Is.EqualTo("blaat")); SvnPropertyCollection props; cl.GetPropertyList(e.HookArgs.LookOrigin, "trunk/Pre.txt", out props); Assert.That(props, Is.Not.Null); Assert.That(props.Count, Is.EqualTo(1)); } Guid id; Assert.That(cl.TryGetRepositoryId(e.HookArgs.LookOrigin, out id)); Assert.That(id, Is.Not.EqualTo(Guid.Empty)); } }
public void ChangeInfo_GetInfoHead() { SvnSandBox sbox = new SvnSandBox(this); using (SvnLookClient cl = new SvnLookClient()) { SvnChangeInfoEventArgs r; SvnChangeInfoArgs ia = new SvnChangeInfoArgs(); SvnLookOrigin lo = new SvnLookOrigin(sbox.CreateRepository(SandBoxRepository.MergeScenario).LocalPath); Assert.That(cl.GetChangeInfo(lo, ia, out r)); Assert.That(r, Is.Not.Null); Assert.That(r.Author, Is.EqualTo("merger")); Assert.That(r.Revision, Is.EqualTo(17L)); Assert.That(r.BaseRevision, Is.EqualTo(16L)); Assert.That(r.LogMessage, Is.EqualTo("Merged branch c back to trunk")); // This is the exact time of the commit in microseconds DateTime shouldBe = new DateTime(2008, 1, 27, 15, 7, 57, 9, DateTimeKind.Utc).AddTicks(4750); Assert.That(r.Time, Is.EqualTo(shouldBe)); foreach (SvnChangeItem i in r.ChangedPaths) { if (i.NodeKind != SvnNodeKind.File) { continue; } using (MemoryStream ms = new MemoryStream()) { cl.Write(lo, i.Path, ms); } } } }
public void ChangeInfo_GetInfoHead() { SvnSandBox sbox = new SvnSandBox(this); using (SvnLookClient cl = new SvnLookClient()) { SvnChangeInfoEventArgs r; SvnChangeInfoArgs ia = new SvnChangeInfoArgs(); SvnLookOrigin lo = new SvnLookOrigin(sbox.CreateRepository(SandBoxRepository.MergeScenario).LocalPath); Assert.That(cl.GetChangeInfo(lo, ia, out r)); Assert.That(r, Is.Not.Null); Assert.That(r.Author, Is.EqualTo("merger")); Assert.That(r.Revision, Is.EqualTo(17L)); Assert.That(r.BaseRevision, Is.EqualTo(16L)); Assert.That(r.LogMessage, Is.EqualTo("Merged branch c back to trunk")); // This is the exact time of the commit in microseconds DateTime shouldBe = new DateTime(2008, 1, 27, 15, 7, 57, 9, DateTimeKind.Utc).AddTicks(4750); Assert.That(r.Time, Is.EqualTo(shouldBe)); foreach (SvnChangeItem i in r.ChangedPaths) { if (i.NodeKind != SvnNodeKind.File) continue; using (MemoryStream ms = new MemoryStream()) { cl.Write(lo, i.Path, ms); } } } }