From 5f54a5a0a7816c7ddb8f1e8a21fe5b9d3cbe2997 Mon Sep 17 00:00:00 2001 From: Ben Fitzhardinge Date: Sun, 1 Mar 2020 11:35:19 +0800 Subject: [PATCH 1/3] added additional import-lib package for python < 3.7 --- .travis.yml | 1 + CHANGELOG.md | 5 +++++ README.md | 1 + requirements.txt | 1 + setup.py | 6 +++++- tests/tests.py | 34 ++++++++++++++++++++++++++++++---- 6 files changed, 43 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index de45385..4abdb4b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,6 +4,7 @@ python: - "3.5" - "3.6" - "3.7" + - "3.8" # command to install dependencies cache: - pip diff --git a/CHANGELOG.md b/CHANGELOG.md index 5001fb5..0ed4277 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +## 0.5.2 +* added more test cases for .all +* added python 3.8 support in tests +* specified additonal packages for python3.6 + ## 0.5.1 * Enhanced testing and increased coverage * Fixed bug with .delete not removing an item from the cache diff --git a/README.md b/README.md index 3ad2c85..e14b0b5 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ [![Slack](https://img.shields.io/badge/chat-slack-ff69b4.svg)](https://slack.zappa.io/) [![Gun.io](https://img.shields.io/badge/made%20by-gun.io-blue.svg)](https://gun.io/) [![Patreon](https://img.shields.io/badge/support-patreon-brightgreen.svg)](https://patreon.com/zappa) + _NoDB isn't a database.. but it sort of looks like one!_ diff --git a/requirements.txt b/requirements.txt index 10b770f..7b160cf 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,3 +4,4 @@ appdirs>=1.4.3 funcsigs>=1.0.2 packaging>=16.8 pbr>=2.0.0 +importlib-resources>=1.1.0 ; python_version < '3.7' diff --git a/setup.py b/setup.py index 84ab3c1..047c9ec 100644 --- a/setup.py +++ b/setup.py @@ -17,9 +17,10 @@ setup( name='nodb', - version='0.5.1', + version='0.5.2', packages=['nodb'], install_requires=required, + extras_require={':python_version<"3.7"': ['importlib-resources']}, tests_require=test_required, test_suite='nose.collector', include_package_data=True, @@ -36,6 +37,9 @@ 'Programming Language :: Python', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3.5', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', 'Topic :: Internet :: WWW/HTTP', 'Topic :: Internet :: WWW/HTTP :: Dynamic Content', ], diff --git a/tests/tests.py b/tests/tests.py index 9905f87..6cef188 100644 --- a/tests/tests.py +++ b/tests/tests.py @@ -17,6 +17,7 @@ def random_string(length): return ''.join(random.choice(string.printable) for _ in range(length)) +# noinspection DuplicatedCode class TestNoDB(unittest.TestCase): # def setUp(self): # self.sleep_patch = mock.patch('time.sleep', return_value=None) @@ -144,19 +145,44 @@ def test_nodb_cache(self): bcp = nodb._get_base_cache_path() @moto.mock_s3 - def test_nodb_all(self): + def test_nodb_all_empty(self): # create dummy bucket and store some objects - bucket_name = 'dummy_bucket_12345_qwerty' + bucket_name = 'dummy_bucket_all_empty' self._create_mock_bucket(bucket_name) nodb = NoDB(bucket_name) nodb.index = "Name" + self.assertListEqual([], nodb.all()) + + @moto.mock_s3 + def test_nodb_all_results(self): + # create dummy bucket and store some objects + bucket_name = 'dummy_bucket_all_results' + self._create_mock_bucket(bucket_name) + + nodb = NoDB(bucket_name) + nodb.index = "Name" + + nodb.save({"Name": "John", "age": 19}) + nodb.save({"Name": "Jane", "age": 20}) + + self.assertListEqual([{"Name": "John", "age": 19}, {"Name": "Jane", "age": 20}], nodb.all()) + + @moto.mock_s3 + def test_nodb_all_json_results(self): + # create dummy bucket and store some objects + bucket_name = 'dummy_bucket_all_json' + self._create_mock_bucket(bucket_name) + + nodb = NoDB(bucket_name) + nodb.index = "Name" + nodb.serializer = "json" + nodb.save({"Name": "John", "age": 19}) nodb.save({"Name": "Jane", "age": 20}) - all_objects = nodb.all() - self.assertListEqual([{"Name": "John", "age": 19}, {"Name": "Jane", "age": 20}], all_objects) + self.assertListEqual([{"Name": "John", "age": 19}, {"Name": "Jane", "age": 20}], nodb.all()) def _create_mock_bucket(self, bucket_name): boto3.resource('s3').Bucket(bucket_name).create() From b8f06402935d0ead2e47ab60b984fcd484e5fcb2 Mon Sep 17 00:00:00 2001 From: Ben Fitzhardinge Date: Sun, 1 Mar 2020 11:40:42 +0800 Subject: [PATCH 2/3] travis install --upgrade for compatiility --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 4abdb4b..62c41b3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,7 +10,7 @@ cache: - pip install: - export BOTO_CONFIG=/dev/null - - "pip install setuptools --upgrade; pip install -r test_requirements.txt; python setup.py install" + - "pip install setuptools --upgrade; pip install --upgrade -r test_requirements.txt; python setup.py install" # command to run tests env: - AWS_ACCESS_KEY_ID=foo AWS_SECRET_ACCESS_KEY=bar TESTCASE=tests/tests.py From 28b2e9257dc88e2500052dcfcf4373681d35e102 Mon Sep 17 00:00:00 2001 From: Ben Fitzhardinge Date: Sun, 1 Mar 2020 11:49:33 +0800 Subject: [PATCH 3/3] use importlib-resources>=1.0.2 to make travis happy --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 7b160cf..6ef8021 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,4 +4,4 @@ appdirs>=1.4.3 funcsigs>=1.0.2 packaging>=16.8 pbr>=2.0.0 -importlib-resources>=1.1.0 ; python_version < '3.7' +importlib-resources>=1.0.2 ; python_version < '3.7'