예제 #1
0
 def testFindClosestPersistent(self):
     view = ZodbInfoView(self.root['stub']['member'], TestRequest())
     self.assertEquals(view.findClosestPersistent(), self.root['stub'])
     view = ZodbInfoView(self.root['stub']['member']['notpersistent'],
                         TestRequest())
     self.assertEquals(view.findClosestPersistent(),
                       None)
예제 #2
0
 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
예제 #3
0
 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}])
예제 #4
0
 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')
예제 #5
0
 def testGetUrl(self):
     view = self._zodbInfoView(self.root, TestRequest())
     self.assertEquals(view.getUrl(), '@@zodbbrowser?oid=0x%x' %
                       u64(self.root._p_oid))
     view = self._zodbInfoView(self.root, TestRequest())
     self.assertEquals(view.getUrl(1, 2), '@@zodbbrowser?oid=0x1&tid=0x2')
     view = ZodbInfoView(self.root, TestRequest(form={'tid': '2'}))
     self.assertEquals(view.getUrl(1), '@@zodbbrowser?oid=0x1&tid=2')
예제 #6
0
 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')
예제 #7
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')
예제 #8
0
 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)
     ])
예제 #9
0
 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.assertEquals(view.listItems(),
                       [ZodbObjectAttribute('zoinks', 17, 42),
                        ZodbObjectAttribute('scoobysnack', None, 42)])
예제 #10
0
 def test_getBreadcrumbsHTML(self):
     view = ZodbInfoView(None, None)
     view.getBreadcrumbs = lambda: [('/', 'here'),
                                    ('foo>', 'so"there'),
                                    ('/', None),
                                    ('bar<baz', None)]
     self.assertEquals(view.getBreadcrumbsHTML(),
                       '<a href="here">/</a>'
                       '<a href="so&quot;there">foo&gt;</a>'
                       '/bar&lt;baz')
예제 #11
0
 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
                      }])
예제 #12
0
 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')
예제 #13
0
 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
예제 #14
0
 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)
예제 #15
0
 def testGetRequestedTid(self):
     view = ZodbInfoView(self.root, TestRequest())
     self.assertEquals(view.getRequestedTid(), None)
     self.assertEquals(view.getRequestedTidNice(), None)
     view = ZodbInfoView(self.root,
                         TestRequest(form={'tid': '12345678912345678'}))
     self.assertEquals(view.getRequestedTid(), '12345678912345678')
     self.assertEquals(view.getRequestedTidNice(),
                       '1905-05-13 03:32:22.050327')
예제 #16
0
 def _zodbInfoView(self, obj, request):
     view = ZodbInfoView(obj, request)
     view.template = lambda: ''
     view()
     return view
예제 #17
0
 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'])
예제 #18
0
 def test_listItems_none_exist(self):
     view = ZodbInfoView(None, None)
     view.state = ZodbObjectStateStub(PersistentStub())
     view.state.listItems = lambda: None
     self.assertEquals(view.listItems(), None)
예제 #19
0
 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'])
예제 #20
0
 def testSelectObjectToView_by_oid_bad_format(self):
     view = ZodbInfoView(self.root, TestRequest(form={'oid': 'dunno'}))
     self.assertRaises(UserError, view.selectObjectToView)
예제 #21
0
 def _zodbInfoView(self, obj, request):
     view = ZodbInfoView(obj, request)
     view.template = lambda: ''
     view()
     return view
예제 #22
0
 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.assertEquals(view.selectObjectToView(), self.root['stub'])
예제 #23
0
 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.assertEquals(view.selectObjectToView(), self.root)
예제 #24
0
 def testSelectObjectToView_use_context(self):
     view = ZodbInfoView(self.root, TestRequest())
     self.assertEquals(view.selectObjectToView(), self.root)
     view = ZodbInfoView(self.root['root']['item'], TestRequest())
     self.assertEquals(view.selectObjectToView(), self.root['root']['item'])
예제 #25
0
 def testSelectObjectToView_by_oid_bad_value(self):
     view = ZodbInfoView(self.root, TestRequest(form={'oid': '0xdeafbeef'}))
     self.assertRaises(UserError, view.selectObjectToView)
예제 #26
0
 def testSelectObjectToView_find_parent_fail(self):
     view = ZodbInfoView(self.root['stub']['member']['notpersistent'],
                         TestRequest())
     self.assertRaises(Exception, view.selectObjectToView)
예제 #27
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)
예제 #28
0
 def testSelectObjectToView_find_parent(self):
     view = ZodbInfoView(self.root['stub']['member'], TestRequest())
     self.assertEquals(view.selectObjectToView(), self.root['stub'])
예제 #29
0
 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')
예제 #30
0
 def testSelectObjectToView_by_oid(self):
     oid = u64(self.root['stub']._p_oid)
     view = ZodbInfoView(self.root, TestRequest(form={'oid': str(oid)}))
     self.assertEquals(view.selectObjectToView(), self.root['stub'])
예제 #31
0
 def testSelectObjectToView_find_parent(self):
     view = ZodbInfoView(self.root['stub']['member'], TestRequest())
     self.assertEqual(view.selectObjectToView(), self.root['stub'])
예제 #32
0
 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'])
예제 #33
0
 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)
예제 #34
0
 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)
예제 #35
0
 def test_listAttributes_empty(self):
     view = ZodbInfoView(None, None)
     view.state = ZodbObjectStateStub(PersistentStub())
     view.state.requestedTid = 42
     view.state.listAttributes = lambda: []
     self.assertEqual(view.listAttributes(), [])
예제 #36
0
 def test_getPath(self):
     view = ZodbInfoView(None, None)
     view.getBreadcrumbs = lambda: [('/', None), ('foo', None),
                                    ('/', None), ('bar baz', None)]
     self.assertEquals(view.getPath(), '/foo/bar baz')
예제 #37
0
 def test_listItems_empty(self):
     view = ZodbInfoView(None, None)
     view.state = ZodbObjectStateStub(PersistentStub())
     view.state.listItems = lambda: []
     self.assertEqual(view.listItems(), [])
예제 #38
0
 def test_listAttributes_none_exist(self):
     view = ZodbInfoView(None, None)
     view.state = ZodbObjectStateStub(PersistentStub())
     view.state.requestedTid = 42
     view.state.listAttributes = lambda: None
     self.assertEquals(view.listAttributes(), None)
예제 #39
0
 def test_listItems_none_exist(self):
     view = ZodbInfoView(None, None)
     view.state = ZodbObjectStateStub(PersistentStub())
     view.state.listItems = lambda: None
     self.assertEqual(view.listItems(), None)
예제 #40
0
 def test_listItems_empty(self):
     view = ZodbInfoView(None, None)
     view.state = ZodbObjectStateStub(PersistentStub())
     view.state.listItems = lambda: []
     self.assertEquals(view.listItems(), [])
예제 #41
0
 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'")
예제 #42
0
 def test_tidToTimestamp(self):
     view = ZodbInfoView(None, None)
     self.assertEquals(view._tidToTimestamp(p64(12345678912345678)),
                       '1905-05-13 03:32:22.050327')
     self.assertEquals(view._tidToTimestamp('something else'),
                       "'something else'")
예제 #43
0
 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)