def test_okLink(self): resource = CalendarHomeResource(self.site.resource, "home", object(), StubHome()) self.site.resource.putChild("home", resource) link = LinkResource(resource, "/home/outbox/") resource.putChild("link", link) request = SimpleRequest(self.site, "GET", "/home/link/") linked_to, _ignore = (yield resource.locateChild(request, ["link", ])) self.assertTrue(linked_to is resource.getChild("outbox"))
def test_okLink(self): resource = CalendarHomeResource(self.site.resource, "home", object(), StubHome()) self.site.resource.putChild("home", resource) link = LinkResource(resource, "/home/outbox/") resource.putChild("link", link) request = SimpleRequest(self.site, "GET", "/home/link/") linked_to, _ignore = (yield resource.locateChild(request, ["link", ])) self.assertTrue(linked_to is resource.getChild("outbox"))
def test_badLink(self): resource = CalendarHomeResource(self.site.resource, "home", object(), StubHome()) self.site.resource.putChild("home", resource) link = LinkResource(resource, "/home/outbox/abc") resource.putChild("link", link) request = SimpleRequest(self.site, "GET", "/home/link/") try: yield resource.locateChild(request, ["link", ]) except HTTPError, e: self.assertEqual(e.response.code, responsecode.NOT_FOUND)
def test_badLink(self): resource = CalendarHomeResource(self.site.resource, "home", object(), StubHome()) self.site.resource.putChild("home", resource) link = LinkResource(resource, "/home/outbox/abc") resource.putChild("link", link) request = SimpleRequest(self.site, "GET", "/home/link/") try: yield resource.locateChild(request, ["link", ]) except HTTPError, e: self.assertEqual(e.response.code, responsecode.NOT_FOUND)
def test_recursiveLink(self): resource = CalendarHomeResource(self.site.resource, "home", object(), StubHome()) self.site.resource.putChild("home", resource) link1 = LinkResource(resource, "/home/link2/") resource.putChild("link1", link1) link2 = LinkResource(resource, "/home/link1/") resource.putChild("link2", link2) request = SimpleRequest(self.site, "GET", "/home/link1/") try: yield resource.locateChild(request, ["link1", ]) except HTTPError, e: self.assertEqual(e.response.code, responsecode.LOOP_DETECTED)
def test_recursiveLink(self): resource = CalendarHomeResource(self.site.resource, "home", object(), StubHome()) self.site.resource.putChild("home", resource) link1 = LinkResource(resource, "/home/link2/") resource.putChild("link1", link1) link2 = LinkResource(resource, "/home/link1/") resource.putChild("link2", link2) request = SimpleRequest(self.site, "GET", "/home/link1/") try: yield resource.locateChild(request, ["link1", ]) except HTTPError, e: self.assertEqual(e.response.code, responsecode.LOOP_DETECTED)