def traverse(self, segments): stack = list(reversed(['+branch'] + segments)) name = stack.pop() request = FakeLaunchpadRequest([], stack) traverser = specification.SpecificationNavigation( self.specification, request) return traverser.publishTraverse(request, name)
def test_missing_person_structural_subscription_traversal(self): # Verify that a NotFound is raised when attempting to reach # a structural subscription for a person that does not exist. request = FakeLaunchpadRequest([], ['doesnotexist']) self.assertRaises( NotFound, self.navigation(self.target, request).publishTraverse, request, '+subscription')
def test_structural_subscription_traversal(self): # Verify that an existing structural subscription can be # reached from the target. request = FakeLaunchpadRequest([], ['eric']) self.assertEqual( self.target.getSubscription(self.eric), self.navigation(self.target, request).publishTraverse(request, '+subscription'))
def traverse(self, segments): """Traverse to 'segments' using a 'PersonNavigation' object. Using the Zope traversal machinery, traverse to the path given by 'segments', starting at a `PersonNavigation` object wrapped around the 'person' attribute. :param segments: A list of path segments. :return: The object found. """ stack = list(reversed(segments)) name = stack.pop() request = FakeLaunchpadRequest(['~' + self.person.name], stack) traverser = PersonNavigation(self.person, request) return traverser.publishTraverse(request, name)
def traverse(self, spph, segments): req = FakeLaunchpadRequest([], segments[1:]) nav = SourcePackagePublishingHistoryNavigation(spph, req) return nav.publishTraverse(req, segments[0])
def test_ignored_stepthrough(self): # The stepthrough is ignored since the next path item is a zope # namespace. request = FakeLaunchpadRequest(['~dummy'], ['++model++']) self.assertEqual('+step', self.traverse(request, '+step')) self.assertEqual('++model++', request.stepstogo.peek())
def test_normal_stepthrough(self): # The stepthrough is processed normally. request = FakeLaunchpadRequest(['~dummy'], ['fred']) self.assertEqual('stepthrough-fred', self.traverse(request, '+step'))