kennethreitz / records

SQL for Humans™
https://pypi.python.org/pypi/records/
ISC License
7.16k stars 574 forks source link

tests/test_transactions.py refactored #147

Closed vlcinsky closed 6 years ago

vlcinsky commented 6 years ago

Refactored tests for queries in different transaction scenarios.

Tests parametrized to allow testing against different database endpoints, currently to sqlite in memory and sqlite in a file.

Test against postgresql table is commented out (in the test file and in tox.ini as dependency).

Some tests are failing and this is not consistent across backends.

vlcinsky commented 6 years ago

@gdtroszak, @fictorial, @kennethreitz could someone review the modifications in the tests are correct?

The tests are failing (e.g. some test against sqlite in a file fail while tests against sqlite in memory do not)

Here is test summary, when I run it against sqlite_memory, sqlite_file and psql (have enabled psql only locally, you have to do it in tox.ini and conftest.py yourself):

tests/test_transactions.py::test_plain_db[sqlite_memory] PASSED                                                                                     
tests/test_transactions.py::test_plain_db[sqlite_file] FAILED                                                                                       
tests/test_transactions.py::test_plain_db[psql] PASSED                                                                                                                                                             
tests/test_transactions.py::test_plain_conn[sqlite_memory] PASSED                       
tests/test_transactions.py::test_plain_conn[sqlite_file] PASSED                                 
tests/test_transactions.py::test_plain_conn[psql] PASSED            
tests/test_transactions.py::test_failing_transaction_self_managed[sqlite_memory] PASSED 
tests/test_transactions.py::test_failing_transaction_self_managed[sqlite_file] FAILED                                                                 
tests/test_transactions.py::test_failing_transaction_self_managed[psql] PASSED                                                                        
tests/test_transactions.py::test_failing_transaction[sqlite_memory] PASSED                                                                                                                                         
tests/test_transactions.py::test_failing_transaction[sqlite_file] FAILED                                                                                                                                           
tests/test_transactions.py::test_failing_transaction[psql] PASSED                                                                                                                                                  
tests/test_transactions.py::test_passing_transaction_self_managed[sqlite_memory] PASSED                                                                                                                            
tests/test_transactions.py::test_passing_transaction_self_managed[sqlite_file] FAILED           
tests/test_transactions.py::test_passing_transaction_self_managed[psql] PASSED
tests/test_transactions.py::test_passing_transaction[sqlite_memory] PASSED              
tests/test_transactions.py::test_passing_transaction[sqlite_file] FAILED          
tests/test_transactions.py::test_passing_transaction[psql] PASSED  

If I get positive review, I am going to merge it into master and ask someone to look at resolution.

vlcinsky commented 6 years ago

I did not receive any feedback but reviewing issues shows, failing test cases are reflecting already filed issues.