Metadata-Version: 2.1
Name: bqqtest
Version: 0.3.1
Summary: Test BigQuery query using BigQuery
Home-page: https://github.com/tamanobi
License: MIT
Author: tamanobi
Author-email: tamanobi@gmail.com
Requires-Python: >=3.7,<4.0
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Topic :: Utilities
Requires-Dist: google-cloud-bigquery (>=1.24.0,<2.0.0)
Requires-Dist: pandas (>=1.0.1,<2.0.0)
Project-URL: Documentation, https://github.com/tamanobi/bq-query-unittest
Project-URL: Repository, https://github.com/tamanobi/bq-query-unittest
Description-Content-Type: text/markdown

# WIP: BigQueryのクエリをテストするためのツール
<img alt="Run pytest" src="https://github.com/tamanobi/bq-query-unittest/workflows/Run%20Tests/badge.svg">

BigQueryへのクエリロジックのテストができます

# Basic Usage

```python
from bqqtest import QueryTest
from google.cloud import bigquery

expected = {'schema': [('name', 'STRING'), ('value', 'INT64')], 'datum': [['abc', 100]]}
tables = [{'name': 'hogehoge','schema': [('name', 'STRING'), ('value', 'INT64')], 'datum': [['abc', 100]]}]
query = {'query': 'SELECT * FROM hogehoge', 'params': []}
qt = QueryTest(bigquery.Client(), expected, tables, query)
success, diff = qt.run()
success # True
```

## 特徴

 * WITHを利用してテストデータを一時的に生成します。このデータはBigQueryに保存されません。BigQueryは保存されているデータ走査した量とAPIリクエスト数で課金されるため、課金額を抑えた状態でテストできます
 * テストしたいクエリ中の文字列を置換することで、FROMで指定しているテーブルを書き換えます。テストのためにクエリを書き直す必要はありません

## 注意
BigQueryへ直接クエリを発行します。

