Пример #1
0
 public void AValidSchemeDoesNotStartWithADigit()
 {
     // when it does not start with a digit, then it's valid
     Assert.That(WebRequestTracerStringURL.IsValidURLScheme("a1://some.host"), Is.True);
     // when it starts with a digit, then it's invalid
     Assert.That(WebRequestTracerStringURL.IsValidURLScheme("1a://some.host"), Is.False);
 }
Пример #2
0
        public void IfURLIsInvalidTheDefaultValueIsUsed()
        {
            // given
            var target = new WebRequestTracerStringURL(logger, beacon, 42, "foobar");

            // then
            Assert.That(target.URL, Is.EqualTo("<unknown>"));
        }
Пример #3
0
        public void AnURLIsOnlySetInConstructorIfItIsValid()
        {
            // given
            var target = new WebRequestTracerStringURL(logger, beacon, 21, "a1337://foo");

            // then
            Assert.That(target.URL, Is.EqualTo("a1337://foo"));
        }
Пример #4
0
        public IWebRequestTracer TraceWebRequest(string url)
        {
            if (string.IsNullOrEmpty(url))
            {
                logger.Warn($"{this}TraceWebRequest (String): url must not be null or empty");
                return(NullWebRequestTracer);
            }
            if (!WebRequestTracerStringURL.IsValidURLScheme(url))
            {
                logger.Warn($"{this}TraceWebRequest (String): url \"{url}\" does not have a valid scheme");
                return(NullWebRequestTracer);
            }
            if (logger.IsDebugEnabled)
            {
                logger.Debug($"{this}TraceWebRequest (String) ({url})");
            }
            if (!IsSessionEnded)
            {
                return(new WebRequestTracerStringURL(logger, beacon, 0, url));
            }

            return(NullWebRequestTracer);
        }
Пример #5
0
        public IWebRequestTracer TraceWebRequest(string url)
        {
            if (string.IsNullOrEmpty(url))
            {
                logger.Warn(this + "TraceWebRequest (String): url must not be null or empty");
                return(NullWebRequestTracer);
            }
            if (!WebRequestTracerStringURL.IsValidURLScheme(url))
            {
                logger.Warn(this + $"TraceWebRequest (String): url \"{url}\" does not have a valid scheme");
                return(NullWebRequestTracer);
            }
            if (logger.IsDebugEnabled)
            {
                logger.Debug(this + "TraceWebRequest (String) (" + url + ")");
            }
            if (!IsActionLeft)
            {
                return(new WebRequestTracerStringURL(logger, beacon, ID, url));
            }

            return(NullWebRequestTracer);
        }
Пример #6
0
 public void ASchemeIsInvalidIfInvalidCharactersAreEncountered()
 {
     // then
     Assert.That(WebRequestTracerStringURL.IsValidURLScheme("a()[]{}@://some.host"), Is.False);
 }
Пример #7
0
 public void AValidSchemeAllowsUpperCaseLettersToo()
 {
     // when the url scheme contains all allowed characters
     Assert.That(WebRequestTracerStringURL.IsValidURLScheme("Obp1e+nZK6i.t-://some.host"), Is.True);
 }
Пример #8
0
 public void AValidSchemeOnlyContainsLettersDigitsPlusPeriodOrHyphen()
 {
     // when the url scheme contains all allowed characters
     Assert.That(WebRequestTracerStringURL.IsValidURLScheme("b1+Z6.-://some.host"), Is.True);
 }
Пример #9
0
 public void AValidSchemeStartsWithALetter()
 {
     // when starting with lower case letter, then
     Assert.That(WebRequestTracerStringURL.IsValidURLScheme("a://some.host"), Is.True);
 }
Пример #10
0
 public void NullIsNotAValidURLScheme()
 {
     // then
     Assert.That(WebRequestTracerStringURL.IsValidURLScheme(null), Is.False);
 }