/// <summary> /// Initializes a new instance of the <see cref="T:FileActivityEventArgs" /> class. /// </summary> /// <param name="file">The file that changed, if any (full path).</param> /// <param name="oldFileName">The old name of the file, if any (full path).</param> /// <param name="directory">The directory that changed, if any (full path).</param> /// <param name="oldDirectoryName">The old name of the directory, if any (full path).</param> /// <param name="page">The page owning the attachment, if any.</param> /// <param name="activity">The activity.</param> public FileActivityEventArgs(StFileInfo file, string oldFileName, StDirectoryInfo directory, string oldDirectoryName, PageInfo page, FileActivity activity) { this.file = file; this.oldFileName = oldFileName; this.directory = directory; this.oldDirectoryName = oldDirectoryName; this.page = page; this.activity = activity; }
public void Format() { MockRepository mocks = new MockRepository(); IFilesStorageProviderV30 prov = mocks.StrictMock<IFilesStorageProviderV30>(); string content = string.Format( @"This is a test page. <countDownloads pattern=""#CoUnT#-#DaIlY#-#WeEkLy#-#MoNtHlY#"" startDate=""{0:yyyy'/'MM'/'dd}""> <file name=""/my/file.zip"" provider=""{1}"" /> <file name=""/my/other/file.zip"" /> <file name=""/my/inexistent-file.zip"" provider=""{1}"" /> <file name=""/my/other/inexistent-file.zip"" /> <attachment name=""attn.zip"" page=""page"" provider=""{1}"" /> <attachment name=""attn.zip"" page=""page"" /> <attachment name=""inexistent-attn.zip"" page=""page"" provider=""{1}"" /> <attachment name=""inexistent-attn.zip"" page=""page"" /> <attachment name=""attn.zip"" page=""inexistent-page"" provider=""{1}"" /> <attachment name=""attn.zip"" page=""inexistent-page"" /> </countDownloads>", DateTime.Today.AddDays(-60), prov.GetType().FullName); // */file.zip was downloaded 13 times // attn.zip was downloaded 56 times // Expected output: 138-2-16-68 IHostV30 host = mocks.StrictMock<IHostV30>(); host.LogEntry(null, LogEntryType.Warning, null, null); LastCall.On(host).IgnoreArguments().Repeat.Any(); Expect.Call(host.GetSettingValue(SettingName.DefaultFilesStorageProvider)).Return( prov.GetType().FullName).Repeat.Times(4); Expect.Call(host.GetFilesStorageProviders(true)).Return( new IFilesStorageProviderV30[] { prov }).Repeat.Times(8); StFileInfo[] myFiles = new StFileInfo[] { new StFileInfo(1000, DateTime.Now, 13, "/my/File.zip", prov), new StFileInfo(10000, DateTime.Now, 1000, "/my/other-file.zip", prov) }; StFileInfo[] myOtherFiles = new StFileInfo[] { new StFileInfo(1000, DateTime.Now, 13, "/my/OTHER/file.zip", prov), new StFileInfo(10000, DateTime.Now, 2000, "/my/OTHER/other-file.zip", prov) }; StFileInfo[] attachments = new StFileInfo[] { new StFileInfo(2000, DateTime.Now, 56, "aTTn.zip", prov), new StFileInfo(20000, DateTime.Now, 1000, "other-attn.zip", prov) }; // /my/* Expect.Call(host.ListFiles(null)).IgnoreArguments().Constraints( RMC.Is.Matching( delegate(StDirectoryInfo dir) { return dir.FullPath == "/my/"; })).Return(myFiles).Repeat.Times(2); // /my/other/* Expect.Call(host.ListFiles(null)).IgnoreArguments().Constraints( RMC.Is.Matching( delegate(StDirectoryInfo dir) { return dir.FullPath == "/my/other/"; })).Return(myOtherFiles).Repeat.Times(2); PageInfo page = new PageInfo("page", null, DateTime.Now); Expect.Call(host.FindPage("page")).Return(page).Repeat.Times(4); Expect.Call(host.FindPage("inexistent-page")).Return(null).Repeat.Twice(); Expect.Call(host.ListPageAttachments(page)).Return(attachments).Repeat.Times(4); mocks.ReplayAll(); DownloadCounter counter = new DownloadCounter(); counter.Init(host, ""); string output = counter.Format(content, null, FormattingPhase.Phase3); Assert.IsTrue(output == @"This is a test page. 138-2-16-68" || output == @"This is a test page. 138-2-16-69", "Wrong output"); mocks.VerifyAll(); }
public void Format() { MockRepository mocks = new MockRepository(); IFilesStorageProviderV30 prov = mocks.StrictMock <IFilesStorageProviderV30>(); string content = string.Format( @"This is a test page. <countDownloads pattern=""#CoUnT#-#DaIlY#-#WeEkLy#-#MoNtHlY#"" startDate=""{0:yyyy'/'MM'/'dd}""> <file name=""/my/file.zip"" provider=""{1}"" /> <file name=""/my/other/file.zip"" /> <file name=""/my/inexistent-file.zip"" provider=""{1}"" /> <file name=""/my/other/inexistent-file.zip"" /> <attachment name=""attn.zip"" page=""page"" provider=""{1}"" /> <attachment name=""attn.zip"" page=""page"" /> <attachment name=""inexistent-attn.zip"" page=""page"" provider=""{1}"" /> <attachment name=""inexistent-attn.zip"" page=""page"" /> <attachment name=""attn.zip"" page=""inexistent-page"" provider=""{1}"" /> <attachment name=""attn.zip"" page=""inexistent-page"" /> </countDownloads>", DateTime.Today.AddDays(-60), prov.GetType().FullName); // */file.zip was downloaded 13 times // attn.zip was downloaded 56 times // Expected output: 138-2-16-68 IHostV30 host = mocks.StrictMock <IHostV30>(); host.LogEntry(null, LogEntryType.Warning, null, null); LastCall.On(host).IgnoreArguments().Repeat.Any(); Expect.Call(host.GetSettingValue(SettingName.DefaultFilesStorageProvider)).Return( prov.GetType().FullName).Repeat.Times(4); Expect.Call(host.GetFilesStorageProviders(true)).Return( new IFilesStorageProviderV30[] { prov }).Repeat.Times(8); StFileInfo[] myFiles = new StFileInfo[] { new StFileInfo(1000, DateTime.Now, 13, "/my/File.zip", prov), new StFileInfo(10000, DateTime.Now, 1000, "/my/other-file.zip", prov) }; StFileInfo[] myOtherFiles = new StFileInfo[] { new StFileInfo(1000, DateTime.Now, 13, "/my/OTHER/file.zip", prov), new StFileInfo(10000, DateTime.Now, 2000, "/my/OTHER/other-file.zip", prov) }; StFileInfo[] attachments = new StFileInfo[] { new StFileInfo(2000, DateTime.Now, 56, "aTTn.zip", prov), new StFileInfo(20000, DateTime.Now, 1000, "other-attn.zip", prov) }; // /my/* Expect.Call(host.ListFiles(null)).IgnoreArguments().Constraints( RMC.Is.Matching( delegate(StDirectoryInfo dir) { return(dir.FullPath == "/my/"); })).Return(myFiles).Repeat.Times(2); // /my/other/* Expect.Call(host.ListFiles(null)).IgnoreArguments().Constraints( RMC.Is.Matching( delegate(StDirectoryInfo dir) { return(dir.FullPath == "/my/other/"); })).Return(myOtherFiles).Repeat.Times(2); PageInfo page = new PageInfo("page", null, DateTime.Now); Expect.Call(host.FindPage("page")).Return(page).Repeat.Times(4); Expect.Call(host.FindPage("inexistent-page")).Return(null).Repeat.Twice(); Expect.Call(host.ListPageAttachments(page)).Return(attachments).Repeat.Times(4); mocks.ReplayAll(); DownloadCounter counter = new DownloadCounter(); counter.Init(host, ""); string output = counter.Format(content, null, FormattingPhase.Phase3); Assert.IsTrue(output == @"This is a test page. 138-2-16-68" || output == @"This is a test page. 138-2-16-69", "Wrong output"); mocks.VerifyAll(); }