def get_with_index_calls_get_with_id_from_list(self): ''' Revision(index=-2).get() calls request with -2th id of revisions ''' # save o_revision_list = springnote.Revision.list page = self.page index = -2 id = 4567 verbose = True rev1 = Revision(parent=page, id=id) rev2 = Revision(parent=page, id=id+1) rev1.date_created = 1 rev2.date_created = 2 springnote.Revision.list = lambda *args, **kwarg: [rev2, rev1] # calls revision.get() rev = Revision(parent=page, index=index) run = lambda: rev.get(verbose=verbose) url = "/pages/%d/revisions/%d." % (page.id, id) should_call_method(springnote.Revision, 'request', when=run, arg=with_at_least(eq(rev), contains_string(url), verbose=eq(verbose))) # restore springnote.Revision.list = o_revision_list
def get_with_too_large_index_raises_exception(self): ''' Revision(index=-10000).get() with no such revision raises error ''' # save o_revision_list = springnote.Revision.list page = self.page index = -10000 # too big! id = 4567 verbose = True rev1, rev2 = Revision(parent=page, id=id), Revision(parent=page, id=id+1) rev1.date_created, rev2.date_created = 1, 2 springnote.Revision.list = lambda *args, **kwarg: [rev2, rev1] # calls revision.get() run = lambda: Revision(parent=page, index=index).get(verbose=verbose) should_raise(springnote.SpringnoteError.InvalidOption, when=run) # restore springnote.Revision.list = o_revision_list