Skip to main content

OpenERP Unittesting Toolkit

Project description

It’s broken helps you to write unit tests for broken OpenERP modules since OpenERP does not have much in testing capabilities. If you find strange resemblance to Tryton test cases, do not be confused, this work is inspired by Tryton testing.

Master

https://travis-ci.org/openlabs/itsbroken.png?branch=master

Develop

https://travis-ci.org/openlabs/itsbroken.png?branch=develop

License tl;dr;

If you intend to publish modules that you use, this program comes with an AGPL license.

If you wish to use this program in a module which you don’t intend to make public, you should have met the following conditions:

  • You have tweeted atleast once with the #sorryopenerp tag (Frequent bugs in Open ERP will push you in the right direction)

  • You have visited the Tryton website atleast once.

  • You believe that code without test is broken code (like Hollywood is incomplete without Julia Roberts)

  • You do not use OpenERP or any modules with the “OpenERP AGPL + Private Use License”

The detailed version of the license can be see in the LICENSE file.

Why this license mess ?

While we are 100% committed to Open Source (see also our FAQ), we understand that end-users may sometimes require to use private software. To address this need, OpenERP Enterprise comes with a special additional permission, granted to each subscriber of OpenERP Enterprise, but exclusively in the context of private use. We think this is stupid exploitation of work by a greedy company.

Example usage

import unittest

from itsbroken.transaction import Transaction
from itsbroken.testing import DB_NAME, POOL, USER, CONTEXT, \
    install_module, drop_database


class TestItsBroken(unittest.TestCase):
    """
    Test the itsbroken library by connecting to an instance of
    OpenERP.

    By defualt OpenERP has the partner module and other core modules
    installed, so most of the test uses those modules.
    """
    def setUp(self):
        install_module('product')

    def test_0010_create(self):
        """
        Test by creating a new product
        """
        with Transaction().start(DB_NAME, USER, CONTEXT) as txn:
            product_obj = POOL.get('product.product')

            values = {
                'name': 'Sharoon Thomas'
            }
            id = product_obj.create(
                txn.cursor, txn.user, values, txn.context
            )
            product = product_obj.browse(txn.cursor, txn.user, id)
            self.assertEqual(product.name, values['name'])


if __name__ == '__main__':
    unittest.main()

More examples

Tests of this module itself is a good example of how to use itsbroken for testing. See tests/test_itsbroken.py.

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

itsbroken-0.2.tar.gz (5.8 kB view details)

Uploaded Source

File details

Details for the file itsbroken-0.2.tar.gz.

File metadata

  • Download URL: itsbroken-0.2.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for itsbroken-0.2.tar.gz
Algorithm Hash digest
SHA256 5536574784681c22f946271544ba57037043db69fdd7dbc6788f3a6534dd7f00
MD5 58bfdf8c333c9869e371a4573787d382
BLAKE2b-256 70bca476275e91b9f5230bf377d7cfbaa1cb8054e1212ac11833fd4a6cb7ffa2

See more details on using hashes here.

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