Example #1
0
 public void SetUp()
 {
     using (var tmp = new TempFile())
       {
     tmp.WriteAllText (c_manifest);
     var securityConfiguration = DesktopGapConfigurationProvider.Create ("", tmp.FileName).GetConfiguration();
     _urlRules = securityConfiguration.Security.NonApplicationUrlRules;
       }
 }
        public void Xml_UseInvalidTagNames_ShouldThrowConfigurationErrorsException()
        {
            using (var tempFile = new TempFile())
              {
            var stringBuilder = new StringBuilder (c_manifestHead);

            stringBuilder.Append (OpenTag ("invalid"));

            var attributes = new Dictionary<string, string> { { c_domainAttribute, ".*" }, { c_pathAttribute, ".*" } };

            stringBuilder.Append (InlineTag (c_addTagName, attributes));

            stringBuilder.Append (CloseTag ("invalid"));

            stringBuilder.Append (c_manifestTail);

            tempFile.WriteAllText (stringBuilder.ToString());
            var configurationProvider = DesktopGapConfigurationProvider.Create ("", tempFile.FileName);
            Assert.That (() => configurationProvider.GetConfiguration(), Throws.InstanceOf<ConfigurationErrorsException>());
              }
        }
        public void Xml_ValidAddInTagAllow_ShouldSucceed()
        {
            var name = "valid.module.name";
              using (var tempFile = new TempFile())
              {
            var stringBuilder = new StringBuilder (c_manifestHead);
            stringBuilder.Append (InlineTag (c_applicationTagName, new Dictionary<string, string> { { c_baseUrlAttribute, "base.url.com" } }));

            stringBuilder.Append (OpenTag (c_securityTagName));
            stringBuilder.Append (OpenTag (c_addInsTagName));

            var attributes = new Dictionary<string, string> { { c_nameAttribute, name } };

            stringBuilder.Append (InlineTag (c_addTagName, attributes));

            stringBuilder.Append (CloseTag (c_addInsTagName));
            stringBuilder.Append (CloseTag (c_securityTagName));

            stringBuilder.Append (c_manifestTail);

            tempFile.WriteAllText (stringBuilder.ToString());

            var rules = DesktopGapConfigurationProvider.Create ("", tempFile.FileName).GetConfiguration().Security.AddInRules.ToArray();
            var actual = rules.First().Name;

            Assert.That (actual == name, Is.True);
              }
        }
        public void Xml_ValidAllowedNonApplicationUrlsPatternTag_ShouldSucceed()
        {
            var domain = ".*";
              var path = ".*";

              using (var tempFile = new TempFile())
              {
            var stringBuilder = new StringBuilder (c_manifestHead);
            stringBuilder.Append (InlineTag (c_applicationTagName, new Dictionary<string, string> { { c_baseUrlAttribute, "base.url.com" } }));

            stringBuilder.Append (OpenTag (c_securityTagName));

            stringBuilder.Append (OpenTag (c_thirdPartyUrlsTagName));

            var attributes = new Dictionary<string, string>
                         {
                             { c_domainAttribute, domain },
                             { c_pathAttribute, path },
                             { c_patternAttribute, true.ToString() }
                         };

            stringBuilder.Append (InlineTag (c_addTagName, attributes));

            stringBuilder.Append (CloseTag (c_thirdPartyUrlsTagName));
            stringBuilder.Append (CloseTag (c_securityTagName));

            stringBuilder.Append (c_manifestTail);

            tempFile.WriteAllText (stringBuilder.ToString());

            var rules = DesktopGapConfigurationProvider.Create ("", tempFile.FileName).GetConfiguration().Security.NonApplicationUrlRules.ToArray();
            var actualDomainExpression = rules.First().DomainExpression;
            var actualPathExpression = rules.First().PathExpression;

            Assert.That (
            (actualDomainExpression.ToString() == domain) &&
            (actualPathExpression.ToString() == path),
            Is.True);
              }
        }
        public void Xml_UseMinimalConfiguration_ShouldSucceed()
        {
            using (var tempFile = new TempFile())
              {
            var stringBuilder = new StringBuilder (c_manifestHead);

            stringBuilder.Append (InlineTag (c_applicationTagName, new Dictionary<string, string> { { c_baseUrlAttribute, "base.url.com" } }));

            stringBuilder.Append (c_manifestTail);

            tempFile.WriteAllText (stringBuilder.ToString());
            var configurationProvider = DesktopGapConfigurationProvider.Create ("", tempFile.FileName);
            Assert.That (() => configurationProvider.GetConfiguration(), Throws.Nothing);
              }
        }