Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.2
python-minidb
0001-switch-to-pytest.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0001-switch-to-pytest.patch of Package python-minidb
From ac709c48385583a0309ff850cd31896d5f19f647 Mon Sep 17 00:00:00 2001 From: Paolo Stivanin <info@paolostivanin.com> Date: Fri, 27 Mar 2020 14:47:48 +0100 Subject: [PATCH] switch to pytest --- test/test_minidb.py | 227 ++++++++++++++++++++++---------------------- 1 file changed, 115 insertions(+), 112 deletions(-) diff --git a/test/test_minidb.py b/test/test_minidb.py index 8f6d44a..632aeec 100644 --- a/test/test_minidb.py +++ b/test/test_minidb.py @@ -1,8 +1,11 @@ import minidb +import pytest +import datetime -from nose.tools import * -import datetime +def ported_eq(a, b, msg=None): + if not a == b: + raise AssertionError(msg or "%r != %r" % (a, b)) class FieldTest(minidb.Model): @@ -138,38 +141,38 @@ def test_loading_objects(): assert field_test._private1 == 997 -@raises(minidb.UnknownClass) def test_saving_without_registration_fails(): - with minidb.Store(debug=True) as db: - FieldTest(9).save(db) + with pytest.raises(minidb.UnknownClass): + with minidb.Store(debug=True) as db: + FieldTest(9).save(db) -@raises(TypeError) def test_registering_non_subclass_of_model_fails(): # This cannot be registered, as it's not a subclass of minidb.Model - class Something(object): - column = str + with pytest.raises(TypeError): + class Something(object): + column = str - with minidb.Store(debug=True) as db: - db.register(Something) - db.register(Something) + with minidb.Store(debug=True) as db: + db.register(Something) + db.register(Something) -@raises(KeyError) def test_invalid_keyword_arguments_fails(): - with minidb.Store(debug=True) as db: - db.register(FieldTest) - FieldTest(9, this_is_not_an_attribute=123).save(db) + with pytest.raises(KeyError): + with minidb.Store(debug=True) as db: + db.register(FieldTest) + FieldTest(9, this_is_not_an_attribute=123).save(db) -@raises(AttributeError) def test_invalid_column_raises_attribute_error(): - class HasOnlyColumnX(minidb.Model): - x = int + with pytest.raises(AttributeError): + class HasOnlyColumnX(minidb.Model): + x = int - with minidb.Store(debug=True) as db: - db.register(HasOnlyColumnX) - HasOnlyColumnX.c.y + with minidb.Store(debug=True) as db: + db.register(HasOnlyColumnX) + HasOnlyColumnX.c.y def test_json_serialization(): @@ -192,7 +195,7 @@ def test_json_field_query(): db.register(WithJsonField) d = {'a': [1, True, 3.9]} WithJsonField(bar=d).save(db) - eq_(next(WithJsonField.c.bar.query(db)).bar, d) + ported_eq(next(WithJsonField.c.bar.query(db)).bar, d) def test_json_field_renamed_query(): @@ -203,7 +206,7 @@ def test_json_field_renamed_query(): db.register(WithJsonField) d = {'a': [1, True, 3.9]} WithJsonField(bar=d).save(db) - eq_(next(WithJsonField.c.bar('renamed').query(db)).renamed, d) + ported_eq(next(WithJsonField.c.bar('renamed').query(db)).renamed, d) def test_field_conversion_get_object(): @@ -293,16 +296,16 @@ def test_storing_and_retrieving_bytes(): assert query_value == BLOB -@raises(ValueError) def test_get_with_multiple_value_raises_exception(): - class Mod(minidb.Model): - mod = str + with pytest.raises(ValueError): + class Mod(minidb.Model): + mod = str - with minidb.Store(debug=True) as db: - db.register(Mod) - Mod(mod='foo').save(db) - Mod(mod='foo').save(db) - Mod.get(db, mod='foo') + with minidb.Store(debug=True) as db: + db.register(Mod) + Mod(mod='foo').save(db) + Mod(mod='foo').save(db) + Mod.get(db, mod='foo') def test_get_with_no_value_returns_none(): @@ -329,72 +332,72 @@ def test_delete_where(): assert {2, 3, 4, 5} == {v for (v,) in DeleteWhere.c.v.query(db)} -@raises(AttributeError) def test_invalid_rowproxy_access_by_attribute(): - class Foo(minidb.Model): - bar = str + with pytest.raises(AttributeError): + class Foo(minidb.Model): + bar = str - with minidb.Store(debug=True) as db: - db.register(Foo) - Foo(bar='baz').save(db) - next(Foo.query(db, Foo.c.bar)).baz + with minidb.Store(debug=True) as db: + db.register(Foo) + Foo(bar='baz').save(db) + next(Foo.query(db, Foo.c.bar)).baz -@raises(KeyError) def test_invalid_rowproxy_access_by_key(): - class Foo(minidb.Model): - bar = str + with pytest.raises(KeyError): + class Foo(minidb.Model): + bar = str - with minidb.Store(debug=True) as db: - db.register(Foo) - Foo(bar='baz').save(db) - next(Foo.query(db, Foo.c.bar))['baz'] + with minidb.Store(debug=True) as db: + db.register(Foo) + Foo(bar='baz').save(db) + next(Foo.query(db, Foo.c.bar))['baz'] -@raises(TypeError) def test_use_schema_without_registration_raises_typeerror(): - with minidb.Store(debug=True) as db: - class Foo(minidb.Model): - bar = str - Foo.query(db) + with pytest.raises(TypeError): + with minidb.Store(debug=True) as db: + class Foo(minidb.Model): + bar = str + Foo.query(db) -@raises(TypeError) def test_use_schema_with_nonidentity_class_raises_typeerror(): - with minidb.Store(debug=True) as db: - class Foo(minidb.Model): - bar = str - db.register(Foo) + with pytest.raises(TypeError): + with minidb.Store(debug=True) as db: + class Foo(minidb.Model): + bar = str + db.register(Foo) - class Foo(minidb.Model): - bar = str + class Foo(minidb.Model): + bar = str - Foo.query(db) + Foo.query(db) -@raises(TypeError) def test_upgrade_schema_without_upgrade_raises_typeerror(): - with minidb.Store(debug=True) as db: - class Foo(minidb.Model): - bar = str + with pytest.raises(TypeError): + with minidb.Store(debug=True) as db: + class Foo(minidb.Model): + bar = str - db.register(Foo) + db.register(Foo) - class Foo(minidb.Model): - bar = str - baz = int + class Foo(minidb.Model): + bar = str + baz = int - db.register(Foo) + db.register(Foo) -@raises(TypeError) def test_reregistering_class_raises_typeerror(): - class Foo(minidb.Model): - bar = int + with pytest.raises(TypeError): + class Foo(minidb.Model): + bar = int - with minidb.Store(debug=True) as db: - db.register(Foo) - db.register(Foo) + with minidb.Store(debug=True) as db: + db.register(Foo) + db.register(Foo) def test_upgrade_schema_with_upgrade_succeeds(): @@ -411,18 +414,18 @@ def test_upgrade_schema_with_upgrade_succeeds(): db.register(Foo, upgrade=True) -@raises(TypeError) def test_upgrade_schema_with_different_type_raises_typeerror(): - with minidb.Store(debug=True) as db: - class Foo(minidb.Model): - bar = str + with pytest.raises(TypeError): + with minidb.Store(debug=True) as db: + class Foo(minidb.Model): + bar = str - db.register(Foo) + db.register(Foo) - class Foo(minidb.Model): - bar = int + class Foo(minidb.Model): + bar = int - db.register(Foo, upgrade=True) + db.register(Foo, upgrade=True) def test_update_object(): @@ -474,11 +477,11 @@ def test_distinct(): # minidb.func.distinct(COLUMN)(NAME) result = {tuple(x) for x in Foo.query(db, lambda c: minidb.func.distinct(c.bar)('foo'))} - eq_(result, expected) + ported_eq(result, expected) # COLUMN.distinct(NAME) result = {tuple(x) for x in Foo.query(db, Foo.c.bar.distinct('foo'))} - eq_(result, expected) + ported_eq(result, expected) @@ -501,43 +504,43 @@ def test_group_by_with_sum(): # minidb.func.sum(COLUMN)(NAME) result = {tuple(x) for x in Foo.query(db, lambda c: c.bar // minidb.func.sum(c.baz)('sum'), group_by=lambda c: c.bar)} - eq_(result, expected) + ported_eq(result, expected) # COLUMN.sum(NAME) result = {tuple(x) for x in Foo.query(db, lambda c: c.bar // c.baz.sum('sum'), group_by=lambda c: c.bar)} - eq_(result, expected) + ported_eq(result, expected) -@raises(ValueError) def test_save_without_db_raises_valueerror(): - class Foo(minidb.Model): - bar = int + with pytest.raises(ValueError): + class Foo(minidb.Model): + bar = int - Foo(bar=99).save() + Foo(bar=99).save() -@raises(ValueError) def test_delete_without_db_raises_valueerror(): - class Foo(minidb.Model): - bar = int + with pytest.raises(ValueError): + class Foo(minidb.Model): + bar = int - Foo(bar=99).delete() + Foo(bar=99).delete() -@raises(KeyError) def test_double_delete_without_id_raises_valueerror(): - class Foo(minidb.Model): - bar = str + with pytest.raises(KeyError): + class Foo(minidb.Model): + bar = str - with minidb.Store(debug=True) as db: - db.register(Foo) - a = Foo(bar='hello') - a.save(db) - assert a.id is not None - a.delete() - assert a.id is None - a.delete() + with minidb.Store(debug=True) as db: + db.register(Foo) + a = Foo(bar='hello') + a.save(db) + assert a.id is not None + a.delete() + assert a.id is None + a.delete() def test_default_values_are_set_if_none(): @@ -549,10 +552,10 @@ def test_default_values_are_set_if_none(): with minidb.Store(debug=True) as db: f = Foo() - eq_(f.name, 'Bob') + ported_eq(f.name, 'Bob') f = Foo(name='John') - eq_(f.name, 'John') + ported_eq(f.name, 'John') def test_default_values_with_callable(): @@ -569,16 +572,16 @@ def test_default_values_with_callable(): with minidb.Store(debug=True) as db: f = Foo() - eq_(f.name, 'Bob') - eq_(f.email, 'Bob@example.com') + ported_eq(f.name, 'Bob') + ported_eq(f.email, 'Bob@example.com') f = Foo(name='John') - eq_(f.name, 'John') - eq_(f.email, 'John@example.com') + ported_eq(f.name, 'John') + ported_eq(f.email, 'John@example.com') f = Foo(name='Joe', email='joe@example.net') - eq_(f.name, 'Joe') - eq_(f.email, 'joe@example.net') + ported_eq(f.name, 'Joe') + ported_eq(f.email, 'joe@example.net') def test_storing_and_retrieving_datetime(): -- 2.25.1
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor