import shelve import pytest import schedule1 as schedule @pytest.yield_fixture def db(): with shelve.open(schedule.DB_NAME) as the_db: if schedule.CONFERENCE not in the_db: schedule.load_db(the_db) yield the_db def test_record_class(): rec = schedule.Record(spam=99, eggs=12) assert rec.spam == 99 assert rec.eggs == 12 def test_conference_record(db): assert schedule.CONFERENCE in db def test_speaker_record(db): speaker = db['speaker.3471'] assert speaker.name == 'Anna Martelli Ravenscroft' def test_event_record(db): event = db['event.33950'] assert event.name == 'There *Will* Be Bugs' def test_event_venue(db): event = db['event.33950'] assert event.venue_serial == 1449