private void AssertTextWriterFactoryMemberEquals(StringWriterFactory stringWriterFactory, string name, string resultExpected) { var textWriterData = stringWriterFactory.GetTextWriterData(name); string result = textWriterData.TextWriter.ToString(); Assert.That(result, Is.EqualTo(resultExpected)); }
public void SingleFileOutputCssFileWritingTest() { var stringWriterFactory = new StringWriterFactory(); var settings = new AclExpanderApplicationSettings(); settings.UseMultipleFileOutput = false; settings.Directory = ""; var application = new AclExpanderApplication(stringWriterFactory); application.Run(settings, TextWriter.Null, TextWriter.Null); // Single file HTML output => expect 2 files (CSS, HTML file) Assert.That(stringWriterFactory.Count, Is.EqualTo(2)); const string cssFileName = AclExpanderApplication.CssFileName; TextWriterData cssTextWriterData; bool cssFileExists = stringWriterFactory.NameToTextWriterData.TryGetValue(cssFileName, out cssTextWriterData); Assert.That(cssFileExists, Is.True); string result = cssTextWriterData.TextWriter.ToString(); //Clipboard.SetText (AclExpansionHtmlWriterTest.CreateLiteralResultExpectedString (result)); Assert.That(result, Is.EqualTo(c_cssFileContent)); }
public void TextWriterFactoryResultTest() { using (new CultureScope("en-US")) { var aclExpander = new AclExpander(); var aclExpansionEntryList = aclExpander.GetAclExpansionEntryList(); var stringWriterFactory = new StringWriterFactory(); stringWriterFactory.Directory = ""; stringWriterFactory.Extension = "xYz"; var aclExpansionMultiFileHtmlWriter = new AclExpansionMultiFileHtmlWriter(stringWriterFactory, false); aclExpansionMultiFileHtmlWriter.WriteAclExpansion(aclExpansionEntryList); Assert.That(stringWriterFactory.Count, Is.EqualTo(7)); AssertTextWriterFactoryMemberEquals(stringWriterFactory, "_AclExpansionMain_", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\" \"\"><html><head><title>re-motion ACL Expansion - User Master Table</title><style>@import \"AclExpansion.css\";</style><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /></head><body><table style=\"width: 100%;\" class=\"aclExpansionTable\" id=\"remotion-user-table\"><tr><th class=\"header\">User</th><th class=\"header\">First Name</th><th class=\"header\">Last Name</th><th class=\"header\">Access Rights</th></tr><tr><td>substituting.user</td><td></td><td>substitute</td><td><a href=\".\\substituting.user.xYz\" target=\"_blank\">.\\substituting.user.xYz</a></td></tr><tr><td>test.user</td><td>test</td><td>user</td><td><a href=\".\\test.user.xYz\" target=\"_blank\">.\\test.user.xYz</a></td></tr><tr><td>group0/user1</td><td></td><td>user1</td><td><a href=\".\\group0_user1.xYz\" target=\"_blank\">.\\group0_user1.xYz</a></td></tr><tr><td>group1/user1</td><td></td><td>user1</td><td><a href=\".\\group1_user1.xYz\" target=\"_blank\">.\\group1_user1.xYz</a></td></tr><tr><td>group0/user2</td><td></td><td>user2</td><td><a href=\".\\group0_user2.xYz\" target=\"_blank\">.\\group0_user2.xYz</a></td></tr><tr><td>group1/user2</td><td></td><td>user2</td><td><a href=\".\\group1_user2.xYz\" target=\"_blank\">.\\group1_user2.xYz</a></td></tr></table></body></html>"); AssertTextWriterFactoryMemberEquals(stringWriterFactory, "test.user", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\" \"\"><html><head><title>re-motion ACL Expansion</title><style>@import \"AclExpansion.css\";</style><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /></head><body><table style=\"width: 100%;\" class=\"aclExpansionTable\" id=\"remotion-ACL-expansion-table\"><tr><th class=\"header\">User</th><th class=\"header\">Role</th><th class=\"header\">Class</th><th class=\"header\">States</th><th class=\"header\">User Must Own</th><th class=\"header\">Owning Group Equals</th><th class=\"header\">Owning Tenant Equals</th><th class=\"header\">User Must Have Abstract Role</th><th class=\"header\">Access Rights</th></tr><tr><td rowspan=\"8\">user test, Dipl.Ing.(FH)</td><td rowspan=\"2\">testGroup, Manager</td><td rowspan=\"2\">Order</td><td>DHL, None, Received</td><td></td><td></td><td></td><td></td><td>FirstAccessType</td></tr><tr><td>DHL, None, Received</td><td></td><td></td><td>TestTenant</td><td></td><td>FirstAccessType, Write</td></tr><tr><td rowspan=\"2\">testGroup, Official</td><td rowspan=\"2\">Order</td><td>DHL, None, Received</td><td></td><td></td><td></td><td></td><td>FirstAccessType</td></tr><tr><td>DHL, None, Received</td><td></td><td></td><td>TestTenant</td><td></td><td>FirstAccessType, Write</td></tr><tr><td rowspan=\"2\">testOwningGroup, Manager</td><td rowspan=\"2\">Order</td><td>DHL, None, Received</td><td></td><td></td><td></td><td></td><td>FirstAccessType</td></tr><tr><td>DHL, None, Received</td><td></td><td></td><td>TestTenant</td><td></td><td>FirstAccessType, Write</td></tr><tr><td rowspan=\"2\">testRootGroup, Official</td><td rowspan=\"2\">Order</td><td>DHL, None, Received</td><td></td><td></td><td></td><td></td><td>FirstAccessType</td></tr><tr><td>DHL, None, Received</td><td></td><td></td><td>TestTenant</td><td></td><td>FirstAccessType, Write</td></tr></table></body></html>"); AssertTextWriterFactoryMemberEquals(stringWriterFactory, "group0_user1", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\" \"\"><html><head><title>re-motion ACL Expansion</title><style>@import \"AclExpansion.css\";</style><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /></head><body><table style=\"width: 100%;\" class=\"aclExpansionTable\" id=\"remotion-ACL-expansion-table\"><tr><th class=\"header\">User</th><th class=\"header\">Role</th><th class=\"header\">Class</th><th class=\"header\">States</th><th class=\"header\">User Must Own</th><th class=\"header\">Owning Group Equals</th><th class=\"header\">Owning Tenant Equals</th><th class=\"header\">User Must Have Abstract Role</th><th class=\"header\">Access Rights</th></tr><tr><td rowspan=\"2\">user1</td><td rowspan=\"2\">PG0 (parentGroup0), Manager</td><td rowspan=\"2\">Order</td><td>DHL, None, Received</td><td></td><td></td><td></td><td></td><td>FirstAccessType</td></tr><tr><td>DHL, None, Received</td><td></td><td></td><td>TestTenant</td><td></td><td>FirstAccessType, Write</td></tr></table></body></html>"); AssertTextWriterFactoryMemberEquals(stringWriterFactory, "group1_user1", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\" \"\"><html><head><title>re-motion ACL Expansion</title><style>@import \"AclExpansion.css\";</style><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /></head><body><table style=\"width: 100%;\" class=\"aclExpansionTable\" id=\"remotion-ACL-expansion-table\"><tr><th class=\"header\">User</th><th class=\"header\">Role</th><th class=\"header\">Class</th><th class=\"header\">States</th><th class=\"header\">User Must Own</th><th class=\"header\">Owning Group Equals</th><th class=\"header\">Owning Tenant Equals</th><th class=\"header\">User Must Have Abstract Role</th><th class=\"header\">Access Rights</th></tr><tr><td rowspan=\"2\">user1</td><td rowspan=\"2\">PG1 (parentGroup1), Manager</td><td rowspan=\"2\">Order</td><td>DHL, None, Received</td><td></td><td></td><td></td><td></td><td>FirstAccessType</td></tr><tr><td>DHL, None, Received</td><td></td><td></td><td>TestTenant</td><td></td><td>FirstAccessType, Write</td></tr></table></body></html>"); AssertTextWriterFactoryMemberEquals(stringWriterFactory, "group0_user2", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\" \"\"><html><head><title>re-motion ACL Expansion</title><style>@import \"AclExpansion.css\";</style><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /></head><body><table style=\"width: 100%;\" class=\"aclExpansionTable\" id=\"remotion-ACL-expansion-table\"><tr><th class=\"header\">User</th><th class=\"header\">Role</th><th class=\"header\">Class</th><th class=\"header\">States</th><th class=\"header\">User Must Own</th><th class=\"header\">Owning Group Equals</th><th class=\"header\">Owning Tenant Equals</th><th class=\"header\">User Must Have Abstract Role</th><th class=\"header\">Access Rights</th></tr><tr><td rowspan=\"2\">user2</td><td rowspan=\"2\">PG0 (parentGroup0), Official</td><td rowspan=\"2\">Order</td><td>DHL, None, Received</td><td></td><td></td><td></td><td></td><td>FirstAccessType</td></tr><tr><td>DHL, None, Received</td><td></td><td></td><td>TestTenant</td><td></td><td>FirstAccessType, Write</td></tr></table></body></html>"); AssertTextWriterFactoryMemberEquals(stringWriterFactory, "group1_user2", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\" \"\"><html><head><title>re-motion ACL Expansion</title><style>@import \"AclExpansion.css\";</style><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /></head><body><table style=\"width: 100%;\" class=\"aclExpansionTable\" id=\"remotion-ACL-expansion-table\"><tr><th class=\"header\">User</th><th class=\"header\">Role</th><th class=\"header\">Class</th><th class=\"header\">States</th><th class=\"header\">User Must Own</th><th class=\"header\">Owning Group Equals</th><th class=\"header\">Owning Tenant Equals</th><th class=\"header\">User Must Have Abstract Role</th><th class=\"header\">Access Rights</th></tr><tr><td rowspan=\"2\">user2</td><td rowspan=\"2\">PG1 (parentGroup1), Official</td><td rowspan=\"2\">Order</td><td>DHL, None, Received</td><td></td><td></td><td></td><td></td><td>FirstAccessType</td></tr><tr><td>DHL, None, Received</td><td></td><td></td><td>TestTenant</td><td></td><td>FirstAccessType, Write</td></tr></table></body></html>"); } }