)]}'
{"doc/source/developing.rst":[{"author":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"change_message_id":"62b2959161c8ca4c51fb8d3cb7b8f5e6f7b7954e","unresolved":false,"context_lines":[{"line_number":295,"context_line":"tests. Keystone intentionally includes tests that run the service locally and"},{"line_number":296,"context_line":"drives the entire configuration to achieve basic functional testing."},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"For the functional tests, an in-memory key-value store or sqlite database is"},{"line_number":299,"context_line":"used to keep the tests fast."},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"Within the tests directory, the general structure of the backend tests is a"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_748a7ac0","line":298,"updated":"2015-03-05 20:09:03.000000000","message":"I think we should mention that sqlite database is in-memory too. They are very different.","commit_id":"66f9a07421049959c5f6d5b906f96b40f6267f4f"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"81c30071062471e8616d482dcde56676d44ae891","unresolved":false,"context_lines":[{"line_number":295,"context_line":"tests. Keystone intentionally includes tests that run the service locally and"},{"line_number":296,"context_line":"drives the entire configuration to achieve basic functional testing."},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"For the functional tests, an in-memory key-value store or sqlite database is"},{"line_number":299,"context_line":"used to keep the tests fast."},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"Within the tests directory, the general structure of the backend tests is a"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_6008ea2d","line":298,"in_reply_to":"9a80dd14_748a7ac0","updated":"2015-03-06 01:50:31.000000000","message":"Done","commit_id":"66f9a07421049959c5f6d5b906f96b40f6267f4f"},{"author":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"change_message_id":"62b2959161c8ca4c51fb8d3cb7b8f5e6f7b7954e","unresolved":false,"context_lines":[{"line_number":296,"context_line":"drives the entire configuration to achieve basic functional testing."},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"For the functional tests, an in-memory key-value store or sqlite database is"},{"line_number":299,"context_line":"used to keep the tests fast."},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"Within the tests directory, the general structure of the backend tests is a"},{"line_number":302,"context_line":"basic set of tests represented under a test class, and then subclasses of those"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_d4540623","line":299,"updated":"2015-03-05 20:09:03.000000000","message":"There is also a possibility to run tests under real databases, but it seems to be undocumented. Of course, it will be removed with functional tests but for now it can be documented here.","commit_id":"66f9a07421049959c5f6d5b906f96b40f6267f4f"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"81c30071062471e8616d482dcde56676d44ae891","unresolved":false,"context_lines":[{"line_number":296,"context_line":"drives the entire configuration to achieve basic functional testing."},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"For the functional tests, an in-memory key-value store or sqlite database is"},{"line_number":299,"context_line":"used to keep the tests fast."},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"Within the tests directory, the general structure of the backend tests is a"},{"line_number":302,"context_line":"basic set of tests represented under a test class, and then subclasses of those"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_630f142f","line":299,"in_reply_to":"9a80dd14_d4540623","updated":"2015-03-06 01:50:31.000000000","message":"I hope the live tests aren\u0027t removed.","commit_id":"66f9a07421049959c5f6d5b906f96b40f6267f4f"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"671be5c723fe2984b73b2c9ee33582c98334ed69","unresolved":false,"context_lines":[{"line_number":343,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"To add tests covering all drivers, update the base test class in"},{"line_number":346,"context_line":"``test_backend.py``."},{"line_number":347,"context_line":""},{"line_number":348,"context_line":"To add new drivers, subclass the ``test_backend.py`` (look towards"},{"line_number":349,"context_line":"``test_backend_sql.py`` or ``test_backend_kvs.py`` for examples) and update the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_2fe1b19a","line":346,"updated":"2015-03-05 09:49:24.000000000","message":"You want to add a note here, something like:\n\n..NOTE::\n\nThe structure of backend testing is in transition, migrating from   having all classes in a single file (test_backend.py) to one where there is a directory structure to reduce the size of the test files.  See:\n\n- keystone/tests/unit/backend/role\n- keystone/tests/unit/backend/domain_config\n\nDepending on which class you wish to update, you may find it in the new directory structure. If you are writing tests for a new class, then use the new paradym.","commit_id":"66f9a07421049959c5f6d5b906f96b40f6267f4f"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"90083d64b1b5ef90dd6254ca49840fef79ecc6a3","unresolved":false,"context_lines":[{"line_number":343,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"To add tests covering all drivers, update the base test class in"},{"line_number":346,"context_line":"``test_backend.py``."},{"line_number":347,"context_line":""},{"line_number":348,"context_line":"To add new drivers, subclass the ``test_backend.py`` (look towards"},{"line_number":349,"context_line":"``test_backend_sql.py`` or ``test_backend_kvs.py`` for examples) and update the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_8356c8d0","line":346,"in_reply_to":"9a80dd14_2fe1b19a","updated":"2015-03-06 01:50:46.000000000","message":"Done","commit_id":"66f9a07421049959c5f6d5b906f96b40f6267f4f"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"bd5e6d1e2e9c1aab08a0ba2e6134bfa1ae1f487e","unresolved":false,"context_lines":[{"line_number":263,"context_line":"you\u0027ll normally only want to run the test that hits your breakpoint:"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":".. code-block:: bash"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"    $ tox -e debug keystone.tests.test_auth.AuthWithToken.test_belongs_to"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"For reference, the ``debug`` tox environment implements the instructions"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa041b7_8c048fc0","line":266,"updated":"2015-04-03 00:04:46.000000000","message":"update the path here too","commit_id":"738d3a8f2e84fb336ca5f5b0aa7448b0cc8a2f44"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"dcfbe8dd95627c5359fcb2bfa296f7f5b37e2189","unresolved":false,"context_lines":[{"line_number":263,"context_line":"you\u0027ll normally only want to run the test that hits your breakpoint:"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":".. code-block:: bash"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"    $ tox -e debug keystone.tests.test_auth.AuthWithToken.test_belongs_to"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"For reference, the ``debug`` tox environment implements the instructions"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa041b7_1bef7a88","line":266,"in_reply_to":"baa041b7_8c048fc0","updated":"2015-04-03 17:10:57.000000000","message":"Done","commit_id":"738d3a8f2e84fb336ca5f5b0aa7448b0cc8a2f44"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"bd5e6d1e2e9c1aab08a0ba2e6134bfa1ae1f487e","unresolved":false,"context_lines":[{"line_number":307,"context_line":":class:`~keystone.tests.unit.test_backend.IdentityTests` that will work with"},{"line_number":308,"context_line":"the default drivers as configured in this project\u0027s etc/ directory."},{"line_number":309,"context_line":"``test_backend_sql.py`` subclasses those tests, changing the configuration by"},{"line_number":310,"context_line":"overriding with configuration files stored in the ``tests/config_files``"},{"line_number":311,"context_line":"directory aimed at enabling the SQL backend for the Identity module."},{"line_number":312,"context_line":""},{"line_number":313,"context_line":":class:`keystone.tests.unit.test_v2_keystoneclient.ClientDrivenTestCase`"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa041b7_2c3b439e","line":310,"updated":"2015-04-03 00:04:46.000000000","message":"the path changed: tests/unit/config_files","commit_id":"738d3a8f2e84fb336ca5f5b0aa7448b0cc8a2f44"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"dcfbe8dd95627c5359fcb2bfa296f7f5b37e2189","unresolved":false,"context_lines":[{"line_number":307,"context_line":":class:`~keystone.tests.unit.test_backend.IdentityTests` that will work with"},{"line_number":308,"context_line":"the default drivers as configured in this project\u0027s etc/ directory."},{"line_number":309,"context_line":"``test_backend_sql.py`` subclasses those tests, changing the configuration by"},{"line_number":310,"context_line":"overriding with configuration files stored in the ``tests/config_files``"},{"line_number":311,"context_line":"directory aimed at enabling the SQL backend for the Identity module."},{"line_number":312,"context_line":""},{"line_number":313,"context_line":":class:`keystone.tests.unit.test_v2_keystoneclient.ClientDrivenTestCase`"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa041b7_bbebee77","line":310,"in_reply_to":"baa041b7_2c3b439e","updated":"2015-04-03 17:10:57.000000000","message":"Done","commit_id":"738d3a8f2e84fb336ca5f5b0aa7448b0cc8a2f44"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"bd5e6d1e2e9c1aab08a0ba2e6134bfa1ae1f487e","unresolved":false,"context_lines":[{"line_number":323,"context_line":""},{"line_number":324,"context_line":".. WARNING::"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"    This may leave your database in an inconsistent state; attempt this in non-production environments only!"},{"line_number":327,"context_line":""},{"line_number":328,"context_line":"This is useful for testing the *next* migration in sequence (both forward \u0026"},{"line_number":329,"context_line":"backward) in a database under version control:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa041b7_0c599ffe","line":326,"updated":"2015-04-03 00:04:46.000000000","message":"noticed this is too long, could update it here or as follow-up","commit_id":"738d3a8f2e84fb336ca5f5b0aa7448b0cc8a2f44"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"dcfbe8dd95627c5359fcb2bfa296f7f5b37e2189","unresolved":false,"context_lines":[{"line_number":323,"context_line":""},{"line_number":324,"context_line":".. WARNING::"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"    This may leave your database in an inconsistent state; attempt this in non-production environments only!"},{"line_number":327,"context_line":""},{"line_number":328,"context_line":"This is useful for testing the *next* migration in sequence (both forward \u0026"},{"line_number":329,"context_line":"backward) in a database under version control:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa041b7_9b038a42","line":326,"in_reply_to":"baa041b7_0c599ffe","updated":"2015-04-03 17:10:57.000000000","message":"Done","commit_id":"738d3a8f2e84fb336ca5f5b0aa7448b0cc8a2f44"}]}
