Skip to main content

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.

Metadata

Release files for itsbroken 0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for itsbroken 0.2
File Size Uploaded
itsbroken-0.2.tar.gz 5.8 kB Details

Release files / itsbroken-0.2.tar.gz

Download URL itsbroken-0.2.tar.gz
Size 5.8 kB
Tags Source
SHA-256 checksum
How to use checksums
5536574784681c22f946271544ba57037043db69fdd7dbc6788f3a6534dd7f00
BLAKE2b-256 checksum
How to use checksums
70bca476275e91b9f5230bf377d7cfbaa1cb8054e1212ac11833fd4a6cb7ffa2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.2 This release

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page