示例#1
0
def setupSchema(db, module):
    status = module.Class(db, "status", name=String())
    status.setkey("name")
    user = module.Class(db,
                        "user",
                        username=String(),
                        password=Password(),
                        assignable=Boolean(),
                        age=Number(),
                        roles=String())
    user.setkey("username")
    file = module.FileClass(db,
                            "file",
                            name=String(),
                            type=String(),
                            comment=String(indexme="yes"))
    issue = module.IssueClass(db,
                              "issue",
                              title=String(indexme="yes"),
                              status=Link("status"),
                              nosy=Multilink("user"),
                              deadline=Date(),
                              foo=Interval(),
                              files=Multilink("file"),
                              assignedto=Link('user'))
    session = module.Class(db, 'session', title=String())
    session.disableJournalling()
    db.post_init()
    db.commit()
示例#2
0
 def testC_User(self):
     user = back_anydbm.Class(self.db,
                              "user",
                              username=String(),
                              password=Password())
     self.assertTrue(user, 'no class object returned')
     user.setkey("username")
示例#3
0
 def testA_Status(self):
     status = back_anydbm.Class(self.db, "status", name=String())
     self.assertTrue(status, 'no class object generated')
     status.setkey("name")
     val = status.create(name="unread")
     self.assertEqual(val, '1', 'expecting "1"')
     val = status.create(name="in-progress")
     self.assertEqual(val, '2', 'expecting "2"')
     val = status.create(name="testing")
     self.assertEqual(val, '3', 'expecting "3"')
     val = status.create(name="resolved")
     self.assertEqual(val, '4', 'expecting "4"')
     val = status.count()
     self.assertEqual(val, 4, 'expecting 4')
     val = status.list()
     self.assertEqual(val, ['1', '2', '3', '4'], 'blah')
     val = status.lookup("in-progress")
     self.assertEqual(val, '2', 'expecting "2"')
     status.retire('3')
     val = status.list()
     self.assertEqual(val, ['1', '2', '4'], 'blah')
示例#4
0
from roundup.hyperdb import String, Number, Multilink
from roundup.backends.back_bsddb import Database, Class

class config:
    DATABASE='/tmp/hyperdb_example'

db = Database(config, 'admin')
spam = Class(db, 'spam', name=String(), size=Number())
widget = Class(db, 'widget', title=String(), spam=Multilink('spam'))

oneid = spam.create(name='one', size=1)
twoid = spam.create(name='two', size=2)

widgetid = widget.create(title='a widget', spam=[oneid, twoid])

# dumb, simple query
print widget.find(spam=oneid)
print widget.history(widgetid)
print widget.search_text(
示例#5
0
 def testB_Issue(self):
     issue = back_anydbm.Class(self.db,
                               "issue",
                               title=String(),
                               status=Link("status"))
     self.assertTrue(issue, 'no class object returned')