public void TestReloadsChangedPolicies() { LocalPolicyCache lpc = new LocalPolicyCache(m_testFiles.RootPath, false); PollingInterval.Interval = new TimeSpan(0, 0, 0); Assert.AreEqual(lpc.PolicySets.Count, 2); IPolicySetCache lps = lpc.GetPolicySet("policyset2"); LocalPolicySetVersionCache ver = lps.LatestVersion as LocalPolicySetVersionCache; Assert.AreEqual(ver.ID, 1); LocalPolicyCatalogueCache master = ver.MasterCatalogue as LocalPolicyCatalogueCache; Assert.AreEqual(master.ID, 2); IPolicySetVersionCache lpsv = lps.LatestVersion; Assert.AreEqual("this is the content of the policyset xml", lpsv.Content); System.Threading.Thread.Sleep(500); // make sure the timestamp is different when we change the file UpdatePolicy2(); lps = lpc.GetPolicySet("policyset2"); ver = lps.LatestVersion as LocalPolicySetVersionCache; Assert.AreEqual(ver.ID, 1); master = ver.MasterCatalogue as LocalPolicyCatalogueCache; Assert.AreEqual(master.ID, 2); lpsv = lps.LatestVersion; Assert.AreEqual("this is the new content of the policyset xml", lpsv.Content); PollingInterval.Interval = new TimeSpan(0, 0, 10); }
public void TestModifiedFlag() { LocalPolicyCache lpc = new LocalPolicyCache(m_testFiles.RootPath, false); IPolicySetCache lps = lpc.GetPolicySet("policyset2"); LocalPolicySetVersionCache ver = lps.LatestVersion as LocalPolicySetVersionCache; Assert.IsFalse(ver.Modified); ver.Content = "changes"; Assert.IsTrue(ver.Modified); }
public void TestModifiedFlagOnLanguageChange() { LocalPolicyCache lpc = new LocalPolicyCache(m_testFiles.RootPath, false); IPolicySetCache lps = lpc.GetPolicySet("policyset2"); LocalPolicySetVersionCache ver = lps.LatestVersion as LocalPolicySetVersionCache; Assert.IsFalse(ver.Modified); LocalPolicyCatalogueCache master = ver.MasterCatalogue as LocalPolicyCatalogueCache; LocalPolicyLanguageTableCache lang = master.Languages[0] as LocalPolicyLanguageTableCache; lang.Content = "changes"; Assert.IsTrue(ver.Modified); }
public void TestIDSetForEachObject() { LocalPolicyCache lpc = new LocalPolicyCache(m_testFiles.RootPath, false); IPolicySetCache lps = lpc.GetPolicySet("policyset2"); LocalPolicySetVersionCache ver = lps.LatestVersion as LocalPolicySetVersionCache; Assert.AreEqual(ver.ID, 1); LocalPolicyCatalogueCache master = ver.MasterCatalogue as LocalPolicyCatalogueCache; Assert.AreEqual(master.ID, 2); LocalPolicyLanguageTableCache lang_master_en = master.Languages[0] as LocalPolicyLanguageTableCache; LocalPolicyLanguageTableCache lang_master_jp = master.Languages[1] as LocalPolicyLanguageTableCache; Assert.AreEqual(lang_master_en.ID, 3); Assert.AreEqual(lang_master_jp.ID, 4); LocalPolicyCatalogueCache refcat = ver.ReferenceCatalogues[0] as LocalPolicyCatalogueCache; Assert.AreEqual(refcat.ID, 5); LocalPolicyLanguageTableCache lang_ref_en = refcat.Languages[0] as LocalPolicyLanguageTableCache; LocalPolicyLanguageTableCache lang_ref_jp = refcat.Languages[1] as LocalPolicyLanguageTableCache; Assert.AreEqual(lang_ref_en.ID, 6); Assert.AreEqual(lang_ref_jp.ID, 7); LocalCompiledPolicySetCache cps = ver.CompiledPolicySets[0] as LocalCompiledPolicySetCache; Assert.AreEqual(cps.ID, 8); LocalPolicyLanguageTableCache lang_cps_en = cps.Languages[0] as LocalPolicyLanguageTableCache; LocalPolicyLanguageTableCache lang_cps_jp = cps.Languages[1] as LocalPolicyLanguageTableCache; Assert.AreEqual(lang_cps_en.ID, 9); Assert.AreEqual(lang_cps_jp.ID, 10); }
public void TestIDSavedForEachObject() { LocalPolicyCache cache = new LocalPolicyCache(m_testFiles.RootPath, false); LocalPolicySetCache set = cache.NewPolicySet("steve") as LocalPolicySetCache; LocalPolicySetVersionCache ver = set.LatestVersion as LocalPolicySetVersionCache; ver.ID = 100; LocalPolicyCatalogueCache master = ver.NewMasterCatalogue("hello") as LocalPolicyCatalogueCache; master.ID = 101; LocalPolicyLanguageTableCache lang = master.NewLanguage("en", "stuff", true) as LocalPolicyLanguageTableCache; lang.ID = 102; set.Save(SaveOption.SaveOnly); LocalPolicyCache cache2 = new LocalPolicyCache(m_testFiles.RootPath, false); LocalPolicySetCache set2 = cache2.GetPolicySet("steve") as LocalPolicySetCache; LocalPolicySetVersionCache ver2 = set2.LatestVersion as LocalPolicySetVersionCache; Assert.AreEqual(ver2.ID, 100); LocalPolicyCatalogueCache master2 = ver2.MasterCatalogue as LocalPolicyCatalogueCache; Assert.AreEqual(master2.ID, 101); LocalPolicyLanguageTableCache lang2 = master2.Languages[0] as LocalPolicyLanguageTableCache; Assert.AreEqual(lang2.ID, 102); System.IO.File.Delete(m_testFiles.RootPath + "steve" + Definitions.PolicyFileExtension); }
public void TestSaveAs() { LocalPolicyCache cache = new LocalPolicyCache(m_testFiles.RootPath, false); LocalPolicySetCache set = cache.GetPolicySet("policyset1") as LocalPolicySetCache; Assert.IsNotNull(set); Assert.IsTrue(System.IO.File.Exists(m_testFiles.RootPath + "policyset1" + Definitions.PolicyFileExtension)); string newfile = Guid.NewGuid().ToString(); set.SaveAs(SaveOption.SaveOnly, newfile); Assert.IsTrue(System.IO.File.Exists(m_testFiles.RootPath + newfile + Definitions.PolicyFileExtension)); System.IO.File.Delete(m_testFiles.RootPath + newfile + Definitions.PolicyFileExtension); }
public void TestCreateDefaultPolicyPack() { LocalPolicyCache cache = new LocalPolicyCache(m_testFiles.RootPath, false); LocalPolicySetCache set = cache.NewPolicySet("P5-default") as LocalPolicySetCache; Assert.IsNotNull(set); string policy = m_testFiles.GetXmlFromResource(this.GetType(), "Workshare.Policy.ClientCache.Tests.TestFiles.Default.p5-policy.xml"); string catalogue = m_testFiles.GetXmlFromResource(this.GetType(), "Workshare.Policy.ClientCache.Tests.TestFiles.Default.p5-cat.xml"); string language = m_testFiles.GetXmlFromResource(this.GetType(), "Workshare.Policy.ClientCache.Tests.TestFiles.Default.p5-en.xml"); string smtp_client_policy = m_testFiles.GetXmlFromResource(this.GetType(), "Workshare.Policy.ClientCache.Tests.TestFiles.Default.p5_beta_client_rules.xml"); string smtp_client_objects = m_testFiles.GetXmlFromResource(this.GetType(), "Workshare.Policy.ClientCache.Tests.TestFiles.Default.p5_beta_client_objects.xml"); string smtp_server_policy = m_testFiles.GetXmlFromResource(this.GetType(), "Workshare.Policy.ClientCache.Tests.TestFiles.Default.p5_beta_server_smtp_rules.xml"); string smtp_server_objects = m_testFiles.GetXmlFromResource(this.GetType(), "Workshare.Policy.ClientCache.Tests.TestFiles.Default.p5_beta_server_smtp_objects.xml"); string http_server_policy = m_testFiles.GetXmlFromResource(this.GetType(), "Workshare.Policy.ClientCache.Tests.TestFiles.Default.p5_beta_server_http_rules.xml"); string http_server_objects = m_testFiles.GetXmlFromResource(this.GetType(), "Workshare.Policy.ClientCache.Tests.TestFiles.Default.p5_beta_server_http_objects.xml"); string file_client_policy = m_testFiles.GetXmlFromResource(this.GetType(), "Workshare.Policy.ClientCache.Tests.TestFiles.Default.p5_beta_client_activecontent_rules.xml"); string file_client_objects = m_testFiles.GetXmlFromResource(this.GetType(), "Workshare.Policy.ClientCache.Tests.TestFiles.Default.p5_beta_client_activecontent_objects.xml"); string smart_tag_policy = m_testFiles.GetXmlFromResource(this.GetType(), "Workshare.Policy.ClientCache.Tests.TestFiles.Default.p5_beta_client_smarttag_policy.xml"); LocalPolicySetVersionCache version = set.LatestVersion as LocalPolicySetVersionCache; version.Content = policy; LocalPolicyCatalogueCache masterCat = version.NewMasterCatalogue(catalogue) as LocalPolicyCatalogueCache; masterCat.NewLanguage("en", language, true); version.NewCompiledPolicySet("SMTP", "Client", smtp_client_policy, smtp_client_objects); version.NewCompiledPolicySet("SMTP", "Server", smtp_server_policy, smtp_server_objects); version.NewCompiledPolicySet("HTTP", "Server", http_server_policy, http_server_objects); version.NewCompiledPolicySet("ActiveContent", "Client", file_client_policy, file_client_objects); version.NewCompiledPolicySet("SmartTagActiveContent", "Client", smart_tag_policy, string.Empty); string p5policyfile = System.IO.Path.GetTempFileName(); set.ExportCompiledPolicySet(p5policyfile); LocalPolicySetCache newset = cache.GetPolicySet("P5-default") as LocalPolicySetCache; Assert.IsNotNull(newset); //System.IO.File.Copy(p5policyfile, Workshare.TestUtils.TestFileUtils.MakeRootPathAbsolute(@"\Projects\Hygiene\Policies\p5default.policy"), true); System.IO.File.Delete(p5policyfile); System.IO.File.Delete(m_testFiles.RootPath + "P5-default" + Definitions.PolicyFileExtension); }
public void TestDisallowChangesToCurrentVersionAfterNewVersion() { LocalPolicyCache cache = new LocalPolicyCache(m_testFiles.RootPath, false); LocalPolicySetCache set = cache.GetPolicySet("policyset1") as LocalPolicySetCache; LocalPolicySetVersionCache ver1 = set.GetVersion("1.0") as LocalPolicySetVersionCache; LocalPolicySetVersionCache ver2 = set.GetVersion("2.0") as LocalPolicySetVersionCache; LocalPolicySetVersionCache ver3 = set.GetVersion("3.0") as LocalPolicySetVersionCache; CacheTestHelper.TestVersionIsReadOnly(ver1); CacheTestHelper.TestVersionIsReadOnly(ver2); set.NewVersion("content"); CacheTestHelper.TestVersionIsReadOnly(ver3); }
public void TestExportPolicySetToFile() { string originalsetname = Guid.NewGuid().ToString(); string originalsetfilename = originalsetname + Definitions.PolicyFileExtension; System.IO.File.Copy(m_testFiles.RootPath + "policyset1" + Definitions.PolicyFileExtension, m_testFiles.RootPath + originalsetfilename, true); LocalPolicyCache cache = new LocalPolicyCache(m_testFiles.RootPath, false); LocalPolicySetCache set = cache.GetPolicySet(originalsetname) as LocalPolicySetCache; string tempfile = System.IO.Path.GetTempFileName(); set.ExportCompiledPolicySet(tempfile); Assert.AreEqual(set.LatestVersion.Status, PolicySetVersionStatus.Enabled); LocalPolicySetCache exportset = new LocalPolicySetCache(tempfile); Assert.IsNotNull(exportset); Assert.AreEqual(exportset.LatestVersion.Status, PolicySetVersionStatus.Enabled); System.IO.File.Delete(cache.LocalBasePath + originalsetfilename); System.IO.File.Delete(tempfile); }
public void TestDisallowChangesToPreviousVersions() { LocalPolicyCache cache = new LocalPolicyCache(m_testFiles.RootPath, false); LocalPolicySetCache set = cache.GetPolicySet("policyset1") as LocalPolicySetCache; Assert.AreEqual(set.Id, "policyset1"); Assert.AreEqual(set.PolicySetVersions.Count, 3); LocalPolicySetVersionCache latestVersion = set.LatestVersion as LocalPolicySetVersionCache; Assert.IsNotNull(latestVersion); LocalPolicySetVersionCache ver1 = set.GetVersion("1.0") as LocalPolicySetVersionCache; LocalPolicySetVersionCache ver2 = set.GetVersion("2.0") as LocalPolicySetVersionCache; LocalPolicySetVersionCache ver3 = set.GetVersion("3.0") as LocalPolicySetVersionCache; Assert.IsFalse(ver1.Latest); Assert.IsFalse(ver2.Latest); Assert.AreEqual(ver3, latestVersion); CacheTestHelper.TestVersionIsReadOnly(ver1); CacheTestHelper.TestVersionIsReadOnly(ver2); }
public void TestAddSuperSetAndSave() { string policySet3 = m_testFiles.RootPath + "policyset3" + Definitions.PolicyFileExtension; System.IO.File.Copy(m_testFiles.PolicySet1, policySet3, true); LocalPolicyCache cache = new LocalPolicyCache(m_testFiles.RootPath, false); LocalPolicySetCache lps = cache.GetPolicySet("policyset3") as LocalPolicySetCache; IPolicySetVersionCache lpsv_old = lps.LatestVersion; string policyset1_v4 = m_testFiles.GetXmlFromResource(this.GetType(), "Workshare.Policy.ClientCache.Tests.TestFiles.TestPolicySet_1.4.0.version"); IPolicySetVersionCache lpsv_new = lps.NewSuperSet(policyset1_v4, PolicySetVersionStatus.InProgress); Assert.IsFalse(lpsv_old.Latest); Assert.IsTrue(lpsv_new.Latest); Assert.AreEqual(lpsv_new.Version, "4.0"); lps.Save(SaveOption.SaveOnly); IPolicySetCache lps_new = new LocalPolicySetCache(policySet3); IPolicySetVersionCache lpsv_new_new = lps_new.LatestVersion; Assert.AreEqual(lpsv_new_new.Version, "4.0"); System.IO.File.Delete(policySet3); }
public void TestLocalPolicySetProperties() { LocalPolicyCache lpc = new LocalPolicyCache(m_testFiles.RootPath, false); IPolicySetCache lps = lpc.GetPolicySet("policyset1"); IPolicySetVersionCache lpsv = lps.LatestVersion; Assert.AreEqual(lpsv.Version, "3.0"); Assert.AreEqual(lpsv.Status, PolicySetVersionStatus.Enabled); }
public void TestNonRuntimePolicyNotLoadableFromRuntimeCache() { string policy = Path.Combine(LocalPolicyCache.LOCAL_BASEPATH_COMMON, "PolicySetA.policy"); try { File.Copy(TestUtils.TestFileUtils.MakeRootPathAbsolute(@"\projects\Hygiene\src\PolicySuite.Tests\TestFiles\PolicySetA.policy"), policy); Assert.IsTrue(File.Exists(policy)); LocalPolicyCache cache = new LocalPolicyCache(true); Assert.AreEqual(0, cache.PolicySets.Count, "We should still not be able to see policy files in the runtime cache."); Assert.IsNull(cache.GetPolicySet(policy), "It should not be possible to load a policy into this cache, so this should return null."); } finally { if (File.Exists(policy)) { File.Delete(policy); Assert.IsFalse(File.Exists(policy)); } } }
public void TestRuntimePolicyLoadableFromNonRuntimePolicyCache() { string policy = Path.Combine(LocalPolicyCache.LOCAL_BASEPATH_COMMON, "PolicySetA.runtimepolicy"); try { File.Copy(TestUtils.TestFileUtils.MakeRootPathAbsolute(@"\projects\Hygiene\src\PolicySuite.Tests\TestFiles\PolicySetA.runtimepolicy"), policy); Assert.IsTrue(File.Exists(policy)); LocalPolicyCache cache = new LocalPolicyCache(false); Assert.AreEqual(0, cache.PolicySets.Count, "by default, runtime policies will not be read during the initialisation stage, so will not be visible yet."); Assert.IsNotNull(cache.GetPolicySet(policy), "It should be possible to load a runtime policy into this cache if you explicity ask to."); } finally { if (File.Exists(policy)) { File.Delete(policy); Assert.IsFalse(File.Exists(policy)); } } }