def testGetRequestedTid(self):
     view = ZodbInfoView(self.root, TestRequest())
     self.assertEqual(view.getRequestedTid(), None)
     self.assertEqual(view.getRequestedTidNice(), None)
     view = ZodbInfoView(self.root,
                         TestRequest(form={'tid': '12345678912345678'}))
     self.assertEqual(view.getRequestedTid(), '12345678912345678')
     self.assertEqual(view.getRequestedTidNice(),
                      '1905-05-13 03:32:22.050327')
 def createView(self, obj):
     view = ZodbInfoView(obj, TestRequest())
     view.obj = obj
     view.state = ZodbObjectStateStub(view.obj)
     view.requestedTid = None
     view.getRootOid = lambda: 1
     return view
Beispiel #3
0
 def test_getDisassembledPickleData(self):
     view = ZodbInfoView(None, None)
     view.state = ZodbObjectStateStub(PersistentStub())
     view.state.pickledState = b''
     self.assertEqual(
         view.getDisassembledPickleData(),
         'ValueError: pickle exhausted before seeing STOP\n\n'
         'ValueError: pickle exhausted before seeing STOP\n')
 def test_getBreadcrumbsHTML(self):
     view = ZodbInfoView(None, None)
     view.getBreadcrumbs = lambda: [('/', 'here'), ('foo>', 'so"there'),
                                    ('/', None), ('bar<baz', None)]
     self.assertEqual(
         view.getBreadcrumbsHTML(), '<a href="here">/</a>'
         '<a href="so&quot;there">foo&gt;</a>'
         '/bar&lt;baz')
 def testGetUrl(self):
     view = self._zodbInfoView(self.root, TestRequest())
     self.assertEqual(view.getUrl(),
                      '@@zodbbrowser?oid=0x%x' % u64(self.root._p_oid))
     view = self._zodbInfoView(self.root, TestRequest())
     self.assertEqual(view.getUrl(1, 2), '@@zodbbrowser?oid=0x1&tid=0x2')
     view = ZodbInfoView(self.root, TestRequest(form={'tid': '2'}))
     self.assertEqual(view.getUrl(1), '@@zodbbrowser?oid=0x1&tid=2')
 def test_listItems(self):
     view = ZodbInfoView(None, None)
     view.state = ZodbObjectStateStub(PersistentStub())
     view.state.requestedTid = 42
     view.state.listItems = lambda: [('zoinks', 17), ('scoobysnack', None)]
     self.assertEqual(view.listItems(), [
         ZodbObjectAttribute('zoinks', 17, 42),
         ZodbObjectAttribute('scoobysnack', None, 42)
     ])
 def test_loadHistoricalState(self):
     view = ZodbInfoView(None, None)
     view.obj = None
     view.history = [{}]  # injected fault: KeyError('tid')
     self.assertEqual(view._loadHistoricalState(),
                      [{
                          'state': {},
                          'error': "KeyError: 'tid'"
                      }, {
                          'state': {},
                          'error': None
                      }])
 def test_jar_uses_explicit_target_db(self):
     stub_db = DatabaseStub()
     registry = getGlobalSiteManager()
     registry.registerUtility(stub_db, IDatabase, name='<target>')
     self.addCleanup(registry.unregisterUtility,
                     stub_db,
                     IDatabase,
                     name='<target>')
     view = ZodbInfoView(object(), TestRequest())
     self.assertEqual(view.jar.db, stub_db)
     del view
     gc.collect()
     self.assertEqual(stub_db.opened, 0)
 def testFindClosestPersistent(self):
     view = ZodbInfoView(self.root['stub']['member'], TestRequest())
     self.assertEqual(view.findClosestPersistent(), self.root['stub'])
     view = ZodbInfoView(self.root['stub']['member']['notpersistent'],
                         TestRequest())
     self.assertEqual(view.findClosestPersistent(), None)
 def test_listAttributes_none_exist(self):
     view = ZodbInfoView(None, None)
     view.state = ZodbObjectStateStub(PersistentStub())
     view.state.requestedTid = 42
     view.state.listAttributes = lambda: None
     self.assertEqual(view.listAttributes(), None)
 def testSelectObjectToView_find_parent_fail(self):
     view = ZodbInfoView(self.root['stub']['member']['notpersistent'],
                         TestRequest())
     self.assertRaises(Exception, view.selectObjectToView)
 def test_getPath(self):
     view = ZodbInfoView(None, None)
     view.getBreadcrumbs = lambda: [('/', None), ('foo', None), ('/', None),
                                    ('bar baz', None)]
     self.assertEqual(view.getPath(), '/foo/bar baz')
 def testGetJar(self):
     view = ZodbInfoView(self.root, TestRequest())
     self.assertEqual(view.jar, self.root._p_jar)
     view = ZodbInfoView(self.root['stub']['member'], TestRequest())
     self.assertEqual(view.jar, self.root._p_jar)
 def testSelectObjectToView_find_parent(self):
     view = ZodbInfoView(self.root['stub']['member'], TestRequest())
     self.assertEqual(view.selectObjectToView(), self.root['stub'])
 def test_listItems_empty(self):
     view = ZodbInfoView(None, None)
     view.state = ZodbObjectStateStub(PersistentStub())
     view.state.listItems = lambda: []
     self.assertEqual(view.listItems(), [])
 def testSelectObjectToView_by_oid_bad_value(self):
     view = ZodbInfoView(self.root, TestRequest(form={'oid': '0xdeafbeef'}))
     self.assertRaises(UserError, view.selectObjectToView)
 def testSelectObjectToView_by_oid_bad_format(self):
     view = ZodbInfoView(self.root, TestRequest(form={'oid': 'dunno'}))
     self.assertRaises(UserError, view.selectObjectToView)
 def testSelectObjectToView_by_oid_in_hex(self):
     oid = u64(self.root['stub']._p_oid)
     hex_oid = hex(oid).rstrip('L')
     view = ZodbInfoView(self.root, TestRequest(form={'oid': hex_oid}))
     self.assertEqual(view.selectObjectToView(), self.root['stub'])
 def testSelectObjectToView_by_oid(self):
     oid = u64(self.root['stub']._p_oid)
     view = ZodbInfoView(self.root, TestRequest(form={'oid': str(oid)}))
     self.assertEqual(view.selectObjectToView(), self.root['stub'])
 def testSelectObjectToView_find_parent_fail_fall_back_to_root(self):
     view = ZodbInfoView(self.root['stub']['member']['notpersistent'],
                         TestRequest())
     view.jar = self.root._p_jar
     self.assertEqual(view.selectObjectToView(), self.root)
 def test_listItems_none_exist(self):
     view = ZodbInfoView(None, None)
     view.state = ZodbObjectStateStub(PersistentStub())
     view.state.listItems = lambda: None
     self.assertEqual(view.listItems(), None)
 def _zodbInfoView(self, obj, request):
     view = ZodbInfoView(obj, request)
     view.template = lambda: ''
     view()
     return view
 def test_tidToTimestamp(self):
     view = ZodbInfoView(None, None)
     self.assertEqual(view._tidToTimestamp(p64(12345678912345678)),
                      '1905-05-13 03:32:22.050327')
     self.assertEqual(view._tidToTimestamp('something else'),
                      "'something else'")
 def testSelectObjectToView_use_context(self):
     view = ZodbInfoView(self.root, TestRequest())
     self.assertEqual(view.selectObjectToView(), self.root)
     view = ZodbInfoView(self.root['root']['item'], TestRequest())
     self.assertEqual(view.selectObjectToView(), self.root['root']['item'])