Skip to content

Latest commit

 

History

History
73 lines (51 loc) · 2.47 KB

README.rst

File metadata and controls

73 lines (51 loc) · 2.47 KB

play sql

https://travis-ci.org/davidemoro/play_sql.svg?branch=develop Documentation Status

pytest-play support for SQL expressions and assertions

More info and examples on:

Features

This project defines a new pytest-play command:

- type: sql
  provider: play_sql
  database_url: postgresql://$db_user:$db_pwd@$db_host/$db_name
  query: SELECT id, title FROM invoices
  variable: invoice_id
  variable_expression: results.first()[0]
  assertion: invoice_id == $invoice_id

where:

  • database_url follows the format described http://docs.sqlalchemy.org/en/latest/core/engines.html#database-urls
  • variable_expression is a Python expression
    • results.fetchone() returns an array whose elements matches with the next row's columns and it could be invoked many times until there will be no more rows (eg: first call (1, 'first',), second call (2, 'second'))
    • results.first() returns an array whose elements matches with the first row's colums and it can be invoked exactly one time
    • results.fetchall() returns an array of tuples whose elements matches with the selected colums (eg: [(1, 'first'), (2, 'second'), (3, 'third')])

Twitter

pytest-play tweets happens here:

Credits

This package was created with Cookiecutter and the cookiecutter-play-plugin (based on audreyr/cookiecutter-pypackage project template).