public void RetrieveDenialsForDirectory_Root_Group() { MockRepository mocks = new MockRepository(); ISettingsStorageProviderV30 prov = mocks.DynamicMock<ISettingsStorageProviderV30>(); IFilesStorageProviderV30 filesProv = mocks.DynamicMock<IFilesStorageProviderV30>(); IAclManager aclManager = mocks.DynamicMock<IAclManager>(); Expect.Call(prov.AclManager).Return(aclManager).Repeat.Any(); string dirName = Actions.ForDirectories.ResourceMasterPrefix + AuthTools.GetDirectoryName(filesProv, "/"); Expect.Call(aclManager.RetrieveEntriesForSubject("G.Group")).Return( new AclEntry[] { new AclEntry(dirName, Actions.ForDirectories.List, "G.Group", Value.Deny), new AclEntry(dirName, Actions.FullControl, "G.Group", Value.Grant), new AclEntry("D." + AuthTools.GetDirectoryName(filesProv, "/Other/"), Actions.ForDirectories.UploadFiles, "G.Group", Value.Deny) }); mocks.Replay(prov); mocks.Replay(aclManager); Collectors.SettingsProvider = prov; string[] grants = AuthReader.RetrieveDenialsForDirectory(new UserGroup("Group", "Group", null), filesProv, "/"); Assert.AreEqual(1, grants.Length, "Wrong denial count"); Assert.AreEqual(Actions.ForDirectories.List, grants[0], "Wrong denial"); }
/// <summary>Helper method to create a mock object without a repository instance and put the object back into replay mode.</summary> /// <typeparam name="T">The type of mock object to create</typeparam> /// <param name="createMock">A delegate that uses a mock repository instance to create the underlying mock</param> /// <returns>The mock object in the replay mode.</returns> private static T CreateMockInReplay <T>(Func <MockRepository, T> createMock) { var repository = new MockRepository(); var mockObject = createMock(repository); repository.Replay(mockObject); return(mockObject); }
public IOrderDao CreateMockOrderDao() { MockRepository mocks = new MockRepository(); IOrderDao mockedOrderDao = mocks.CreateMock<IOrderDao>(); Expect.Call(mockedOrderDao.GetByExample(null)).IgnoreArguments() .Return(new TestOrdersFactory().CreateOrders()); mocks.Replay(mockedOrderDao); return mockedOrderDao; }
public void ClearEntriesForDirectory() { MockRepository mocks = new MockRepository(); ISettingsStorageProviderV30 prov = mocks.DynamicMock<ISettingsStorageProviderV30>(); IFilesStorageProviderV30 filesProv = mocks.DynamicMock<IFilesStorageProviderV30>(); IAclManager aclManager = mocks.DynamicMock<IAclManager>(); Expect.Call(prov.AclManager).Return(aclManager).Repeat.Any(); string dirName = Actions.ForDirectories.ResourceMasterPrefix + AuthTools.GetDirectoryName(filesProv, "/Dir/Sub/"); Expect.Call(aclManager.DeleteEntriesForResource(dirName)).Return(true); mocks.Replay(prov); mocks.Replay(aclManager); Collectors.SettingsProvider = prov; AuthWriter.ClearEntriesForDirectory(filesProv, "/Dir/Sub/"); mocks.Verify(prov); mocks.Verify(aclManager); }
//[Test] //public void CanListAllNews() //{ // var controller = new NewsController(CreateMockNewsRepository()); // var result = controller.Index(1) // .AssertViewRendered() // .ForView("Index"); // Assert.That(result.ViewData, Is.Not.Null); // Assert.That(result.ViewData.Model as List<News>, Is.Not.Null); // Assert.That((result.ViewData.Model as List<News>).Count, Is.EqualTo(2)); //} public IRepository<News> CreateMockNewsRepository() { var mocks = new MockRepository(); var mockedRepository = mocks.StrictMock<IRepository<News>>(); Expect.Call(mockedRepository.GetAll()) .IgnoreArguments() .Return(createNews()); mocks.Replay(mockedRepository); return mockedRepository; }
/// <summary> /// In most cases, we'd simply return /// IRepository<MyEntity>, but since we're /// leveraging a custom Repository method, we need a /// custom Repository interface. /// </summary> public IStaffMemberRepository CreateMockStaffMemberRepository() { MockRepository mocks = new MockRepository(); IStaffMemberRepository mockedRepository = mocks.StrictMock<IStaffMemberRepository>(); Expect.Call(mockedRepository.FindAllMatching(null)) .IgnoreArguments() .Return(CreateStaffMembers()); mocks.Replay(mockedRepository); return mockedRepository; }
public void ClearEntriesForNamespace() { MockRepository mocks = new MockRepository(); ISettingsStorageProviderV30 prov = mocks.DynamicMock<ISettingsStorageProviderV30>(); IAclManager aclManager = mocks.DynamicMock<IAclManager>(); Expect.Call(prov.AclManager).Return(aclManager).Repeat.Any(); Expect.Call(aclManager.DeleteEntriesForResource(Actions.ForNamespaces.ResourceMasterPrefix + "NS")).Return(true); Expect.Call(aclManager.DeleteEntriesForResource(Actions.ForPages.ResourceMasterPrefix + "NS.Page1")).Return(true); Expect.Call(aclManager.DeleteEntriesForResource(Actions.ForPages.ResourceMasterPrefix + "NS.Page2")).Return(true); Expect.Call(aclManager.DeleteEntriesForResource(Actions.ForPages.ResourceMasterPrefix + "NS.Page3")).Return(true); mocks.Replay(prov); mocks.Replay(aclManager); Collectors.SettingsProvider = prov; AuthWriter.ClearEntriesForNamespace("NS", new List<string>() { "Page1", "Page2", "Page3" }); mocks.Verify(prov); mocks.Verify(aclManager); }
/// </summary> public IBlogTasks CreateMockIBlogTask() { MockRepository mocks = new MockRepository(); IBlogTasks mockedRepository = mocks.StrictMock<IBlogTasks>(); Blog mockBlog = MockRepository.GenerateStub<Blog>(); mockBlog.Stub(x => x.Id).Return(1); Expect.Call(mockedRepository.Posts()) .IgnoreArguments() .Return(CreatePosts(mockBlog)); mocks.Replay(mockedRepository); return mockedRepository; }
public void SetUp() { _mocks = new MockRepository(); var httpContext = new TestHttpContext(); var requestContext = new RequestContext(httpContext, new RouteData()); var controller = _mocks.StrictMock<ControllerBase>(); _mocks.Replay(controller); var viewEngine = new BooViewEngine { ViewSourceLoader = new FileSystemViewSourceLoader(VIEW_ROOT_DIRECTORY), Options = new BooViewEngineOptions() }; viewEngine.Initialize(); _viewEngine = new BrailViewFactory(viewEngine); _mocks.ReplayAll(); }
public void Init_Upgrade() { string testDir = Path.Combine(Environment.GetEnvironmentVariable("TEMP"), Guid.NewGuid().ToString()); Directory.CreateDirectory(testDir); MockRepository mocks = new MockRepository(); IHostV30 host = mocks.DynamicMock<IHostV30>(); Expect.Call(host.GetSettingValue(SettingName.PublicDirectory)).Return(testDir).Repeat.AtLeastOnce(); Expect.Call(host.GetSettingValue(SettingName.AdministratorsGroup)).Return("Administrators").Repeat.Once(); Expect.Call(host.GetSettingValue(SettingName.UsersGroup)).Return("Users").Repeat.Once(); Expect.Call(host.UpgradeSecurityFlagsToGroupsAcl(null, null)).IgnoreArguments().Repeat.Times(1).Return(true); mocks.Replay(host); string file = Path.Combine(host.GetSettingValue(SettingName.PublicDirectory), "Users.cs"); File.WriteAllText(file, "user|PASSHASH|[email protected]|Inactive|2008/10/31 15:15:15|USER\r\nsuperuser|SUPERPASSHASH|[email protected]|Active|2008/10/31 15:15:16|ADMIN"); UsersStorageProvider prov = new UsersStorageProvider(); prov.Init(host, ""); UserInfo[] users = prov.GetUsers(); Assert.AreEqual(2, users.Length, "Wrong user count"); Assert.AreEqual("superuser", users[0].Username, "Wrong username"); Assert.AreEqual("*****@*****.**", users[0].Email, "Wrong email"); Assert.IsTrue(users[0].Active, "User should be active"); Assert.AreEqual("2008/10/31 15:15:16", users[0].DateTime.ToString("yyyy'/'MM'/'dd' 'HH':'mm':'ss"), "Wrong date/time"); Assert.AreEqual(1, users[0].Groups.Length, "Wrong user count"); Assert.AreEqual("Administrators", users[0].Groups[0], "Wrong group"); Assert.AreEqual("user", users[1].Username, "Wrong username"); Assert.AreEqual("*****@*****.**", users[1].Email, "Wrong email"); Assert.IsFalse(users[1].Active, "User should be inactive"); Assert.AreEqual("2008/10/31 15:15:15", users[1].DateTime.ToString("yyyy'/'MM'/'dd' 'HH':'mm':'ss"), "Wrong date/time"); Assert.AreEqual(1, users[1].Groups.Length, "Wrong user count"); Assert.AreEqual("Users", users[1].Groups[0], "Wrong group"); mocks.Verify(host); Directory.Delete(testDir, true); }
public virtual void SetUp() { HttpMethodToReturn = "GET"; EcmaScriptVersionToReturn = new Version(1, 1); mockRepository = new MockRepository(); HttpContext = mockRepository.DynamicHttpContextBase(); SetupResult.For(Request.UserHostAddress).Return("::1"); SetupResult.For(Request.UserHostName).Return("::1"); SetupResult.For(Request.RequestType).Do(new Func<string>(() => HttpMethodToReturn)); //.Return("GET"); SetupResult.For(Request.HttpMethod).Do(new Func<string>(() => HttpMethodToReturn)); SetupResult.For(Request.PhysicalApplicationPath).Return("http://testing/mycontroller/test"); SetupResult.For(Request.Url).Return(new Uri("http://testing/mycontroller/test")); mockRepository.Replay(Request); SetupResult.For(Request.Browser.EcmaScriptVersion).Do(new Func<Version>(() => EcmaScriptVersionToReturn)); SetupResult.For(Request.Browser.Browser).Return("Firefox 2.0.11"); SetupResult.For(HttpContext.User.Identity).Return(new MockIdentity {Name = string.Empty}); mockRepository.ReplayAll(); }
public void SetUp() { mocks = new MockRepository(); ISettingsStorageProviderV30 settingsProvider = mocks.StrictMock<ISettingsStorageProviderV30>(); Expect.Call(settingsProvider.GetSetting("ProcessSingleLineBreaks")).Return("true").Repeat.Any(); Collectors.SettingsProvider = settingsProvider; mocks.Replay(settingsProvider); }
public void RemoveEntriesForNamespace_Group_Sub() { MockRepository mocks = new MockRepository(); ISettingsStorageProviderV30 prov = mocks.DynamicMock<ISettingsStorageProviderV30>(); IAclManager aclManager = mocks.DynamicMock<IAclManager>(); Expect.Call(prov.AclManager).Return(aclManager).Repeat.Any(); Expect.Call(aclManager.RetrieveEntriesForSubject("G.Group")).Return( new AclEntry[] { new AclEntry(Actions.ForNamespaces.ResourceMasterPrefix + "Sub", Actions.ForNamespaces.ManagePages, "G.Group", Value.Grant), new AclEntry(Actions.ForNamespaces.ResourceMasterPrefix + "Sub", Actions.ForNamespaces.ManageCategories, "G.Group", Value.Grant), new AclEntry(Actions.ForNamespaces.ResourceMasterPrefix, Actions.ForNamespaces.ModifyPages, "G.Group", Value.Grant), new AclEntry(Actions.ForGlobals.ResourceMasterPrefix, Actions.ForGlobals.ManageNavigationPaths, "G.Group", Value.Grant) }); Expect.Call(aclManager.DeleteEntry(Actions.ForNamespaces.ResourceMasterPrefix + "Sub", Actions.ForNamespaces.ManagePages, "G.Group")).Return(true); Expect.Call(aclManager.DeleteEntry(Actions.ForNamespaces.ResourceMasterPrefix + "Sub", Actions.ForNamespaces.ManageCategories, "G.Group")).Return(true); mocks.Replay(prov); mocks.Replay(aclManager); Collectors.SettingsProvider = prov; Assert.IsTrue(AuthWriter.RemoveEntriesForNamespace(new UserGroup("Group", "Group", null), new NamespaceInfo("Sub", null, null)), "RemoveEntriesForNamespace should return true"); mocks.Verify(prov); mocks.Verify(aclManager); }
public void RemoveEntriesForDirectory_Sub_User() { MockRepository mocks = new MockRepository(); ISettingsStorageProviderV30 prov = mocks.DynamicMock<ISettingsStorageProviderV30>(); IFilesStorageProviderV30 filesProv = mocks.DynamicMock<IFilesStorageProviderV30>(); IAclManager aclManager = mocks.DynamicMock<IAclManager>(); Expect.Call(prov.AclManager).Return(aclManager).Repeat.Any(); string dirName = Actions.ForDirectories.ResourceMasterPrefix + AuthTools.GetDirectoryName(filesProv, "/Dir/Sub/"); Expect.Call(aclManager.RetrieveEntriesForSubject("U.User")).Return( new AclEntry[] { new AclEntry(dirName, Actions.ForDirectories.List, "U.User", Value.Grant), new AclEntry(dirName, Actions.ForDirectories.UploadFiles, "U.User", Value.Deny), new AclEntry("D." + AuthTools.GetDirectoryName(filesProv, "/"), Actions.ForDirectories.UploadFiles, "U.User", Value.Grant), new AclEntry(Actions.ForGlobals.ResourceMasterPrefix, Actions.ForGlobals.ManageNavigationPaths, "U.User", Value.Grant) }); Expect.Call(aclManager.DeleteEntry(dirName, Actions.ForDirectories.List, "U.User")).Return(true); Expect.Call(aclManager.DeleteEntry(dirName, Actions.ForDirectories.UploadFiles, "U.User")).Return(true); mocks.Replay(prov); mocks.Replay(aclManager); Collectors.SettingsProvider = prov; Assert.IsTrue(AuthWriter.RemoveEntriesForDirectory(new UserInfo("User", "User", "*****@*****.**", true, DateTime.Now, null), filesProv, "/Dir/Sub/"), "RemoveEntriesForPage should return true"); mocks.Verify(prov); mocks.Verify(aclManager); }
public void Init_Upgrade() { string testDir = Path.Combine(Environment.GetEnvironmentVariable("TEMP"), Guid.NewGuid().ToString()); Directory.CreateDirectory(testDir); MockRepository mocks = new MockRepository(); IHostV30 host = mocks.DynamicMock<IHostV30>(); Expect.Call(host.GetSettingValue(SettingName.PublicDirectory)).Return(testDir).Repeat.AtLeastOnce(); Expect.Call(host.UpgradePageStatusToAcl(null, 'L')).IgnoreArguments().Repeat.Twice().Return(true); mocks.Replay(host); string file = Path.Combine(host.GetSettingValue(SettingName.PublicDirectory), "Pages.cs"); string categoriesFile = Path.Combine(host.GetSettingValue(SettingName.PublicDirectory), "Categories.cs"); string navPathsFile = Path.Combine(host.GetSettingValue(SettingName.PublicDirectory), "NavigationPaths.cs"); string directory = Path.Combine(host.GetSettingValue(SettingName.PublicDirectory), "Pages"); string messagesDirectory = Path.Combine(host.GetSettingValue(SettingName.PublicDirectory), "Messages"); Directory.CreateDirectory(directory); Directory.CreateDirectory(messagesDirectory); // Structure (Keywords and Description are new in v3) // Page Title // Username|DateTime[|Comment] --- Comment is optional // ##PAGE## // Content... File.WriteAllText(Path.Combine(directory, "Page1.cs"), "Title1\r\nSYSTEM|2008/10/30 20:20:20|Comment\r\n##PAGE##\r\nContent..."); File.WriteAllText(Path.Combine(directory, "Page2.cs"), "Title2\r\nSYSTEM|2008/10/30 20:20:20\r\n##PAGE\r\nContent. [[Page.3]] [Page.3|Link to update]."); File.WriteAllText(Path.Combine(directory, "Page.3.cs"), "Title3\r\nSYSTEM|2008/10/30 20:20:20|Comment\r\n##PAGE\r\nContent..."); // ID|Username|Subject|DateTime|ParentID|Body File.WriteAllText(Path.Combine(messagesDirectory, "Page.3.cs"), "0|User|Hello|2008/10/30 21:21:21|-1|Blah\r\n"); // Structure // [Namespace.]PageName|PageFile|Status|DateTime File.WriteAllText(file, "Page1|Page1.cs|NORMAL|2008/10/30 20:20:20\r\nPage2|Page2.cs|PUBLIC\r\nPage.3|Page.3.cs|LOCKED"); File.WriteAllText(categoriesFile, "Cat1|Page.3\r\nCat.2|Page1|Page2\r\n"); File.WriteAllText(navPathsFile, "Path1|Page1|Page.3\r\nPath2|Page2\r\n"); PagesStorageProvider prov = new PagesStorageProvider(); prov.Init(host, ""); PageInfo[] pages = prov.GetPages(null); Assert.AreEqual(3, pages.Length, "Wrong page count"); Assert.AreEqual("Page1", pages[0].FullName, "Wrong name"); Assert.AreEqual("Page2", pages[1].FullName, "Wrong name"); Assert.AreEqual("Page_3", pages[2].FullName, "Wrong name"); //Assert.IsFalse(prov.GetContent(pages[1]).Content.Contains("Page.3"), "Content should not contain 'Page.3'"); //Assert.IsTrue(prov.GetContent(pages[1]).Content.Contains("Page_3"), "Content should contain 'Page_3'"); Message[] messages = prov.GetMessages(pages[2]); Assert.AreEqual(1, messages.Length, "Wrong message count"); Assert.AreEqual("Hello", messages[0].Subject, "Wrong subject"); CategoryInfo[] categories = prov.GetCategories(null); Assert.AreEqual(2, categories.Length, "Wrong category count"); Assert.AreEqual("Cat1", categories[0].FullName, "Wrong name"); Assert.AreEqual(1, categories[0].Pages.Length, "Wrong page count"); Assert.AreEqual("Page_3", categories[0].Pages[0], "Wrong page"); Assert.AreEqual("Cat_2", categories[1].FullName, "Wrong name"); Assert.AreEqual(2, categories[1].Pages.Length, "Wrong page count"); Assert.AreEqual("Page1", categories[1].Pages[0], "Wrong page"); Assert.AreEqual("Page2", categories[1].Pages[1], "Wrong page"); NavigationPath[] navPaths = prov.GetNavigationPaths(null); Assert.AreEqual(2, navPaths.Length, "Wrong nav path count"); Assert.AreEqual("Path1", navPaths[0].FullName, "Wrong name"); Assert.AreEqual(2, navPaths[0].Pages.Length, "Wrong page count"); Assert.AreEqual("Page1", navPaths[0].Pages[0], "Wrong page"); Assert.AreEqual("Page_3", navPaths[0].Pages[1], "Wrong page"); Assert.AreEqual(1, navPaths[1].Pages.Length, "Wrong page count"); Assert.AreEqual("Page2", navPaths[1].Pages[0], "Wrong page"); mocks.Verify(host); // Simulate another startup - upgrade not needed anymore mocks.BackToRecord(host); Expect.Call(host.GetSettingValue(SettingName.PublicDirectory)).Return(testDir).Repeat.AtLeastOnce(); Expect.Call(host.UpgradePageStatusToAcl(null, 'L')).IgnoreArguments().Repeat.Times(0).Return(false); mocks.Replay(host); prov = new PagesStorageProvider(); prov.Init(host, ""); mocks.Verify(host); Directory.Delete(testDir, true); }
public void SetPermissionForDirectory_User_Grant() { MockRepository mocks = new MockRepository(); ISettingsStorageProviderV30 prov = mocks.DynamicMock<ISettingsStorageProviderV30>(); IFilesStorageProviderV30 filesProv = mocks.DynamicMock<IFilesStorageProviderV30>(); IAclManager aclManager = mocks.DynamicMock<IAclManager>(); Expect.Call(prov.AclManager).Return(aclManager).Repeat.Any(); Expect.Call(aclManager.StoreEntry( Actions.ForDirectories.ResourceMasterPrefix + AuthTools.GetDirectoryName(filesProv, "/"), Actions.ForDirectories.DownloadFiles, "U.User", Value.Grant)).Return(true); mocks.Replay(prov); mocks.Replay(aclManager); Collectors.SettingsProvider = prov; Assert.IsTrue(AuthWriter.SetPermissionForDirectory(AuthStatus.Grant, filesProv, "/", Actions.ForDirectories.DownloadFiles, new UserInfo("User", "User", "*****@*****.**", true, DateTime.Now, null)), "SetPermissionForDirectory should return true"); mocks.Verify(prov); mocks.Verify(aclManager); }
public void Init_Upgrade() { FixtureTearDown(); SqlConnection cn = new SqlConnection(ConnString); cn.Open(); SqlCommand cmd = cn.CreateCommand(); cmd.CommandText = "create database [ScrewTurnWikiTest];"; cmd.ExecuteNonQuery(); cn.Close(); cn = new SqlConnection(ConnString + InitialCatalog); cn.Open(); cmd = cn.CreateCommand(); cmd.CommandText = @"CREATE TABLE [PagesProviderVersion] ( [Version] varchar(12) PRIMARY KEY ); INSERT INTO [PagesProviderVersion] ([Version]) VALUES ('Irrelevant'); create table [Page] ( [Name] nvarchar(128) primary key, [Status] char not null default ('N'), -- (P)ublic, N(ormal), (L)ocked [CreationDateTime] datetime not null ); create table [PageContent] ( [Page] nvarchar(128) references [Page]([Name]) on update cascade on delete cascade, [Revision] int not null default ((-1)), -- -1 for Current Revision [Title] nvarchar(256) not null, [DateTime] datetime not null, [Username] nvarchar(64) not null, [Content] ntext not null, [Comment] nvarchar(128) not null, primary key ([Page], [Revision]) ); create table [Category] ( [Name] nvarchar(128) primary key ); create table [CategoryBinding] ( [Category] nvarchar(128) references [Category]([Name]) on update cascade on delete cascade, [Page] nvarchar(128) references [Page]([Name]) on update cascade on delete cascade, primary key ([Category], [Page]) ); create table [Message] ( [ID] int primary key identity, [Page] nvarchar(128) references [Page]([Name]) on update cascade on delete cascade, [Parent] int not null, -- -1 for no parent [Username] nvarchar(64) not null, [DateTime] datetime not null, [Subject] nvarchar(128) not null, [Body] ntext not null ); create table [Snippet] ( [Name] nvarchar(128) primary key, [Content] ntext not null ); create table [NavigationPath] ( [Name] nvarchar(128) not null primary key ); create table [NavigationPathBinding] ( [NavigationPath] nvarchar(128) not null references [NavigationPath]([Name]) on delete cascade, [Page] nvarchar(128) not null references [Page]([Name]) on update cascade on delete cascade, [Number] int not null, primary key ([NavigationPath], [Page], [Number]) ); insert into [Page] ([Name], [Status], [CreationDateTime]) values ('Page1', 'N', '2008/12/31 12:12:12'); insert into [Page] ([Name], [Status], [CreationDateTime]) values ('Page2', 'L', '2008/12/31 12:12:12'); insert into [Page] ([Name], [Status], [CreationDateTime]) values ('Page.WithDot', 'P', '2008/12/31 12:12:12'); insert into [PageContent] ([Page], [Revision], [Title], [DateTime], [Username], [Content], [Comment]) values ('Page1', -1, 'Page1 Title', '2008/12/31 14:14:14', 'SYSTEM', 'Test Content 1', 'Comment 1'); insert into [PageContent] ([Page], [Revision], [Title], [DateTime], [Username], [Content], [Comment]) values ('Page1', 0, 'Page1 Title 0', '2008/12/31 12:12:12', 'SYSTEM', 'Test Content 0', ''); insert into [PageContent] ([Page], [Revision], [Title], [DateTime], [Username], [Content], [Comment]) values ('Page2', -1, 'Page2 Title', '2008/12/31 14:14:14', 'SYSTEM', 'Test Content 2', 'Comment 2'); insert into [PageContent] ([Page], [Revision], [Title], [DateTime], [Username], [Content], [Comment]) values ('Page.WithDot', -1, 'Page.WithDot Title', '2008/12/31 14:14:14', 'SYSTEM', 'Test Content 3', 'Comment 3'); insert into [Category] ([Name]) values ('Cat1'); insert into [Category] ([Name]) values ('Cat2'); insert into [Category] ([Name]) values ('Cat.WithDot'); insert into [CategoryBinding] ([Category], [Page]) values ('Cat1', 'Page1'); insert into [CategoryBinding] ([Category], [Page]) values ('Cat2', 'Page1'); insert into [CategoryBinding] ([Category], [Page]) values ('Cat1', 'Page2'); insert into [CategoryBinding] ([Category], [Page]) values ('Cat2', 'Page.WithDot'); insert into [CategoryBinding] ([Category], [Page]) values ('Cat.WithDot', 'Page.WithDot'); insert into [Message] ([Page], [Parent], [Username], [DateTime], [Subject], [Body]) values ('Page1', -1, 'SYSTEM', '2008/12/31 16:16:16', 'Test 1', 'Body 1'); insert into [Message] ([Page], [Parent], [Username], [DateTime], [Subject], [Body]) values ('Page1', 0, 'SYSTEM', '2008/12/31 16:16:16', 'Test 1.1', 'Body 1.1'); insert into [Message] ([Page], [Parent], [Username], [DateTime], [Subject], [Body]) values ('Page.WithDot', -1, 'SYSTEM', '2008/12/31 16:16:16', 'Test dot', 'Body dot'); insert into [Snippet] ([Name], [Content]) values ('Snip', 'Content'); insert into [NavigationPath] ([Name]) values ('Path'); insert into [NavigationPathBinding] ([NavigationPath], [Page], [Number]) values ('Path', 'Page1', 1); insert into [NavigationPathBinding] ([NavigationPath], [Page], [Number]) values ('Path', 'Page2', 2); insert into [NavigationPathBinding] ([NavigationPath], [Page], [Number]) values ('Path', 'Page.WithDot', 3);"; bool done = false; try { cmd.ExecuteNonQuery(); done = true; } catch(SqlException sqlex) { Console.WriteLine(sqlex); } finally { cn.Close(); } if(!done) throw new Exception("Could not generate v2 test database"); MockRepository mocks = new MockRepository(); IHostV30 host = mocks.DynamicMock<IHostV30>(); Expect.Call(host.UpgradePageStatusToAcl(null, 'L')).IgnoreArguments().Repeat.Twice().Return(true); mocks.Replay(host); SqlServerPagesStorageProvider prov = new SqlServerPagesStorageProvider(); prov.Init(host, ConnString + InitialCatalog); Snippet[] snippets = prov.GetSnippets(); Assert.AreEqual(1, snippets.Length, "Wrong snippet count"); Assert.AreEqual("Snip", snippets[0].Name, "Wrong snippet name"); Assert.AreEqual("Content", snippets[0].Content, "Wrong snippet content"); PageInfo[] pages = prov.GetPages(null); Assert.AreEqual(3, pages.Length, "Wrong page count"); Assert.AreEqual("Page_WithDot", pages[0].FullName, "Wrong page name"); Assert.AreEqual("Page1", pages[1].FullName, "Wrong page name"); Assert.AreEqual("Page2", pages[2].FullName, "Wrong page name"); Assert.AreEqual("Test Content 3", prov.GetContent(pages[0]).Content, "Wrong content"); Assert.AreEqual("Test Content 1", prov.GetContent(pages[1]).Content, "Wrong content"); Assert.AreEqual("Test Content 0", prov.GetBackupContent(pages[1], 0).Content, "Wrong backup content"); Assert.AreEqual("Test Content 2", prov.GetContent(pages[2]).Content, "Wrong content"); Message[] messages = prov.GetMessages(pages[0]); Assert.AreEqual(1, messages.Length, "Wrong message count"); Assert.AreEqual("Test dot", messages[0].Subject, "Wrong message subject"); CategoryInfo[] categories = prov.GetCategories(null); Assert.AreEqual(3, categories.Length, "Wrong category count"); Assert.AreEqual("Cat_WithDot", categories[0].FullName, "Wrong category name"); Assert.AreEqual(1, categories[0].Pages.Length, "Wrong page count"); Assert.AreEqual("Page_WithDot", categories[0].Pages[0], "Wrong page"); Assert.AreEqual("Cat1", categories[1].FullName, "Wrong category name"); Assert.AreEqual("Page1", categories[1].Pages[0], "Wrong page"); Assert.AreEqual("Page2", categories[1].Pages[1], "Wrong page"); Assert.AreEqual("Cat2", categories[2].FullName, "Wrong category name"); Assert.AreEqual("Page_WithDot", categories[2].Pages[0], "Wrong page"); Assert.AreEqual("Page1", categories[2].Pages[1], "Wrong page"); NavigationPath[] paths = prov.GetNavigationPaths(null); Assert.AreEqual(1, paths.Length, "Wrong navigation path count"); Assert.AreEqual("Path", paths[0].FullName, "Wrong navigation path name"); Assert.AreEqual("Page1", paths[0].Pages[0], "Wrong page"); Assert.AreEqual("Page2", paths[0].Pages[1], "Wrong page"); Assert.AreEqual("Page_WithDot", paths[0].Pages[2], "Wrong page"); mocks.Verify(host); }
public void TestProperties_UsingMock() { var repository = new MockRepository(); var mock = repository.DynamicMock<IBasicProperties>(); Expect.Call(mock.GetSetProperty).Return("one"); Expect.Call(mock.GetOnlyProperty).Return("anyoldthing"); mock.SetOnlyProperty = "two"; repository.Replay(mock); var typeFactory = new CustomStringTypeFactory(); typeFactory.ReturnValues.Enqueue("one"); typeFactory.ReturnValues.Enqueue("two"); var tester = new PropertyTester(mock, typeFactory); tester.IgnoredProperties.Add("ConstructorArguments"); tester.TestProperties(); repository.Verify(mock); }
public void SetPermissionForNamespace_User_Delete() { MockRepository mocks = new MockRepository(); ISettingsStorageProviderV30 prov = mocks.DynamicMock<ISettingsStorageProviderV30>(); IAclManager aclManager = mocks.DynamicMock<IAclManager>(); Expect.Call(prov.AclManager).Return(aclManager).Repeat.Any(); Expect.Call(aclManager.DeleteEntry(Actions.ForNamespaces.ResourceMasterPrefix + "NS", Actions.ForNamespaces.ReadPages, "U.User")).Return(true); mocks.Replay(prov); mocks.Replay(aclManager); Collectors.SettingsProvider = prov; Assert.IsTrue(AuthWriter.SetPermissionForNamespace(AuthStatus.Delete, new NamespaceInfo("NS", null, null), Actions.ForNamespaces.ReadPages, new UserInfo("User", "User", "*****@*****.**", true, DateTime.Now, null)), "SetPermissionForNamespace should return true"); mocks.Verify(prov); mocks.Verify(aclManager); }
public void SetPermissionForNamespace_Group_Grant() { MockRepository mocks = new MockRepository(); ISettingsStorageProviderV30 prov = mocks.DynamicMock<ISettingsStorageProviderV30>(); IAclManager aclManager = mocks.DynamicMock<IAclManager>(); Expect.Call(prov.AclManager).Return(aclManager).Repeat.Any(); Expect.Call(aclManager.StoreEntry(Actions.ForNamespaces.ResourceMasterPrefix, Actions.ForNamespaces.CreatePages, "G.Group", Value.Grant)).Return(true); mocks.Replay(prov); mocks.Replay(aclManager); Collectors.SettingsProvider = prov; Assert.IsTrue(AuthWriter.SetPermissionForNamespace(AuthStatus.Grant, null, Actions.ForNamespaces.CreatePages, new UserGroup("Group", "Descr", null)), "SetPermissionForNamespace should return true"); mocks.Verify(prov); mocks.Verify(aclManager); }
public void SetPermissionForGlobals_Group_Delete() { MockRepository mocks = new MockRepository(); ISettingsStorageProviderV30 prov = mocks.DynamicMock<ISettingsStorageProviderV30>(); IAclManager aclManager = mocks.DynamicMock<IAclManager>(); Expect.Call(prov.AclManager).Return(aclManager).Repeat.Any(); Expect.Call(aclManager.DeleteEntry(Actions.ForGlobals.ResourceMasterPrefix, Actions.ForGlobals.ManageMetaFiles, "G.Group")).Return(true); mocks.Replay(prov); mocks.Replay(aclManager); Collectors.SettingsProvider = prov; Assert.IsTrue(AuthWriter.SetPermissionForGlobals(AuthStatus.Delete, Actions.ForGlobals.ManageMetaFiles, new UserGroup("Group", "Descr", null)), "SetPermissionForGlobals should return true"); mocks.Verify(prov); mocks.Verify(aclManager); }
public void SetUp() { _output = new StringWriter(); _mocks = new MockRepository(); _httpContext = _mocks.DynamicMock<HttpContextBase>(); //new TestHttpContext(); var response = _mocks.DynamicMock<HttpResponseBase>(); SetupResult.For(response.Output).Return(_output); SetupResult.For(_httpContext.Request).Return(_mocks.DynamicMock<HttpRequestBase>()); SetupResult.For(_httpContext.Response).Return(response); // SetupResult.For(_httpContext.Session).Return(_mocks.DynamicMock<HttpSessionStateBase>()); var requestContext = new RequestContext(_httpContext, new RouteData()); _controller = _mocks.StrictMock<Controller>(); _mocks.Replay(_controller); controllerContext = new ControllerContext(requestContext, _controller); // _viewContext = new ViewContext(controllerContext, null, new ViewDataDictionary(), null); _viewEngine = new BooViewEngine { ViewSourceLoader = new FileSystemViewSourceLoader(VIEW_ROOT_DIRECTORY), Options = new BooViewEngineOptions() }; _viewEngine.Initialize(); _mocks.Replay(_httpContext); }
public void RemoveEntriesForPage_User() { MockRepository mocks = new MockRepository(); ISettingsStorageProviderV30 prov = mocks.DynamicMock<ISettingsStorageProviderV30>(); IAclManager aclManager = mocks.DynamicMock<IAclManager>(); Expect.Call(prov.AclManager).Return(aclManager).Repeat.Any(); Expect.Call(aclManager.RetrieveEntriesForSubject("U.User")).Return( new AclEntry[] { new AclEntry(Actions.ForPages.ResourceMasterPrefix + "Page", Actions.ForPages.ManagePage, "U.User", Value.Grant), new AclEntry(Actions.ForPages.ResourceMasterPrefix + "Page", Actions.ForPages.ManageCategories, "U.User", Value.Deny), new AclEntry(Actions.ForPages.ResourceMasterPrefix + "Sub.Page", Actions.ForPages.ManagePage, "U.User", Value.Grant), new AclEntry(Actions.ForGlobals.ResourceMasterPrefix, Actions.ForGlobals.ManageNavigationPaths, "U.User", Value.Grant) }); Expect.Call(aclManager.DeleteEntry(Actions.ForPages.ResourceMasterPrefix + "Page", Actions.ForPages.ManagePage, "U.User")).Return(true); Expect.Call(aclManager.DeleteEntry(Actions.ForPages.ResourceMasterPrefix + "Page", Actions.ForPages.ManageCategories, "U.User")).Return(true); mocks.Replay(prov); mocks.Replay(aclManager); Collectors.SettingsProvider = prov; Assert.IsTrue(AuthWriter.RemoveEntriesForPage(new UserInfo("User", "User", "*****@*****.**", true, DateTime.Now, null), new PageInfo("Page", null, DateTime.Now)), "RemoveEntriesForPage should return true"); mocks.Verify(prov); mocks.Verify(aclManager); }
public void SetPermissionForDirectory_Group_Deny() { MockRepository mocks = new MockRepository(); ISettingsStorageProviderV30 prov = mocks.DynamicMock<ISettingsStorageProviderV30>(); IFilesStorageProviderV30 filesProv = mocks.DynamicMock<IFilesStorageProviderV30>(); IAclManager aclManager = mocks.DynamicMock<IAclManager>(); Expect.Call(prov.AclManager).Return(aclManager).Repeat.Any(); Expect.Call(aclManager.StoreEntry( Actions.ForDirectories.ResourceMasterPrefix + AuthTools.GetDirectoryName(filesProv, "/"), Actions.ForDirectories.CreateDirectories, "G.Group", Value.Deny)).Return(true); mocks.Replay(prov); mocks.Replay(aclManager); Collectors.SettingsProvider = prov; Assert.IsTrue(AuthWriter.SetPermissionForDirectory(AuthStatus.Deny, filesProv, "/", Actions.ForDirectories.CreateDirectories, new UserGroup("Group", "Group", null)), "SetPermissionForDirectory should return true"); mocks.Verify(prov); mocks.Verify(aclManager); }
public void SetPermissionForPage_User_Grant() { MockRepository mocks = new MockRepository(); ISettingsStorageProviderV30 prov = mocks.DynamicMock<ISettingsStorageProviderV30>(); IAclManager aclManager = mocks.DynamicMock<IAclManager>(); Expect.Call(prov.AclManager).Return(aclManager).Repeat.Any(); Expect.Call(aclManager.StoreEntry(Actions.ForPages.ResourceMasterPrefix + "Page", Actions.ForPages.ModifyPage, "U.User", Value.Grant)).Return(true); mocks.Replay(prov); mocks.Replay(aclManager); Collectors.SettingsProvider = prov; Assert.IsTrue(AuthWriter.SetPermissionForPage(AuthStatus.Grant, new PageInfo("Page", null, DateTime.Now), Actions.ForPages.ModifyPage, new UserInfo("User", "User", "*****@*****.**", true, DateTime.Now, null)), "SetPermissionForPage should return true"); mocks.Verify(prov); mocks.Verify(aclManager); }
public void ProcessNamespaceRenaming() { MockRepository mocks = new MockRepository(); ISettingsStorageProviderV30 prov = mocks.DynamicMock<ISettingsStorageProviderV30>(); IAclManager aclManager = mocks.DynamicMock<IAclManager>(); Expect.Call(prov.AclManager).Return(aclManager).Repeat.Any(); Expect.Call(aclManager.RenameResource(Actions.ForNamespaces.ResourceMasterPrefix + "NS", Actions.ForNamespaces.ResourceMasterPrefix + "NS_Renamed")).Return(true); Expect.Call(aclManager.RenameResource(Actions.ForPages.ResourceMasterPrefix + "NS.Page1", Actions.ForPages.ResourceMasterPrefix + "NS_Renamed.Page1")).Return(true); Expect.Call(aclManager.RenameResource(Actions.ForPages.ResourceMasterPrefix + "NS.Page2", Actions.ForPages.ResourceMasterPrefix + "NS_Renamed.Page2")).Return(true); Expect.Call(aclManager.RenameResource(Actions.ForPages.ResourceMasterPrefix + "NS.Page3", Actions.ForPages.ResourceMasterPrefix + "NS_Renamed.Page3")).Return(true); mocks.Replay(prov); mocks.Replay(aclManager); Collectors.SettingsProvider = prov; Assert.IsTrue(AuthWriter.ProcessNamespaceRenaming("NS", new List<string>() { "Page1", "Page2", "Page3" }, "NS_Renamed")); mocks.Verify(prov); mocks.Verify(aclManager); }
public void ProcessPageRenaming() { MockRepository mocks = new MockRepository(); ISettingsStorageProviderV30 prov = mocks.DynamicMock<ISettingsStorageProviderV30>(); IAclManager aclManager = mocks.DynamicMock<IAclManager>(); Expect.Call(prov.AclManager).Return(aclManager).Repeat.Any(); Expect.Call(aclManager.RenameResource(Actions.ForPages.ResourceMasterPrefix + "NS.Page", Actions.ForPages.ResourceMasterPrefix + "NS.Renamed")).Return(true); mocks.Replay(prov); mocks.Replay(aclManager); Collectors.SettingsProvider = prov; Assert.IsTrue(AuthWriter.ProcessPageRenaming("NS.Page", "NS.Renamed"), "ProcessPageRenaming should return true"); mocks.Verify(prov); mocks.Verify(aclManager); }
public void SetPermissionForPage_Group_Deny() { MockRepository mocks = new MockRepository(); ISettingsStorageProviderV30 prov = mocks.DynamicMock<ISettingsStorageProviderV30>(); IAclManager aclManager = mocks.DynamicMock<IAclManager>(); Expect.Call(prov.AclManager).Return(aclManager).Repeat.Any(); Expect.Call(aclManager.StoreEntry(Actions.ForPages.ResourceMasterPrefix + "Page", Actions.ForPages.ManageCategories, "G.Group", Value.Deny)).Return(true); mocks.Replay(prov); mocks.Replay(aclManager); Collectors.SettingsProvider = prov; Assert.IsTrue(AuthWriter.SetPermissionForPage(AuthStatus.Deny, new PageInfo("Page", null, DateTime.Now), Actions.ForPages.ManageCategories, new UserGroup("Group", "Group", null)), "SetPermissionForPage should return true"); mocks.Verify(prov); mocks.Verify(aclManager); }
public void SetUp() { mocks = new MockRepository(); ISettingsStorageProviderV30 settingsProvider = mocks.StrictMock<ISettingsStorageProviderV30>(); Expect.Call(settingsProvider.GetSetting("ProcessSingleLineBreaks")).Return("false").Repeat.Any(); Collectors.SettingsProvider = settingsProvider; IPagesStorageProviderV30 pagesProvider = mocks.StrictMock<IPagesStorageProviderV30>(); Collectors.PagesProviderCollector = new ProviderCollector<IPagesStorageProviderV30>(); Collectors.PagesProviderCollector.AddProvider(pagesProvider); Expect.Call(settingsProvider.GetSetting("DefaultPagesProvider")).Return(pagesProvider.GetType().FullName).Repeat.Any(); PageInfo page1 = new PageInfo("page1", pagesProvider, DateTime.Now); PageContent page1Content = new PageContent(page1, "Page 1", "User", DateTime.Now, "Comment", "Content", null, null); Expect.Call(pagesProvider.GetPage("page1")).Return(page1).Repeat.Any(); Expect.Call(pagesProvider.GetContent(page1)).Return(page1Content).Repeat.Any(); Expect.Call(pagesProvider.GetPage("page2")).Return(null).Repeat.Any(); //Pages.Instance = new Pages(); Host.Instance = new Host(); Expect.Call(settingsProvider.GetSetting("CacheSize")).Return("100").Repeat.Any(); Expect.Call(settingsProvider.GetSetting("CacheCutSize")).Return("20").Repeat.Any(); Expect.Call(settingsProvider.GetSetting("DefaultCacheProvider")).Return(typeof(CacheProvider).FullName).Repeat.Any(); // Cache needs setting to init mocks.Replay(settingsProvider); ICacheProviderV30 cacheProvider = new CacheProvider(); cacheProvider.Init(Host.Instance, ""); Collectors.CacheProviderCollector = new ProviderCollector<ICacheProviderV30>(); Collectors.CacheProviderCollector.AddProvider(cacheProvider); mocks.Replay(pagesProvider); Collectors.FormatterProviderCollector = new ProviderCollector<IFormatterProviderV30>(); //System.Web.UI.HtmlTextWriter writer = new System.Web.UI.HtmlTextWriter(new System.IO.StreamWriter(new System.IO.MemoryStream())); //System.Web.Hosting.SimpleWorkerRequest request = new System.Web.Hosting.SimpleWorkerRequest("Default.aspx", "?Page=MainPage", writer); System.Web.HttpContext.Current = new System.Web.HttpContext(new DummyRequest()); }
public void Trying_to_build_with_an_unknown_exception_will_throw_error_207() { var mocks = new MockRepository(); var builder = mocks.StrictMock<IInstanceBuilder>(); Expect.Call(builder.BuildInstance(null)).Throw(new Exception()); LastCall.IgnoreArguments(); mocks.Replay(builder); assertActionThrowsErrorCode(207, delegate { var instance = new ConfiguredInstance(GetType()); instance.Build(GetType(), new StubBuildSession(), builder); }); }
public void ProcessDirectoryRenaming() { MockRepository mocks = new MockRepository(); ISettingsStorageProviderV30 prov = mocks.DynamicMock<ISettingsStorageProviderV30>(); IFilesStorageProviderV30 filesProv = MockFilesProvider(); IAclManager aclManager = mocks.DynamicMock<IAclManager>(); Expect.Call(prov.AclManager).Return(aclManager).Repeat.Any(); Expect.Call(aclManager.RenameResource( Actions.ForDirectories.ResourceMasterPrefix + AuthTools.GetDirectoryName(filesProv, "/Dir/"), Actions.ForDirectories.ResourceMasterPrefix + AuthTools.GetDirectoryName(filesProv, "/Dir2/"))).Return(true); mocks.Replay(prov); mocks.Replay(aclManager); Collectors.SettingsProvider = prov; Assert.IsTrue(AuthWriter.ProcessDirectoryRenaming(filesProv, "/Dir/", "/Dir2/"), "ProcessDirectoryRenaming should return true"); mocks.Verify(prov); mocks.Verify(aclManager); }