/Collaboris.Saf.Tests/Tests/ActionDefinition/ActionDefinitionCacheTests.cs
# · C# · 207 lines · 131 code · 44 blank · 32 comment · 15 complexity · 20c76d2b9bfed5dc35a2256ec336b60d MD5 · raw file
- namespace Collaboris.Saf.Tests.Tests.ActionDefinition
- {
- using System.Collections.Generic;
- using System.Collections.ObjectModel;
- using System.Diagnostics;
- using System.Xml;
-
- using Definitions;
-
- using Microsoft.VisualStudio.TestTools.UnitTesting;
-
- using SharePoint.Wss.Attributes;
-
- using Utilities;
-
- /// <summary>
- /// Summary description for MSBuildTests
- /// </summary>
- [TestClass]
- public class ActionDefinitionCacheTests
- {
- /// <summary>
- /// Runs Before all tests.
- /// </summary>
- /// <param name="testContext">The test context.</param>
- [ClassInitialize]
- public static void BeforeAllTests(TestContext testContext)
- {
- }
-
- /// <summary>
- /// Uses the Execute SQL Test to ensure we have full utilised cache
- /// and that we can retrieve definition from collaboris.Saf.
- /// </summary>
- [TestMethod]
- public void Test_For_Known_Class_In_Clb_Saf()
- {
- string fourPart =
- "Collaboris.Saf.Actions.SQL.ExecuteSQL,Collaboris.Saf, Version=2.0.0.0, Culture=neutral, PublicKeyToken=182db3eac6a9e195";
-
- string knownClassToTestFor = ActionReflector.Convert4PartTypeNameToKey(fourPart);
-
- CollaborisClassAttribute attribute = ActionReflector.GetClassAttribute(fourPart);
- SafClassDefinition definition = SafDefinitionCache.SafClassDefinitions[knownClassToTestFor];
- Assert.IsTrue(definition.ReleaseStatus == attribute.ReleaseStatus);
- Assert.IsTrue(definition.Title == attribute.Title);
- Assert.IsTrue(definition.Summary == attribute.Summary);
- Assert.IsTrue(definition.ContactAuthorEmail == attribute.ContactAuthorEmail);
- }
-
- /// <summary>
- /// Uses the Execute SQL Test to ensure we have full utilised cache
- /// and that we can retrieve definition from collaboris.Saf.Actions.MOSS
- /// </summary>
- [TestMethod]
- public void Test_For_Known_Class_In_Clb_Saf_MOSS()
- {
- string fourPart =
- "Collaboris.Saf.Actions.Moss.Publishing.PublishPage,Collaboris.Saf.Actions.Moss, Version=2.0.0.0, Culture=neutral, PublicKeyToken=182db3eac6a9e195";
- string knownClassToTestFor = ActionReflector.Convert4PartTypeNameToKey(fourPart);
-
- CollaborisClassAttribute attribute = ActionReflector.GetClassAttribute(fourPart);
- SafClassDefinition definition = SafDefinitionCache.SafClassDefinitions[knownClassToTestFor];
- Assert.IsTrue(definition.ReleaseStatus == attribute.ReleaseStatus);
- Assert.IsTrue(definition.Title == attribute.Title);
- Assert.IsTrue(definition.Summary == attribute.Summary);
- Assert.IsTrue(definition.ContactAuthorEmail == attribute.ContactAuthorEmail);
- }
-
- /// <summary>
- /// Uses the Execute SQL Test to ensure we have full utilised cache
- /// and that we can retrieve definition from collaboris.Saf.Actions.WSS
- /// </summary>
- [TestMethod]
- public void Test_For_Known_Class_In_Clb_Saf_WSS()
- {
- string fourPart = "Collaboris.Saf.Actions.Wss.Web.CreateWeb,Collaboris.Saf.Actions.Wss, Version=2.0.0.0, Culture=neutral, PublicKeyToken=182db3eac6a9e195";
- string knownClassToTestFor = ActionReflector.Convert4PartTypeNameToKey(fourPart);
-
- CollaborisClassAttribute attribute = ActionReflector.GetClassAttribute(fourPart);
- SafClassDefinition definition = SafDefinitionCache.SafClassDefinitions[knownClassToTestFor];
- Assert.IsTrue(definition.ReleaseStatus == attribute.ReleaseStatus);
- Assert.IsTrue(definition.Title == attribute.Title);
- Assert.IsTrue(definition.Summary == attribute.Summary);
- Assert.IsTrue(definition.ContactAuthorEmail == attribute.ContactAuthorEmail);
- }
-
- /// <summary>
- /// Tests to see that the Action Properties get set ok - corresponding to
- /// Saf Attribute set on the entity
- /// </summary>
- [TestMethod]
- public void Test_Action_Properties_Definitions_Resolve()
- {
- string fourPart =
- "Collaboris.Saf.Actions.Wss.Web.CreateWeb,Collaboris.Saf.Actions.Wss, Version=2.0.0.0, Culture=neutral, PublicKeyToken=182db3eac6a9e195";
- string knownClassToTestFor = ActionReflector.Convert4PartTypeNameToKey(fourPart);
- string genericTypeName = ActionReflector.GetSoleEntityType(fourPart).FullName;
-
- CollaborisPropertyAttribute attribute = ActionReflector.GetSafPropertyAttribute(fourPart, "EntityList");
- SafClassDefinition definition = SafDefinitionCache.SafClassDefinitions[knownClassToTestFor];
-
- Assert.IsTrue(definition.Properties["EntityList"].Title == attribute.Title);
- Assert.IsTrue(definition.Properties["EntityList"].Summary== attribute.Summary);
- Assert.IsTrue(definition.Properties["EntityList"].ReadMore == attribute.ReadMore);
-
- // Test the short cuts
- //Assert.IsTrue(definition.EntityDefinition.Title == attribute.Title);
- //Assert.IsTrue(definition.EntityDefinition.Summary == attribute.Summary);
-
- }
-
- /// <summary>
- /// Creates an object definition
- /// </summary>
- [TestMethod]
- public void Test_That_Spring_Returns_Correct_Xml_For_Action()
- {
- string fourPart =
- "Collaboris.Saf.Actions.Wss.Wrappers.StsAdmin, Collaboris.Saf.Actions.Wss, Version=2.0.0.0, Culture=neutral, PublicKeyToken=182db3eac6a9e195";
- string knownClassToTestFor = ActionReflector.Convert4PartTypeNameToKey(fourPart);
-
- SafClassDefinition definition = SafDefinitionCache.SafClassDefinitions[knownClassToTestFor];
-
- // or used like this ....
- // SafClassDefinition definition = SafDefinitionCache.SafClassDefinitions.Find(typeof(Collaboris.Saf.Actions.Templating.NVelocity));
-
- // returns the class definition represented as Spring.
- string springXml = "<Root>" + definition.ToSpring() + "</Root>";
-
- XmlDocument xmlDocument = new XmlDocument();
- xmlDocument.LoadXml(springXml);
- }
-
- [TestMethod]
- public void Test_That_Aliasing_works_on_a_tricky_Generic_Action()
- {
- string fourPart =
- "Collaboris.Saf.Actions.Powershell.ExecutePowershell, Collaboris.Saf, Version=2.0.0.0, Culture=neutral, PublicKeyToken=182db3eac6a9e195";
- string knownClassToTestFor = ActionReflector.Convert4PartTypeNameToKey(fourPart);
-
- SafClassDefinition definition = SafDefinitionCache.SafClassDefinitions[knownClassToTestFor];
-
- string alias = definition.Alias;
-
- SafPropertyDefinitionCollection allProperties = definition.Properties;
- SafPropertyDefinition entityProperty = allProperties["EntityList"];
-
- Assert.IsTrue(entityProperty.ClassDefinition.IsGeneric);
- Assert.IsTrue(entityProperty.ClassDefinition.Alias == "Entity.PowershellScriptInfo");
-
-
-
- }
-
- [TestMethod]
- public void Test_that_Complex_Property_But_Not_Saf_Class_Works()
- {
- string fourPart =
- "Collaboris.Saf.Actions.Powershell.ExecutePowershell, Collaboris.Saf, Version=2.0.0.0, Culture=neutral, PublicKeyToken=182db3eac6a9e195";
- string knownClassToTestFor = ActionReflector.Convert4PartTypeNameToKey(fourPart);
-
- SafClassDefinition definition = SafDefinitionCache.SafClassDefinitions[knownClassToTestFor];
- SafPropertyDefinition propDefinition =
- definition.Properties["EntityList"].ClassDefinition.Properties["DoScript"].ClassDefinition.Properties["Commands"];
-
- SafClassDefinition powershellDefinition =
- definition.Properties["EntityList"].ClassDefinition.Properties["DoScript"].ClassDefinition;
- definition.AssignParent(null);
-
- string stsXml = definition.ToStsAdm(true);
- string msBuildXml = definition.ToMSBuild(true, false);
- string springXml = definition.ToSpring(false, false);
- string macroXml = definition.ToSpring(true, false);
-
-
-
- }
-
- [TestMethod]
- public void Test_That_The_Namespaces_Come_Back_And_That_we_Have_A_Few_Known_Ones()
- {
- ReadOnlyCollection<string> namespaces = SafDefinitionCache.SafFilteredNamespaces;
-
- foreach (string s in namespaces)
- {
- Debug.Write(s);
- }
-
- Assert.IsTrue(namespaces.Contains("Collaboris.Saf.Actions.SQL"));
- }
-
- [TestMethod]
- public void Test_That_We_Can_Get_Namespace_By_Assembly_Name()
- {
- ReadOnlyCollection<string> namespaces = SafDefinitionCache.GetFilteredNamespacesByAssembly("Collaboris.Saf");
-
- foreach (string s in namespaces)
- {
- Debug.Write(s);
- }
-
- Assert.IsTrue(namespaces.Contains("Collaboris.Saf.Actions.SQL"));
- }
-
- }
- }