travis badge in README, thanks niphlod

This commit is contained in:
mdipierro
2013-03-15 15:12:01 -05:00
parent f693fe6b2a
commit bfd385f969
4 changed files with 71 additions and 50 deletions
+1 -1
View File
@@ -5,7 +5,7 @@ all:
clean:
rm -f httpserver.log
rm -f parameters*.py
rm -f -r applications/*/compiled
rm -f -r applications/*/compiled
find ./ -name '*~' -exec rm -f {} \;
find ./ -name '*.orig' -exec rm -f {} \;
find ./ -name '*.rej' -exec rm -f {} \;
+5
View File
@@ -6,6 +6,11 @@ It is written and programmable in Python. LGPLv3 License
Learn more at http://web2py.com
## Tests
[![Build Status](https://travis-ci.org/web2py/web2py.png)](https://travis-ci.org/web2py/web2py)
## Installation Instructions
To start web2py there is NO NEED to install it. Just unzip and do:
+1 -1
View File
@@ -1 +1 @@
Version 2.4.4-stable+timestamp.2013.03.15.14.54.45
Version 2.4.4-stable+timestamp.2013.03.15.15.11.13
+64 -48
View File
@@ -6,6 +6,7 @@
import sys
import os
import glob
if os.path.isdir('gluon'):
sys.path.append(os.path.realpath('gluon'))
else:
@@ -19,6 +20,11 @@ except:
from io import StringIO
from dal import DAL, Field, Table, SQLALL
#for travis-ci
DEFAULT_URI = os.environ.get('DB', 'sqlite:memory')
print 'Testing against %s engine (%s)' % (DEFAULT_URI.partition(':')[0], DEFAULT_URI)
ALLOWED_DATATYPES = [
'string',
'text',
@@ -41,6 +47,8 @@ def setUpModule():
def tearDownModule():
if os.path.isfile('sql.log'):
os.unlink('sql.log')
for a in glob.glob('*.table'):
os.unlink(a)
class TestFields(unittest.TestCase):
@@ -96,7 +104,7 @@ class TestFields(unittest.TestCase):
isinstance(f.formatter(datetime.datetime.now()), str)
def testRun(self):
db = DAL('sqlite:memory:')
db = DAL(DEFAULT_URI)
for ft in ['string', 'text', 'password', 'upload', 'blob']:
db.define_table('t', Field('a', ft, default=''))
self.assertEqual(db.t.insert(a='x'), 1)
@@ -198,7 +206,7 @@ class TestTable(unittest.TestCase):
in str(persons.ALL))
def testTableAlias(self):
db = DAL('sqlite:memory:')
db = DAL(DEFAULT_URI)
persons = Table(db, 'persons', Field('firstname',
'string'), Field('lastname', 'string'))
aliens = persons.with_alias('aliens')
@@ -221,7 +229,7 @@ class TestTable(unittest.TestCase):
class TestInsert(unittest.TestCase):
def testRun(self):
db = DAL('sqlite:memory:')
db = DAL(DEFAULT_URI)
db.define_table('t', Field('a'))
self.assertEqual(db.t.insert(a='1'), 1)
self.assertEqual(db.t.insert(a='1'), 2)
@@ -236,7 +244,7 @@ class TestInsert(unittest.TestCase):
class TestSelect(unittest.TestCase):
def testRun(self):
db = DAL('sqlite:memory:')
db = DAL(DEFAULT_URI)
db.define_table('t', Field('a'))
self.assertEqual(db.t.insert(a='1'), 1)
self.assertEqual(db.t.insert(a='2'), 2)
@@ -267,7 +275,7 @@ class TestSelect(unittest.TestCase):
class TestBelongs(unittest.TestCase):
def testRun(self):
db = DAL('sqlite:memory:')
db = DAL(DEFAULT_URI)
db.define_table('t', Field('a'))
self.assertEqual(db.t.insert(a='1'), 1)
self.assertEqual(db.t.insert(a='2'), 2)
@@ -287,7 +295,7 @@ class TestBelongs(unittest.TestCase):
class TestContains(unittest.TestCase):
def testRun(self):
db = DAL('sqlite:memory:')
db = DAL(DEFAULT_URI)
db.define_table('t', Field('a', 'list:string'))
self.assertEqual(db.t.insert(a=['aaa','bbb']), 1)
self.assertEqual(db.t.insert(a=['bbb','ddd']), 2)
@@ -304,7 +312,7 @@ class TestContains(unittest.TestCase):
class TestLike(unittest.TestCase):
def testRun(self):
db = DAL('sqlite:memory:')
db = DAL(DEFAULT_URI)
db.define_table('t', Field('a'))
self.assertEqual(db.t.insert(a='abc'), 1)
self.assertEqual(len(db(db.t.a.like('a%')).select()), 1)
@@ -330,7 +338,7 @@ class TestLike(unittest.TestCase):
class TestDatetime(unittest.TestCase):
def testRun(self):
db = DAL('sqlite:memory:')
db = DAL(DEFAULT_URI)
db.define_table('t', Field('a', 'datetime'))
self.assertEqual(db.t.insert(a=datetime.datetime(1971, 12, 21,
11, 30)), 1)
@@ -353,7 +361,7 @@ class TestDatetime(unittest.TestCase):
class TestExpressions(unittest.TestCase):
def testRun(self):
db = DAL('sqlite:memory:')
db = DAL(DEFAULT_URI)
db.define_table('t', Field('a', 'integer'))
self.assertEqual(db.t.insert(a=1), 1)
self.assertEqual(db.t.insert(a=2), 2)
@@ -366,7 +374,7 @@ class TestExpressions(unittest.TestCase):
class TestJoin(unittest.TestCase):
def testRun(self):
db = DAL('sqlite:memory:')
db = DAL(DEFAULT_URI)
db.define_table('t1', Field('a'))
db.define_table('t2', Field('a'), Field('b', db.t1))
i1 = db.t1.insert(a='1')
@@ -397,27 +405,27 @@ class TestJoin(unittest.TestCase):
self.assertEqual(db().select(db.t1.ALL, db.t2.ALL,
left=db.t2.on(db.t1.id == db.t2.b),
orderby=db.t1.a | db.t2.a)[3].t2.a, None)
self.assertEqual(len(db().select(db.t1.ALL, db.t2.id.count(),
self.assertEqual(len(db().select(db.t1.a, db.t2.id.count(),
left=db.t2.on(db.t1.id == db.t2.b),
orderby=db.t1.a | db.t2.a, groupby=db.t1.a)),
orderby=db.t1.a, groupby=db.t1.a)),
3)
self.assertEqual(db().select(db.t1.ALL, db.t2.id.count(),
self.assertEqual(db().select(db.t1.a, db.t2.id.count(),
left=db.t2.on(db.t1.id == db.t2.b),
orderby=db.t1.a | db.t2.a,
orderby=db.t1.a,
groupby=db.t1.a)[0]._extra[db.t2.id.count()],
1)
self.assertEqual(db().select(db.t1.ALL, db.t2.id.count(),
self.assertEqual(db().select(db.t1.a, db.t2.id.count(),
left=db.t2.on(db.t1.id == db.t2.b),
orderby=db.t1.a | db.t2.a,
orderby=db.t1.a,
groupby=db.t1.a)[1]._extra[db.t2.id.count()],
2)
self.assertEqual(db().select(db.t1.ALL, db.t2.id.count(),
self.assertEqual(db().select(db.t1.a, db.t2.id.count(),
left=db.t2.on(db.t1.id == db.t2.b),
orderby=db.t1.a | db.t2.a,
orderby=db.t1.a,
groupby=db.t1.a)[2]._extra[db.t2.id.count()],
0)
db.t1.drop()
db.t2.drop()
db.t1.drop()
db.define_table('person',Field('name'))
id = db.person.insert(name="max")
@@ -434,7 +442,7 @@ class TestJoin(unittest.TestCase):
class TestMinMaxSum(unittest.TestCase):
def testRun(self):
db = DAL('sqlite:memory:')
db = DAL(DEFAULT_URI)
db.define_table('t', Field('a', 'integer'))
self.assertEqual(db.t.insert(a=1), 1)
self.assertEqual(db.t.insert(a=2), 2)
@@ -456,7 +464,7 @@ class TestCache(unittest.TestCase):
def testRun(self):
from cache import CacheInRam
cache = CacheInRam()
db = DAL('sqlite:memory:')
db = DAL(DEFAULT_URI)
db.define_table('t', Field('a'))
db.t.insert(a='1')
r0 = db().select(db.t.ALL)
@@ -474,21 +482,21 @@ class TestCache(unittest.TestCase):
class TestMigrations(unittest.TestCase):
def testRun(self):
db = DAL('sqlite://.storage.db')
db = DAL(DEFAULT_URI)
db.define_table('t', Field('a'), migrate='.storage.table')
db.commit()
db.close()
db = DAL('sqlite://.storage.db')
db = DAL(DEFAULT_URI)
db.define_table('t', Field('a'), Field('b'),
migrate='.storage.table')
db.commit()
db.close()
db = DAL('sqlite://.storage.db')
db = DAL(DEFAULT_URI)
db.define_table('t', Field('a'), Field('b', 'text'),
migrate='.storage.table')
db.commit()
db.close()
db = DAL('sqlite://.storage.db')
db = DAL(DEFAULT_URI)
db.define_table('t', Field('a'), migrate='.storage.table')
db.t.drop()
db.commit()
@@ -500,10 +508,10 @@ class TestMigrations(unittest.TestCase):
if os.path.exists('.storage.table'):
os.unlink('.storage.table')
class TestReferece(unittest.TestCase):
class TestReference(unittest.TestCase):
def testRun(self):
db = DAL('sqlite:memory:')
db = DAL(DEFAULT_URI)
db.define_table('t', Field('name'), Field('a','reference t'))
db.commit()
x = db.t.insert(name='max')
@@ -523,7 +531,7 @@ class TestReferece(unittest.TestCase):
class TestClientLevelOps(unittest.TestCase):
def testRun(self):
db = DAL('sqlite:memory:')
db = DAL(DEFAULT_URI)
db.define_table('t', Field('a'))
db.commit()
db.t.insert(a="test")
@@ -546,7 +554,7 @@ class TestClientLevelOps(unittest.TestCase):
class TestVirtualFields(unittest.TestCase):
def testRun(self):
db = DAL('sqlite:memory:')
db = DAL(DEFAULT_URI)
db.define_table('t', Field('a'))
db.commit()
db.t.insert(a="test")
@@ -560,7 +568,7 @@ class TestVirtualFields(unittest.TestCase):
class TestComputedFields(unittest.TestCase):
def testRun(self):
db = DAL('sqlite:memory:')
db = DAL(DEFAULT_URI)
db.define_table('t',
Field('a'),
Field('b',default='x'),
@@ -574,7 +582,7 @@ class TestComputedFields(unittest.TestCase):
class TestImportExportFields(unittest.TestCase):
def testRun(self):
db = DAL('sqlite:memory:')
db = DAL(DEFAULT_URI)
db.define_table('person', Field('name'))
db.define_table('pet',Field('friend',db.person),Field('name'))
for n in range(2):
@@ -598,7 +606,7 @@ class TestImportExportFields(unittest.TestCase):
class TestImportExportUuidFields(unittest.TestCase):
def testRun(self):
db = DAL('sqlite:memory:')
db = DAL(DEFAULT_URI)
db.define_table('person', Field('name'),Field('uuid'))
db.define_table('pet',Field('friend',db.person),Field('name'))
for n in range(2):
@@ -622,7 +630,7 @@ class TestImportExportUuidFields(unittest.TestCase):
class TestDALDictImportExport(unittest.TestCase):
def testRun(self):
db = DAL('sqlite:memory:')
db = DAL(DEFAULT_URI)
db.define_table('person', Field('name', default="Michael"),Field('uuid'))
db.define_table('pet',Field('friend',db.person),Field('name'))
dbdict = db.as_dict(flat=True, sanitize=False)
@@ -635,13 +643,18 @@ class TestDALDictImportExport(unittest.TestCase):
assert dbdict["items"]["person"]["items"]["name"]["default"] == db.person.name.default
assert dbdict
db2 = DAL(dbdict)
assert len(db.tables) == len(db2.tables)
assert hasattr(db2, "pet") and isinstance(db2.pet, Table)
assert hasattr(db2.pet, "friend") and isinstance(db2.pet.friend, Field)
db.pet.drop()
db.commit()
db2.commit()
have_serializers = True
try:
import serializers
dbjson = db.as_json(sanitize=False)
@@ -649,14 +662,13 @@ class TestDALDictImportExport(unittest.TestCase):
db3 = DAL(serializers.loads_json(dbjson))
assert hasattr(db3, "person") and hasattr(db3.person, "uuid") and\
db3.person.uuid.type == db.person.uuid.type
db3.pet.drop()
db3.person.drop()
db3.commit()
except ImportError:
pass
mpfc = "Monty Python's Flying Circus"
dbdict4 = {"uri": 'sqlite:memory:',
dbdict4 = {"uri": DEFAULT_URI,
"items":{"staff":{"items": {"name":
{"default":"Michael"},
"food":
@@ -677,35 +689,39 @@ class TestDALDictImportExport(unittest.TestCase):
assert db4(db4.show).select().first().id == 1
assert db4(db4.show).select().first().name == mpfc
dbdict5 = {"uri": 'sqlite:memory:'}
db4.staff.drop()
db4.show.drop()
db4.commit()
dbdict5 = {"uri": DEFAULT_URI}
db5 = DAL(dbdict5)
assert db5.tables in ([], None)
assert not (str(db5) in ("", None))
dbdict6 = {"uri": 'sqlite:memory:',
dbdict6 = {"uri": DEFAULT_URI,
"items":{"staff":{},
"show":{"items": {"name": {},
"rating":
{"type":"double"}}}}}
{"type":"double"}
}
}
}
}
db6 = DAL(dbdict6)
assert len(db6["staff"].fields) == 1
assert "name" in db6["show"].fields
assert db6.staff.insert() is not None
assert db6(db6.staff).select().first().id == 1
db6.staff.drop()
db6.show.drop()
db6.commit()
db4.staff.drop()
db4.show.drop()
db4.commit()
db2.pet.drop()
db2.person.drop()
db2.commit()
db.pet.drop()
db.person.drop()
db.commit()
if __name__ == '__main__':