Skip to main content

Unit testing microframework for Storm ORM models

Project description

Introduction

Storm is a fast, small and powerful object-relational mapper. Try it to use in db-aware applications.

Effective unit-testing DB-models needed:

  • easy access to testing-DB inside testcases

  • setting up testing-DB before each test (and tear down after)

To help this unitstorm provides class ModelTestCase, that can be used both in unittest and nosetest testing frameworks.

Simple example

from unitstorm import ModelTestCase
from os import path

import models as model # models define somewhere else

class TestMyModel(ModelTestCase):
    dburi = 'postgres://test:test@localhost/test'

    fixtures = path.join(path.dirname(__file__), 'fixtures')

    fixture_setup = 'create.sql', 'filldata.sql'
    fixture_teardown = 'drop.sql'

    sql_setup = 'INSERT INTO my_model (id, name) VALUES (1, "foo");',\
        'INSERT INTO my_model (id, name) VALUES (2, "bar");'
    sql_teardown = 'DELETE FROM my_model WHERE id = 1;'

    def test_stub(self):
        assert self.store.get(model.MyModel, 1).name == "foo"

TODO more description (look sources)

dburi

db

store

fixtures

fixture_setup

fixture_teardown

sql_setup

sql_teardown

Execution order: fixture_setup, sql_setup, test, sql_teardown, fixture_teardown

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

unitstorm-0.1.tar.gz (4.4 kB view hashes)

Uploaded Source

Built Distribution

unitstorm-0.1-py2.5.egg (5.3 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page