The package for working with SQLAlchemy in unit tests
Project description
sqlalchemy-mock
The package for working with SQLAlchemy in unit tests, it mocks requests to database, and provides necessary functionality within unit tests
It doesn't work with existing databases and doesn't create any tests databases, thanks to this it works enouth fast
Installing
Exists a few aproaches to install package:
- You can clone this repository and run the next command to install package from local sourse:
pip install -e /path/to/repository - You can install this package from github:
pip install git+https://github.com/ivanostapiuk/sqlalchemy-mock.git - There is a package also in pypi:
pip install sqlalchemy-mock
How to use
By default primary key is 'uuid', but you can set another field as primary key and function to generate value, for example:
import uuid
db = Session(primary_key="uuid", primary_key_generate=lambda: str(uuid.uuid4()))
A simple example how to use it in flask:
import unittest
from app import flask_app
from sqlalchemy_mock import Session
from models import Model
class TestCase(unittest.TestCase):
@classmethod
def setUp(cls):
cls.app = flask_app.test_client()
cls.db = Session()
def test(self):
row = Model(field1="value1", field2="value2", field3="value3")
self.db.add(row)
self.db.commit()
with self.db.mock_session():
response = self.app.get(f"/get/model/object/{row.uuid}")
self.assertEqual(response.json["field1"], row.field1)
Runinng unittests
To run unittests use command:
python -m unittest
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sqlalchemy_mock-1.0.6.tar.gz.
File metadata
- Download URL: sqlalchemy_mock-1.0.6.tar.gz
- Upload date:
- Size: 5.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.4.2 CPython/3.10.6 Darwin/21.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e058490aa8ec73945192f9ec50dbf52940ff94cdf9a0b11a13d7151fbc45c08e
|
|
| MD5 |
ebe97ef192eadfa6d2be6d215cc54133
|
|
| BLAKE2b-256 |
e2260fdb81af3fdcd440df89cc3e91c8f2fc7bc1c89e698f81f99e968c3c8d15
|
File details
Details for the file sqlalchemy_mock-1.0.6-py3-none-any.whl.
File metadata
- Download URL: sqlalchemy_mock-1.0.6-py3-none-any.whl
- Upload date:
- Size: 7.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.4.2 CPython/3.10.6 Darwin/21.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a244722013b79e519ab8d28f0797d39e58587d51a41316b86780f593fd7526d
|
|
| MD5 |
82523a49c65a68701d65734e121273bb
|
|
| BLAKE2b-256 |
6cf1cf28205e7730d571bb424b3e7e2b83798ce7280e51882438f3321a855737
|