Exemplo n.º 1
0
        public void TestStrMatch()
        {
            var target  = new MockManosTarget();
            var rh      = new RouteHandler("^foo", HttpMethod.HTTP_GET, target);
            var request = new MockHttpRequest(HttpMethod.HTTP_GET, "foo");

            Assert.AreEqual(target, rh.Find(request), "should-match");

            request = new MockHttpRequest(HttpMethod.HTTP_GET, "garbage-foo");
            Assert.IsNull(rh.Find(request), "garbage-input");
        }
Exemplo n.º 2
0
        public void TestSetPatternsNull()
        {
            var target  = new MockManosTarget();
            var rh      = new RouteHandler("^foo", HttpMethod.HTTP_GET, target);
            var request = new MockHttpRequest(HttpMethod.HTTP_GET, "foo");

            Assert.AreEqual(target, rh.Find(request), "sanity-1");

            rh.Patterns = null;

            Assert.IsNull(rh.Find(request), "is null");
        }
Exemplo n.º 3
0
        public void TestStrMatchDeep()
        {
            var target = new MockManosTarget();
            var rh     = new RouteHandler("foo/", HttpMethod.HTTP_GET)
            {
                new RouteHandler("bar", HttpMethod.HTTP_GET, target),
            };

            var request = new MockHttpRequest(HttpMethod.HTTP_GET, "foo/bar");

            Assert.AreEqual(target, rh.Find(request));

            request = new MockHttpRequest(HttpMethod.HTTP_GET, "foo/foo");
            Assert.IsNull(rh.Find(request), "repeate-input");

            request = new MockHttpRequest(HttpMethod.HTTP_GET, "foo/badbar");
            Assert.IsNull(rh.Find(request), "matched-input");
        }
Exemplo n.º 4
0
        public void UriParamsTest()
        {
            var rh      = new RouteHandler("(?<name>.+)", HttpMethod.HTTP_GET, new ActionTarget(FakeAction));
            var request = new MockHttpRequest(HttpMethod.HTTP_GET, "hello");

            Should.NotBeNull(rh.Find(request), "target");

            Should.NotBeNull(request.UriData, "uri-data");

            Assert.AreEqual("hello", request.UriData ["name"]);
        }
Exemplo n.º 5
0
        public void TestChangePatterns()
        {
            //
            // Ensure that changing the patterns property works.
            // This is a bit of an edge case because internally
            // the patterns strings are cached as an array of
            // regexes.
            //

            var target = new MockManosTarget ();
            var rh = new RouteHandler ("^foo", "GET", target);
            var request = new MockHttpRequest ("GET", "foo");

            Assert.AreEqual (target, rh.Find (request), "sanity-1");

            rh.Patterns [0] = "baz";
            Assert.IsNull (rh.Find (request), "sanity-2");

            request = new MockHttpRequest ("GET", "baz");
            Assert.AreEqual (target, rh.Find (request), "changed");
        }
Exemplo n.º 6
0
        public void TestChangePatterns()
        {
            //
            // Ensure that changing the patterns property works.
            // This is a bit of an edge case because internally
            // the patterns strings are cached as an array of
            // regexes.
            //

            var target  = new MockManosTarget();
            var rh      = new RouteHandler("^foo", HttpMethod.HTTP_GET, target);
            var request = new MockHttpRequest(HttpMethod.HTTP_GET, "foo");

            Assert.AreEqual(target, rh.Find(request), "sanity-1");

            rh.Patterns [0] = "baz";
            Assert.IsNull(rh.Find(request), "sanity-2");

            request = new MockHttpRequest(HttpMethod.HTTP_GET, "baz");
            Assert.AreEqual(target, rh.Find(request), "changed");
        }
Exemplo n.º 7
0
        public void Find_PartialMatchAtBeginningOfChildlessHandler_ReturnsProperRoute()
        {
            var rh_bad = new RouteHandler ("foo", "GET", new ActionTarget (FakeAction));
            var rh_good = new RouteHandler ("foobar", "GET", new ActionTarget (FakeAction2));
            var rh = new RouteHandler ();

            rh.Children.Add (rh_bad);
            rh.Children.Add (rh_good);

            var request = new MockHttpRequest ("GET", "foobar");
            var res = rh.Find (request);

            Assert.AreEqual (rh_good.Target, res);
        }
Exemplo n.º 8
0
        public void Find_PartialMatchAtBeginningOfChildlessHandler_ReturnsProperRoute()
        {
            var rh_bad  = new RouteHandler("foo", HttpMethod.HTTP_GET, new ActionTarget(FakeAction));
            var rh_good = new RouteHandler("foobar", HttpMethod.HTTP_GET, new ActionTarget(FakeAction2));
            var rh      = new RouteHandler();

            rh.Children.Add(rh_bad);
            rh.Children.Add(rh_good);


            var request = new MockHttpRequest(HttpMethod.HTTP_GET, "foobar");
            var res     = rh.Find(request);

            Assert.AreEqual(rh_good.Target, res);
        }
Exemplo n.º 9
0
        public void UriParamsTestDeep()
        {
            var rh = new RouteHandler("(?<animal>.+)/", HttpMethod.HTTP_GET)
            {
                new RouteHandler("(?<name>.+)", HttpMethod.HTTP_GET, new ActionTarget(FakeAction)),
            };
            var request = new MockHttpRequest(HttpMethod.HTTP_GET, "dog/roxy");

            Should.NotBeNull(rh.Find(request), "target");

            Should.NotBeNull(request.UriData, "uri-data");

            Assert.AreEqual("dog", request.UriData ["animal"]);
            Assert.AreEqual("roxy", request.UriData ["name"]);
        }
Exemplo n.º 10
0
        public void Find_PartialMatchAtBeginningOfChildlessHandler_ReturnsProperRoute()
        {
            IMatchOperation fooOp = MatchOperationFactory.Create("foo", MatchType.String);
            IMatchOperation foobarOp = MatchOperationFactory.Create("foobar", MatchType.String);
            var rh_bad = new RouteHandler(fooOp, HttpMethod.HTTP_GET, new ActionTarget(FakeAction));
            var rh_good = new RouteHandler(foobarOp, HttpMethod.HTTP_GET, new ActionTarget(FakeAction2));
            var rh = new RouteHandler();

            rh.Add(rh_bad);
            rh.Add(rh_good);

            var request = new MockHttpRequest(HttpMethod.HTTP_GET, "foobar");
            IManosTarget res = rh.Find(request);

            Assert.AreEqual(rh_good.Target, res);
        }
Exemplo n.º 11
0
        public void Find_PartialMatchAtBeginningOfHandlerWithChildren_ReturnsProperRoute()
        {
            var rh_bad = new RouteHandler ("foo", HttpMethod.HTTP_GET);
            var rh_good = new RouteHandler ("foobar", HttpMethod.HTTP_GET, new ActionTarget (FakeAction2));
            var rh = new RouteHandler ();

            rh_bad.Children.Add (new RouteHandler ("blah", HttpMethod.HTTP_GET, new ActionTarget (FakeAction)));

            rh.Children.Add (rh_bad);
            rh.Children.Add (rh_good);

            var request = new MockHttpRequest (HttpMethod.HTTP_GET, "foobar");
            var res = rh.Find (request);

            Assert.AreEqual (rh_good.Target, res);
        }
Exemplo n.º 12
0
        public void TestStrMatchDeep()
        {
            var target = new MockManosTarget ();
            var rh = new RouteHandler ("foo/", "GET") {
                new RouteHandler ("bar", "GET", target),
            };

            var request = new MockHttpRequest ("GET", "foo/bar");
            Assert.AreEqual (target, rh.Find (request));

            request = new MockHttpRequest ("GET", "foo/foo");
            Assert.IsNull (rh.Find (request), "repeate-input");

            request = new MockHttpRequest ("GET", "foo/badbar");
            Assert.IsNull (rh.Find (request), "matched-input");
        }
Exemplo n.º 13
0
        public void TestStrMatch()
        {
            IMatchOperation op = MatchOperationFactory.Create("^foo", MatchType.Regex);
            var target = new MockManosTarget();
            var rh = new RouteHandler(op, HttpMethod.HTTP_GET, target);
            var request = new MockHttpRequest(HttpMethod.HTTP_GET, "foo");

            Assert.AreEqual(target, rh.Find(request), "should-match");

            request = new MockHttpRequest(HttpMethod.HTTP_GET, "garbage-foo");
            Assert.IsNull(rh.Find(request), "garbage-input");
        }
Exemplo n.º 14
0
        public void TestStrMatchDeep()
        {
            IMatchOperation fooOp = MatchOperationFactory.Create("foo/", MatchType.String);
            IMatchOperation barOp = MatchOperationFactory.Create("bar", MatchType.String);
            var target = new MockManosTarget();
            var rh = new RouteHandler(fooOp, HttpMethod.HTTP_GET)
                         {
                             new RouteHandler(barOp, HttpMethod.HTTP_GET, target),
                         };

            var request = new MockHttpRequest(HttpMethod.HTTP_GET, "foo/bar");
            Assert.AreEqual(target, rh.Find(request));

            request = new MockHttpRequest(HttpMethod.HTTP_GET, "foo/foo");
            Assert.IsNull(rh.Find(request), "repeate-input");

            request = new MockHttpRequest(HttpMethod.HTTP_GET, "foo/badbar");
            Assert.IsNull(rh.Find(request), "matched-input");
        }
Exemplo n.º 15
0
        public void UriParamsTest()
        {
            IMatchOperation fooOp = MatchOperationFactory.Create("(?<name>.+)", MatchType.Regex);
            var rh = new RouteHandler(fooOp, HttpMethod.HTTP_GET, new ActionTarget(FakeAction));
            var request = new MockHttpRequest(HttpMethod.HTTP_GET, "hello");

            Should.NotBeNull(rh.Find(request), "target");

            Should.NotBeNull(request.UriData, "uri-data");

            Assert.AreEqual("hello", request.UriData["name"]);
        }
Exemplo n.º 16
0
        public void UriParamsTestDeep()
        {
            IMatchOperation animalOp = MatchOperationFactory.Create("(?<animal>.+)/", MatchType.Regex);
            IMatchOperation nameOp = MatchOperationFactory.Create("(?<name>.+)", MatchType.Regex);
            var rh = new RouteHandler(animalOp, HttpMethod.HTTP_GET)
                         {
                             new RouteHandler(nameOp, HttpMethod.HTTP_GET, new ActionTarget(FakeAction)),
                         };

            var request = new MockHttpRequest(HttpMethod.HTTP_GET, "dog/roxy");

            Should.NotBeNull(rh.Find(request), "target");

            Should.NotBeNull(request.UriData, "uri-data");

            Assert.AreEqual("dog", request.UriData["animal"]);
            Assert.AreEqual("roxy", request.UriData["name"]);
        }
Exemplo n.º 17
0
        public void UriParamsTestDeep()
        {
            var rh = new RouteHandler ("(?<animal>.+)/", "GET") {
                new RouteHandler ("(?<name>.+)", "GET", new ActionTarget (FakeAction)),
            };
            var request = new MockHttpRequest ("GET", "dog/roxy");

            Should.NotBeNull (rh.Find (request), "target");

            Should.NotBeNull (request.UriData, "uri-data");

            Assert.AreEqual ("dog", request.UriData ["animal"]);
            Assert.AreEqual ("roxy", request.UriData ["name"]);
        }
Exemplo n.º 18
0
        public void TestSetPatternsNull()
        {
            IMatchOperation fooOp = MatchOperationFactory.Create("^foo", MatchType.Regex);

            var target = new MockManosTarget();
            var rh = new RouteHandler(fooOp, HttpMethod.HTTP_GET, target);
            var request = new MockHttpRequest(HttpMethod.HTTP_GET, "foo");

            Assert.AreEqual(target, rh.Find(request), "sanity-1");

            rh.MatchOps = null;

            Assert.IsNull(rh.Find(request), "is null");
        }
Exemplo n.º 19
0
        public void TestStrMatch()
        {
            var target = new MockManosTarget ();
            var rh = new RouteHandler ("^foo", "GET", target);
            var request = new MockHttpRequest ("GET", "foo");

            Assert.AreEqual (target, rh.Find (request), "should-match");

            request = new MockHttpRequest ("GET", "garbage-foo");
            Assert.IsNull (rh.Find (request), "garbage-input");
        }
Exemplo n.º 20
0
        public void TestSetPatternsNull()
        {
            var target = new MockManosTarget ();
            var rh = new RouteHandler ("^foo", "GET", target);
            var request = new MockHttpRequest ("GET", "foo");

            Assert.AreEqual (target, rh.Find (request), "sanity-1");

            rh.Patterns = null;

            Assert.IsNull (rh.Find (request), "is null");
        }
Exemplo n.º 21
0
        public void UriParamsTest()
        {
            var rh = new RouteHandler ("(?<name>.+)", "GET", new ActionTarget (FakeAction));
            var request = new MockHttpRequest ("GET", "hello");

            Should.NotBeNull (rh.Find (request), "target");

            Should.NotBeNull (request.UriData, "uri-data");

            Assert.AreEqual ("hello", request.UriData ["name"]);
        }
Exemplo n.º 22
0
        public void TestChangePatterns()
        {
            //
            // Ensure that changing the patterns property works.
            // This is a bit of an edge case because internally
            // the patterns strings are cached as an array of
            // regexes.
            //
            IMatchOperation fooOp = MatchOperationFactory.Create("^foo", MatchType.Regex);
            var target = new MockManosTarget();
            var rh = new RouteHandler(fooOp, HttpMethod.HTTP_GET, target);
            var request = new MockHttpRequest(HttpMethod.HTTP_GET, "foo");

            Assert.AreEqual(target, rh.Find(request), "sanity-1");

            rh.MatchOps[0] = MatchOperationFactory.Create("baz", MatchType.Regex);

            Assert.IsNull(rh.Find(request), "sanity-2");

            request = new MockHttpRequest(HttpMethod.HTTP_GET, "baz");
            Assert.AreEqual(target, rh.Find(request), "changed");
        }