public void Test_17_MoveActionsAndCommitViaResourceManager() { string basePath = "Win32\\"; if (Marshal.SizeOf(typeof(IntPtr)) == 8) basePath = "x64\\"; #if DEBUG basePath += "debug\\"; #else basePath += "release\\"; #endif string assembly1 = Workshare.TestUtils.TestFileUtils.MakeRootPathAbsolute(basePath + @"Workshare.Policy.Actions.BlockUserAction.dll"); string assembly2 = Workshare.TestUtils.TestFileUtils.MakeRootPathAbsolute(basePath + @"Workshare.Policy.Actions.AlertUserAction.dll"); string assembly3 = Workshare.TestUtils.TestFileUtils.MakeRootPathAbsolute(basePath + @"Workshare.Policy.Actions.CleanUserAction.dll"); string assembly4 = Workshare.TestUtils.TestFileUtils.MakeRootPathAbsolute(basePath + @"Workshare.Policy.Actions.PDFUserAction.dll"); string assembly5 = Workshare.TestUtils.TestFileUtils.MakeRootPathAbsolute(basePath + @"Workshare.Policy.Actions.ZipUserAction.dll"); string assembly6 = Workshare.TestUtils.TestFileUtils.MakeRootPathAbsolute(basePath + @"Workshare.Policy.Actions.TagMimeAction.dll"); IResourceManager resourceManager = ResourceManagerFactory.CreateResourceManager(""); resourceManager.ResourceActions.Add(assembly1); resourceManager.ResourceActions.Add(assembly2); resourceManager.ResourceActions.Add(assembly3); resourceManager.ResourceActions.Add(assembly4); resourceManager.ResourceActions.Add(assembly5); resourceManager.ResourceActions.Add(assembly6); ResourceListController controller = new ResourceListController(); controller.ResourceManager = resourceManager; // Store the actions and their order IResourceActions storedActions = ResourceManagerFactory.CreateResourceActions(); // Check the standard actions have been installed and are in the default order Assert.IsTrue(resourceManager.ResourceActions.Count == 6, "Expected 6 actions to be installed - this test should be run on a standard, clean, install"); int i = 0; string[] expectedActionNamesDefault = {"Block", "Alert", "Clean", "PDF", "Zip", "Email Subject Tagger"}; foreach (IResourceAction resourceAction in resourceManager.ResourceActions) { Assert.IsTrue(String.Compare(expectedActionNamesDefault[i], resourceAction.Name) == 0, String.Format(System.Globalization.CultureInfo.CurrentCulture, "Action name expected: {0}, actual: {1}", expectedActionNamesDefault[i], resourceAction.Name)); i++; } controller.Remove(1); controller.Remove(2); // Commit the changes controller.Commit(); i = 0; string[] expectedActionNamesAfterMove = { "Block", "Clean", "Zip", "Email Subject Tagger" }; foreach (IResourceAction resourceAction in resourceManager.ResourceActions) { Assert.IsTrue(String.Compare(expectedActionNamesAfterMove[i], resourceAction.Name) == 0, String.Format(System.Globalization.CultureInfo.CurrentCulture, "Action name expected: {0}, actual: {1}", expectedActionNamesAfterMove[i], resourceAction.Name)); i++; } }
public ActionAddInManagerUI(IResourceManager resourceManager) : base(WorkshareFormUtility.DialogLevel.Secondary) { InitializeComponent(); m_controller = new ResourceListController(); checkedListBox1.SuspendLayout(); try { m_controller.ResourceManager = resourceManager; foreach (IResourceAction action in m_controller) { checkedListBox1.Items.Add(action.Name); } UpdateList(); checkedListBox1.ItemCheck += new ItemCheckEventHandler(checkedListBox1_ItemCheck); checkedListBox1.SelectedIndex = checkedListBox1.Items.Count > 0 ? 0 : -1; } finally { checkedListBox1.ResumeLayout(); } }
public void Test_18_TestResourceActionNameValidation() { ResourceListController resourceListController = new ResourceListController(); string errorMessage; //empty name bool validationResult = resourceListController.ValidateResourceActionName(@" ", out errorMessage); Assert.IsFalse(validationResult, "Should not allow empty resource action names"); Assert.AreEqual(Properties.AdminUIResources.ACTION_NAME_INVALID_EMPTY, errorMessage, "incorrect error on empty resource action names"); //begins with space errorMessage = null; validationResult = resourceListController.ValidateResourceActionName(@" A Property Name", out errorMessage); Assert.IsFalse(validationResult, "Should not allow resource action name beginning with space"); Assert.AreEqual(String.Format(CultureInfo.CurrentCulture, Properties.AdminUIResources.ACTION_NAME_INVALID_CHAR, " ", "1"), errorMessage, "incorrect error on resource action name beginning with space"); //invalid filename char errorMessage = null; validationResult = resourceListController.ValidateResourceActionName(@"A Property*Name", out errorMessage); Assert.IsFalse(validationResult, "Should not allow resource action name containing special file name chars"); Assert.AreEqual(String.Format(CultureInfo.CurrentCulture, Properties.AdminUIResources.ACTION_NAME_INVALID_CHAR, "*", "11"), errorMessage, "incorrect error on resource action name containing special file name chars"); //too long errorMessage = null; string name = @"A Resource Action Name that is too long cos there is a limit on exactly how long it can be and for very good reason"; Assert.IsTrue(name.Length > ResourceListController.ACTION_NAME_MAX_LENGTH, "test setup failure - test name is not long enough"); validationResult = resourceListController.ValidateResourceActionName(name, out errorMessage); Assert.IsFalse(validationResult, "Should not allow resource action name that is too long"); Assert.AreEqual(String.Format(CultureInfo.CurrentCulture, Properties.AdminUIResources.ACTION_NAME_INVALID_LENGTH, ResourceListController.ACTION_NAME_MAX_LENGTH.ToString(CultureInfo.CurrentCulture)), errorMessage, "incorrect error on resource action name that is too long"); //ah... just right errorMessage = null; validationResult = resourceListController.ValidateResourceActionName("A resource action name", out errorMessage); Assert.IsTrue(validationResult, "Should not complain about this resource action name"); Assert.AreEqual(string.Empty, errorMessage, "incorrect error on valid resource action name"); }
public void Test_19_TestAllowPreAddNameChange() { ResourceListController resourceListController = new ResourceListController(); IResourceAction resourceAction = ResourceManagerFactory.CreateResourceAction(); resourceAction.Template = false; Assert.IsFalse(resourceListController.AllowPreAddNameChange(resourceAction), "Shouldn't allow pre-add name change on non-template action"); resourceAction.Template = true; Assert.IsTrue(resourceListController.AllowPreAddNameChange(resourceAction), "Shouldn allow pre-add name change on non-template action"); }