From 9076cf6849a481c43844268191635da47124854d Mon Sep 17 00:00:00 2001 From: Grant Moore Date: Mon, 7 Feb 2022 12:50:23 -0500 Subject: [PATCH] test document loading --- env/.sample.env | 1 + scripts/distribute | 4 ++++ src/innoldb/tests/test_qldb.py | 36 ++++++++++++++++++++++++++-------- 3 files changed, 33 insertions(+), 8 deletions(-) diff --git a/env/.sample.env b/env/.sample.env index 2d4dd8a..04c0c35 100644 --- a/env/.sample.env +++ b/env/.sample.env @@ -4,4 +4,5 @@ LOG_LEVEL=NOTSET # DISTRIBUTION CONFIGURATION PYPI_USERNAME=__token__ +# Generate token for password: https://pypi.org/help/#apitoken PYPI_PASSWORD=xxxx \ No newline at end of file diff --git a/scripts/distribute b/scripts/distribute index 2864276..18a305e 100644 --- a/scripts/distribute +++ b/scripts/distribute @@ -1,6 +1,10 @@ #!/bin/bash +# NOTE: To use this script, you must configure your PyPi credentials in the /env/.env file. +# Leave the username set to '__token__' and set password to the value of your PyPi API +# token. See here for instructions on generating a PyPi token: https://pypi.org/help/#apitoken + SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" SCRIPT_NAME="install" SCRIPT_DES=$'Build and install the \e[3minnoldb\e[om from source.' diff --git a/src/innoldb/tests/test_qldb.py b/src/innoldb/tests/test_qldb.py index 2c215a3..e6b13ca 100644 --- a/src/innoldb/tests/test_qldb.py +++ b/src/innoldb/tests/test_qldb.py @@ -1,3 +1,4 @@ +import itertools import os import sys @@ -33,9 +34,13 @@ def test_ledger(table, ledger): def test_document_driver_init(mock_create_index, mock_create_table, mock_tables, mock_driver): document = Document(table='table', ledger='ledger') assert mock_driver.called + assert mock_driver.call_count == 2 assert mock_tables.called + assert mock_tables.call_count == 1 assert mock_create_table.called + assert mock_create_table.call_count == 1 assert mock_create_index.called + assert mock_create_index.call_count == 1 assert document.table == 'table' assert document.ledger == 'ledger' assert document.id is not None @@ -45,17 +50,32 @@ def test_document_driver_init(mock_create_index, mock_create_table, mock_tables, @patch('qldb.Driver.create_table') @patch('qldb.Driver.create_index') @patch('qldb.Driver.query_by_fields', - return_value=iter([{'lefty': 'loosey', 'righty': 'tighty'}])) + return_value=itertools.cycle([{'property': 'value'}])) @patch('qldb.Driver.insert', - return_value=iter([{'lefty': 'loosey', 'righty': 'tighty'}])) + return_value=itertools.cycle([{'property': 'value'}])) def test_document_driver_save(mock_insert, mock_query, mock_create_index, mock_create_table, mock_tables, mock_driver): document = Document(table='table', ledger='ledger') - document.lefty = 'loosey' - document.righty = 'tighty' + document.test_field = 'test value' document.save() - assert mock_driver.called - assert mock_tables.called - assert mock_create_table.called - assert mock_create_index.called + assert mock_driver.call_count == 5 assert mock_query.called + assert mock_query.call_count == 1 assert mock_insert.called + assert mock_insert.call_count == 1 + +@patch('qldb.Driver.driver') +@patch('qldb.Driver.tables') +@patch('qldb.Driver.create_table') +@patch('qldb.Driver.create_index') +@patch('qldb.Driver.query_by_fields', + return_value=itertools.cycle([{'property': 'value'}])) +@patch('qldb.Driver.update', + return_value=itertools.cycle([{'property': 'value'}])) +def test_document_driver_load(mock_update, mock_query, mock_create_index, mock_create_table, mock_tables, mock_driver): + document = Document(table='table', ledger='ledger', id="test") + document.save() + assert mock_driver.call_count == 6 + assert mock_query.called + assert mock_query.call_count == 2 + assert mock_update.called + assert mock_update.call_count == 1 \ No newline at end of file