From 74ab2151f873b0453e1c60b5c0a8e1df89fb035c Mon Sep 17 00:00:00 2001 From: dandds Date: Thu, 27 Sep 2018 13:30:02 -0400 Subject: [PATCH 1/5] mandate python 3.6.6 and install pytest-cov --- .gitignore | 3 + Pipfile | 4 +- Pipfile.lock | 154 ++++++++++++++++++++++++++++++++++++++++----------- 3 files changed, 129 insertions(+), 32 deletions(-) diff --git a/.gitignore b/.gitignore index bed0892e..37bb5a94 100644 --- a/.gitignore +++ b/.gitignore @@ -41,3 +41,6 @@ config/dev.ini # uploads /uploads + +# coverage output +.coverage diff --git a/Pipfile b/Pipfile index fc9f4046..ecdd9383 100644 --- a/Pipfile +++ b/Pipfile @@ -21,6 +21,7 @@ requests = "*" apache-libcloud = "*" lockfile = "*" defusedxml = "*" +pytest = "*" [dev-packages] bandit = "*" @@ -33,9 +34,10 @@ pytest-watch = "*" factory-boy = "*" pytest-flask = "*" pytest-env = "*" +pytest-cov = "*" [requires] -python_version = "3.6" +python_version = "3.6.6" [pipenv] allow_prereleases = true diff --git a/Pipfile.lock b/Pipfile.lock index 82fb96d2..7e36f230 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,11 +1,11 @@ { "_meta": { "hash": { - "sha256": "e96fe800085344ee6147c09dc8a3828aa38edd93598c05b72a9944e7b0154616" + "sha256": "dacdaad116393f94e1d890aeb71bb16de7c1897b2e24a7a8e2c0c4a3a57cd72c" }, "pipfile-spec": 6, "requires": { - "python_version": "3.6" + "python_version": "3.6.6" }, "sources": [ { @@ -39,6 +39,20 @@ ], "version": "==0.24.0" }, + "atomicwrites": { + "hashes": [ + "sha256:0312ad34fcad8fac3704d441f7b317e50af620823353ec657a53e981f92920c0", + "sha256:ec9ae8adaae229e4f8446952d204a3e4b5fdd2d099f9be3aaf556120135fb3ee" + ], + "version": "==1.2.1" + }, + "attrs": { + "hashes": [ + "sha256:10cbf6e27dbce8c30807caf056c8eb50917e0eaafe86347671b57254006c3e69", + "sha256:ca4be454458f9dec299268d472aaa5a11f67a4ff70093396e1ceae9c76cf4bbb" + ], + "version": "==18.2.0" + }, "certifi": { "hashes": [ "sha256:376690d6f16d32f9d1fe8932551d80b23e9d393a8578c5633a2ed39a64861638", @@ -92,10 +106,10 @@ }, "click": { "hashes": [ - "sha256:29f99fc6125fbc931b758dc053b3114e55c77a6e4c6c3a2674a2dc986016381d", - "sha256:f15516df478d5a56180fbf80e68f206010e6d160fc39fa508b65e035fd75130b" + "sha256:2335065e6395b9e67ca716de5f7526736bfa6ceead690adf616d925bdc622b13", + "sha256:5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7" ], - "version": "==6.7" + "version": "==7.0" }, "cryptography": { "hashes": [ @@ -208,6 +222,14 @@ ], "version": "==1.0" }, + "more-itertools": { + "hashes": [ + "sha256:c187a73da93e7a8acc0001572aebc7e3c69daf7bf6881a2cea10650bd4420092", + "sha256:c476b5d3a34e12d40130bc2f935028b5f636df8f372dc2c1c01dc19681b2039e", + "sha256:fcbfeaea0be121980e15bc97b3817b5202ca73d0eae185b4550cbfce2a3ebb3d" + ], + "version": "==4.3.0" + }, "pendulum": { "hashes": [ "sha256:0ec5371949e147753661e1e98721273170638034dfceb578f29d69d93d3d474b", @@ -227,6 +249,13 @@ "index": "pypi", "version": "==2.0.3" }, + "pluggy": { + "hashes": [ + "sha256:6e3836e39f4d36ae72840833db137f7b7d35105079aee6ec4a62d9f80d594dd1", + "sha256:95eb8364a4708392bae89035f45341871286a333f749c3141c20573d2b3876e1" + ], + "version": "==0.7.1" + }, "psycopg2-binary": { "hashes": [ "sha256:04afb59bbbd2eab3148e6816beddc74348078b8c02a1113ea7f7822f5be4afe3", @@ -263,11 +292,18 @@ "index": "pypi", "version": "==2.7.5" }, + "py": { + "hashes": [ + "sha256:06a30435d058473046be836d3fc4f27167fd84c45b99704f2fb5509ef61f9af1", + "sha256:50402e9d1c9005d759426988a492e0edaadb7f4e68bcddfea586bc7432d009c6" + ], + "version": "==1.6.0" + }, "pycparser": { "hashes": [ - "sha256:99a8ca03e29851d96616ad0404b4aad7d9ee16f25c9f9708a11faf2810f7b226" + "sha256:a988718abfad80b6b157acce7bf130a30876d27603738ac39f140993246b25b3" ], - "version": "==2.18" + "version": "==2.19" }, "pyopenssl": { "hashes": [ @@ -277,6 +313,14 @@ "index": "pypi", "version": "==18.0.0" }, + "pytest": { + "hashes": [ + "sha256:0a72d8a9f559c006ba153e0c9b4838efd7b656cf1f993747ba7128770d6eb12c", + "sha256:95529588ff4e85114a0b0ad8e9cf0131ca47d46b28230e25366c5aba66b1d854" + ], + "index": "pypi", + "version": "==3.8.1" + }, "python-dateutil": { "hashes": [ "sha256:1adb80e7a782c12e52ef9a8182bebeb73f1d7e24e374397af06fb4956c8dc5c0", @@ -322,10 +366,10 @@ }, "sqlalchemy": { "hashes": [ - "sha256:ef6569ad403520ee13e180e1bfd6ed71a0254192a934ec1dbd3dbf48f4aa9524" + "sha256:c5951d9ef1d5404ed04bae5a16b60a0779087378928f997a294d1229c6ca4d3e" ], "index": "pypi", - "version": "==1.2.11" + "version": "==1.2.12" }, "unipath": { "hashes": [ @@ -425,18 +469,18 @@ }, "black": { "hashes": [ - "sha256:22158b89c1a6b4eb333a1e65e791a3f8b998cf3b11ae094adb2570f31f769a44", - "sha256:4b475bbd528acce094c503a3d2dbc2d05a4075f6d0ef7d9e7514518e14cc5191" + "sha256:817243426042db1d36617910df579a54f1afd659adb96fc5032fcf4b36209739", + "sha256:e030a9a28f542debc08acceb273f228ac422798e5215ba2a791a6ddeaaca22a5" ], "index": "pypi", - "version": "==18.6b4" + "version": "==18.9b0" }, "click": { "hashes": [ - "sha256:29f99fc6125fbc931b758dc053b3114e55c77a6e4c6c3a2674a2dc986016381d", - "sha256:f15516df478d5a56180fbf80e68f206010e6d160fc39fa508b65e035fd75130b" + "sha256:2335065e6395b9e67ca716de5f7526736bfa6ceead690adf616d925bdc622b13", + "sha256:5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7" ], - "version": "==6.7" + "version": "==7.0" }, "colorama": { "hashes": [ @@ -445,6 +489,46 @@ ], "version": "==0.3.9" }, + "coverage": { + "hashes": [ + "sha256:05adfd7b9058026377b65af69f14abd8f74c8df99651aafc1b63a252864ebd22", + "sha256:0dcf381f51f589f1f797449602a7fe4e63be8a7963c259c13742af3f30be902e", + "sha256:11a4bb30306def2fa012e3429de44a93ef2ae3b6ad3f6b800f6c578658a5c402", + "sha256:166c957a38b034050a14201f64eec11fc95e17bf2ba31fc07d887db82bae1a47", + "sha256:184e6680f85fcc1b371f67ab732290ecf96a225448198e14ec170986db47b0aa", + "sha256:1904deb72c561a8e445feb190db07ca4b165ee85567894b4b85fdb9bf21a27c0", + "sha256:1f2003b83426cfaadebff8b9bb1fb3650134a15fda3a81434cc8415896d7a7bc", + "sha256:1f462997b1804f8b5d1ee2b262626fc76b746e66023eb64f529af35991167c7c", + "sha256:213697f49eba45b5fb05e77f63bdb7c0d13eed12dcd08e6af43224615b28b524", + "sha256:245a5bde6f777dc6a2e797c2d9cf997e35508ed02bb87105fec4f65550737d3b", + "sha256:2557da232b0daeb55afe2f7e55f7b80c56bfa2981864c6638b32b5691da9f4c3", + "sha256:395a8525f1456439a5d6c248bc1397040491047e3e0e0c4ceb2059155419cd3b", + "sha256:43d6334b35e50e74d034ec075ffd9082c559bca624924af6c7e9d2b8aef0f362", + "sha256:4566c74bde36aaaef0372fb11678edf43dcc73f4eb8dbb6987250658c4a3b95a", + "sha256:4946ee7df3b2223d6be40a3531a869e714abf1f159047ba5d0372e69a79e5d13", + "sha256:5305bc1d8571d1162b9c843229806e4f4ac6da6eeb94dc4a06cae7616854d569", + "sha256:6d39cc527c9c7a30f20bed14b5cf9a7e87ef1f3528c1847d1c81caf75a31ebb6", + "sha256:8bd69d3cba21d885df6fe8728cee779a722da08cf84072558956c148b5ab61e5", + "sha256:95a0f6d78b898865b83d0027ffcff4e8f0b1b7323515f21be4b8be2824b698e3", + "sha256:a1d0fcbbe0735eb66c6622266b12e60ea8d37ada405cb8f73b154c5eec467187", + "sha256:ab706bfbb365f232be01a536a9199ee6bfc80c9b63fb7825fdd5f4ae5cc2a12c", + "sha256:ade570b15380d2752dea759e98aa36be73ea7710703fbd71e070602edd0bf774", + "sha256:afbf4cee68d2f2968b06951cf16c0b18513eb59bb3af0685084de6cacb04e217", + "sha256:bbc8913cd5889df7eab597a4b4074a2c6c5ee6ca9aad58a9ba0f3f847b1a99df", + "sha256:bd5428ab378a7432e43afa52b6bb9c5d48f5029f395a97dc9ebf87fc0f2a9d8b", + "sha256:c3efe0185583443e04f8519818f4772d92fbbdf5f9fa23165f2f2482b20efc37", + "sha256:d40277e918da575d008e2955a0ca6600f870bdb3570b07ee3a754ea9301862e7", + "sha256:d4b6ec6951e20ea3f5d1fefe35b4bcbf692d4306f1b932c28dd2ee4cb167152c", + "sha256:d5837e813ad62c856bc80f988c4e24e0d2b7b22a8a1dad8c1cfcb8ff4d4750a8", + "sha256:d9583ae0e152c5fb0142cb55c3a11e1b13006c00d0c3e8b35ccc2d4ebfc6645e", + "sha256:de5d5284e410957dd99799a59707ed3dd3c462adb9e116abc8abb8177b87b087", + "sha256:e27380cbe4088a1df514e75aa4fe6dc9e98bbd7902cf28ab16e8b2de0f8cb344", + "sha256:e624daef32f8808296312e72190c7e576852cb75c27935b31c1bbbde14ab353c", + "sha256:ef4278e5ac1e47c731ec5e3e48351721e01d2eb4fefa9b97fcdba7495a82cfad", + "sha256:fd1da071003e2d16947262af1adeb39a8d592c198f1c670b0e898f3c944944ac" + ], + "version": "==5.0a2" + }, "decorator": { "hashes": [ "sha256:2c51dff8ef3c447388fe5e4453d24a2bf128d3a4c32af3fabef1f01c6851ab82", @@ -468,10 +552,10 @@ }, "faker": { "hashes": [ - "sha256:ea7cfd3aeb1544732d08bd9cfba40c5b78e3a91e17b1a0698ab81bfc5554c628", - "sha256:f6d67f04abfb2b4bea7afc7fa6c18cf4c523a67956e455668be9ae42bccc21ad" + "sha256:74b32991f8e08e4f2f84858b919eca253becfaec4b3fa5fcff7fdbd70d5d78b1", + "sha256:c2ce42dd8361e6d392276006d757532562463c8642b1086709584200b7fd7758" ], - "version": "==0.9.0" + "version": "==0.9.1" }, "flask": { "hashes": [ @@ -504,11 +588,11 @@ }, "ipython": { "hashes": [ - "sha256:007dcd929c14631f83daff35df0147ea51d1af420da303fd078343878bd5fb62", - "sha256:b0f2ef9eada4a68ef63ee10b6dde4f35c840035c50fd24265f8052c98947d5a4" + "sha256:47b17ea874454a5c2eacc2732b04a750d260b01ba479323155ac8a39031f5535", + "sha256:9fed506c3772c875a3048bc134a25e6f5e997b1569b2636f6a5d891f34cbfd46" ], "index": "pypi", - "version": "==6.5.0" + "version": "==7.0.1" }, "ipython-genutils": { "hashes": [ @@ -630,10 +714,10 @@ }, "pickleshare": { "hashes": [ - "sha256:84a9257227dfdd6fe1b4be1319096c20eb85ff1e82c7932f36efccfe1b09737b", - "sha256:c9a2541f25aeabc070f12f452e1f2a8eae2abd51e1cd19e8430402bdf4c1d8b5" + "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca", + "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56" ], - "version": "==0.7.4" + "version": "==0.7.5" }, "pluggy": { "hashes": [ @@ -644,11 +728,11 @@ }, "prompt-toolkit": { "hashes": [ - "sha256:1df952620eccb399c53ebb359cc7d9a8d3a9538cb34c5a1344bdbeb29fbcc381", - "sha256:3f473ae040ddaa52b52f97f6b4a493cfa9f5920c255a12dc56a7d34397a398a4", - "sha256:858588f1983ca497f1cf4ffde01d978a3ea02b01c8a26a8bbc5cd2e66d816917" + "sha256:12e076b21178064b5627f74c4819559c125e31046b55a28d5e024b85fef5617e", + "sha256:f2289fe9dd7f27c305421bffe880a543b04cc67660796a2a912595dbcd0d209f", + "sha256:ff58ce8bb82c11c43416dd3eec7701dcbe8c576e2d7649f1d2b9d21a2fd93808" ], - "version": "==1.0.15" + "version": "==2.0.4" }, "ptyprocess": { "hashes": [ @@ -681,11 +765,19 @@ }, "pytest": { "hashes": [ - "sha256:453cbbbe5ce6db38717d282b758b917de84802af4288910c12442984bde7b823", - "sha256:a8a07f84e680482eb51e244370aaf2caa6301ef265f37c2bdefb3dd3b663f99d" + "sha256:0a72d8a9f559c006ba153e0c9b4838efd7b656cf1f993747ba7128770d6eb12c", + "sha256:95529588ff4e85114a0b0ad8e9cf0131ca47d46b28230e25366c5aba66b1d854" ], "index": "pypi", - "version": "==3.8.0" + "version": "==3.8.1" + }, + "pytest-cov": { + "hashes": [ + "sha256:513c425e931a0344944f84ea47f3956be0e416d95acbd897a44970c8d926d5d7", + "sha256:e360f048b7dae3f2f2a9a4d067b2dd6b6a015d384d1577c994a43f3f7cbad762" + ], + "index": "pypi", + "version": "==2.6.0" }, "pytest-env": { "hashes": [ From 12307769d42210e836fd29996994d23119a898b0 Mon Sep 17 00:00:00 2001 From: dandds Date: Thu, 27 Sep 2018 14:09:24 -0400 Subject: [PATCH 2/5] rerun formatter for pretty 3.6.6 numbers --- atst/domain/reports.py | 10 +++++----- atst/domain/requests/requests.py | 4 ++-- atst/eda_client.py | 2 +- tests/domain/test_requests.py | 4 ++-- tests/factories.py | 14 +++++++------- tests/test_eda_client.py | 2 +- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/atst/domain/reports.py b/atst/domain/reports.py index 03ffd427..cda67e0d 100644 --- a/atst/domain/reports.py +++ b/atst/domain/reports.py @@ -123,10 +123,10 @@ CUMULATIVE_BUDGET_AARDVARK = { "03/2018": {"spend": 7881, "cumulative": 17738}, "04/2018": {"spend": 14010, "cumulative": 31748}, "05/2018": {"spend": 43510, "cumulative": 75259}, - "06/2018": {"spend": 41725, "cumulative": 116984}, - "07/2018": {"spend": 41328, "cumulative": 158312}, - "08/2018": {"spend": 47491, "cumulative": 205803}, - "09/2018": {"spend": 36028, "cumulative": 241831}, + "06/2018": {"spend": 41725, "cumulative": 116_984}, + "07/2018": {"spend": 41328, "cumulative": 158_312}, + "08/2018": {"spend": 47491, "cumulative": 205_803}, + "09/2018": {"spend": 36028, "cumulative": 241_831}, } MONTHLY_SPEND_BELUGA = { @@ -152,7 +152,7 @@ REPORT_FIXTURE_MAP = { "Beluga": { "cumulative": CUMULATIVE_BUDGET_BELUGA, "monthly": MONTHLY_SPEND_BELUGA, - "budget": 70_000, + "budget": 70000, }, } diff --git a/atst/domain/requests/requests.py b/atst/domain/requests/requests.py index e61df2a9..dad05d40 100644 --- a/atst/domain/requests/requests.py +++ b/atst/domain/requests/requests.py @@ -28,8 +28,8 @@ def create_revision_from_request_body(body): class Requests(object): - AUTO_APPROVE_THRESHOLD = 1000000 - ANNUAL_SPEND_THRESHOLD = 1000000 + AUTO_APPROVE_THRESHOLD = 1_000_000 + ANNUAL_SPEND_THRESHOLD = 1_000_000 @classmethod def create(cls, creator, body): diff --git a/atst/eda_client.py b/atst/eda_client.py index b91eb1df..51b25522 100644 --- a/atst/eda_client.py +++ b/atst/eda_client.py @@ -97,7 +97,7 @@ class MockEDAClient(EDAClientBase): "location": "https://docsrv1.nit.disa.mil:443/eda/enforcer/C0414345.PDF?ver=1.4&loc=Y29udHJhY3RzL29nZGVuL3ZlbmRvci8xOTk4LzA5LzE0L0MwNDE0MzQ1LlBERg==&sourceurl=aHR0cHM6Ly9lZGE0Lm5pdC5kaXNhLm1pbC9wbHMvdXNlci9uZXdfYXBwLkdldF9Eb2M_cFRhYmxlX0lEPTImcFJlY29yZF9LZXk9OEE2ODExNjM2RUY5NkU2M0UwMzQwMDYwQjBCMjgyNkM=&uid=6CFC2B2322E86FD5E054002264936E3C&qid=19344159&signed=G&qdate=20180529194407GMT&token=6xQICrrrfIMciEJSpXmfsAYrToM=", "pay_dodaac": None, "pco_mod": "02", - "amount": 2000000, + "amount": 2_000_000, } else: return None diff --git a/tests/domain/test_requests.py b/tests/domain/test_requests.py index 286e906a..cd8b1101 100644 --- a/tests/domain/test_requests.py +++ b/tests/domain/test_requests.py @@ -41,14 +41,14 @@ def test_new_request_has_started_status(): def test_auto_approve_less_than_1m(): - new_request = RequestFactory.create(initial_revision={"dollar_value": 999999}) + new_request = RequestFactory.create(initial_revision={"dollar_value": 999_999}) request = Requests.submit(new_request) assert request.status == RequestStatus.PENDING_FINANCIAL_VERIFICATION def test_dont_auto_approve_if_dollar_value_is_1m_or_above(): - new_request = RequestFactory.create(initial_revision={"dollar_value": 1000000}) + new_request = RequestFactory.create(initial_revision={"dollar_value": 1_000_000}) request = Requests.submit(new_request) assert request.status == RequestStatus.PENDING_CCPO_ACCEPTANCE diff --git a/tests/factories.py b/tests/factories.py index a26ee452..0ab5f5fd 100644 --- a/tests/factories.py +++ b/tests/factories.py @@ -119,7 +119,7 @@ class RequestFactory(Base): ) @classmethod - def create_initial_revision(cls, request, dollar_value=1000000): + def create_initial_revision(cls, request, dollar_value=1_000_000): user = request.creator default_data = dict( name=factory.Faker("domain_word"), @@ -212,12 +212,12 @@ class TaskOrderFactory(Base): random.randrange(1, 28), ) ) - clin_0001 = random.randrange(100, 100000) - clin_0003 = random.randrange(100, 100000) - clin_1001 = random.randrange(100, 100000) - clin_1003 = random.randrange(100, 100000) - clin_2001 = random.randrange(100, 100000) - clin_2003 = random.randrange(100, 100000) + clin_0001 = random.randrange(100, 100_000) + clin_0003 = random.randrange(100, 100_000) + clin_1001 = random.randrange(100, 100_000) + clin_1003 = random.randrange(100, 100_000) + clin_2001 = random.randrange(100, 100_000) + clin_2003 = random.randrange(100, 100_000) class WorkspaceFactory(Base): diff --git a/tests/test_eda_client.py b/tests/test_eda_client.py index c772bd2d..03380ee1 100644 --- a/tests/test_eda_client.py +++ b/tests/test_eda_client.py @@ -12,7 +12,7 @@ def test_list_contracts(): def test_get_contract(): result = client.get_contract("DCA10096D0052", "y") assert result["contract_no"] == "DCA10096D0052" - assert result["amount"] == 2000000 + assert result["amount"] == 2_000_000 def test_contract_not_found(): From 00456152a8a9127707d52bb00c4b11e78acd04a0 Mon Sep 17 00:00:00 2001 From: dandds Date: Thu, 27 Sep 2018 15:43:08 -0400 Subject: [PATCH 3/5] include pytest-cov options as pytest defaults --- pytest.ini | 1 + 1 file changed, 1 insertion(+) diff --git a/pytest.ini b/pytest.ini index 26ee1897..91d52803 100644 --- a/pytest.ini +++ b/pytest.ini @@ -2,3 +2,4 @@ norecursedirs = .venv .git node_modules env = D:FLASK_ENV=test +addopts = --cov=atst --cov-report term --cov-fail-under 90 From b667d3331cf7865dd2be198e6ba08981130e961e Mon Sep 17 00:00:00 2001 From: dandds Date: Tue, 9 Oct 2018 10:07:09 -0400 Subject: [PATCH 4/5] mistakenly had pytest in non-dev dependencies list --- Pipfile | 1 - Pipfile.lock | 163 +++++++++++++++++++-------------------------------- 2 files changed, 60 insertions(+), 104 deletions(-) diff --git a/Pipfile b/Pipfile index ecdd9383..3df91220 100644 --- a/Pipfile +++ b/Pipfile @@ -21,7 +21,6 @@ requests = "*" apache-libcloud = "*" lockfile = "*" defusedxml = "*" -pytest = "*" [dev-packages] bandit = "*" diff --git a/Pipfile.lock b/Pipfile.lock index 7e36f230..474b822c 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "dacdaad116393f94e1d890aeb71bb16de7c1897b2e24a7a8e2c0c4a3a57cd72c" + "sha256": "c95e31f2315762631fcae7253275e46cbca22bbfd4467cf454e74163743c6ae7" }, "pipfile-spec": 6, "requires": { @@ -39,20 +39,6 @@ ], "version": "==0.24.0" }, - "atomicwrites": { - "hashes": [ - "sha256:0312ad34fcad8fac3704d441f7b317e50af620823353ec657a53e981f92920c0", - "sha256:ec9ae8adaae229e4f8446952d204a3e4b5fdd2d099f9be3aaf556120135fb3ee" - ], - "version": "==1.2.1" - }, - "attrs": { - "hashes": [ - "sha256:10cbf6e27dbce8c30807caf056c8eb50917e0eaafe86347671b57254006c3e69", - "sha256:ca4be454458f9dec299268d472aaa5a11f67a4ff70093396e1ceae9c76cf4bbb" - ], - "version": "==18.2.0" - }, "certifi": { "hashes": [ "sha256:376690d6f16d32f9d1fe8932551d80b23e9d393a8578c5633a2ed39a64861638", @@ -222,14 +208,6 @@ ], "version": "==1.0" }, - "more-itertools": { - "hashes": [ - "sha256:c187a73da93e7a8acc0001572aebc7e3c69daf7bf6881a2cea10650bd4420092", - "sha256:c476b5d3a34e12d40130bc2f935028b5f636df8f372dc2c1c01dc19681b2039e", - "sha256:fcbfeaea0be121980e15bc97b3817b5202ca73d0eae185b4550cbfce2a3ebb3d" - ], - "version": "==4.3.0" - }, "pendulum": { "hashes": [ "sha256:0ec5371949e147753661e1e98721273170638034dfceb578f29d69d93d3d474b", @@ -249,13 +227,6 @@ "index": "pypi", "version": "==2.0.3" }, - "pluggy": { - "hashes": [ - "sha256:6e3836e39f4d36ae72840833db137f7b7d35105079aee6ec4a62d9f80d594dd1", - "sha256:95eb8364a4708392bae89035f45341871286a333f749c3141c20573d2b3876e1" - ], - "version": "==0.7.1" - }, "psycopg2-binary": { "hashes": [ "sha256:04afb59bbbd2eab3148e6816beddc74348078b8c02a1113ea7f7822f5be4afe3", @@ -292,13 +263,6 @@ "index": "pypi", "version": "==2.7.5" }, - "py": { - "hashes": [ - "sha256:06a30435d058473046be836d3fc4f27167fd84c45b99704f2fb5509ef61f9af1", - "sha256:50402e9d1c9005d759426988a492e0edaadb7f4e68bcddfea586bc7432d009c6" - ], - "version": "==1.6.0" - }, "pycparser": { "hashes": [ "sha256:a988718abfad80b6b157acce7bf130a30876d27603738ac39f140993246b25b3" @@ -313,14 +277,6 @@ "index": "pypi", "version": "==18.0.0" }, - "pytest": { - "hashes": [ - "sha256:0a72d8a9f559c006ba153e0c9b4838efd7b656cf1f993747ba7128770d6eb12c", - "sha256:95529588ff4e85114a0b0ad8e9cf0131ca47d46b28230e25366c5aba66b1d854" - ], - "index": "pypi", - "version": "==3.8.1" - }, "python-dateutil": { "hashes": [ "sha256:1adb80e7a782c12e52ef9a8182bebeb73f1d7e24e374397af06fb4956c8dc5c0", @@ -433,10 +389,10 @@ }, "astroid": { "hashes": [ - "sha256:292fa429e69d60e4161e7612cb7cc8fa3609e2e309f80c224d93a76d5e7b58be", - "sha256:c7013d119ec95eb626f7a2011f0b63d0c9a095df9ad06d8507b37084eada1a8d" + "sha256:37f8e89d0e78a649edeb3751b408e96d103e76a1df19d79a0a3b559d0f4f7cd1", + "sha256:39870f07180e50c5a1c73a6de7b7cb487d6db649c0acd9917f154617e09f9e94" ], - "version": "==2.0.4" + "version": "==2.1.0.dev0" }, "atomicwrites": { "hashes": [ @@ -491,43 +447,43 @@ }, "coverage": { "hashes": [ - "sha256:05adfd7b9058026377b65af69f14abd8f74c8df99651aafc1b63a252864ebd22", - "sha256:0dcf381f51f589f1f797449602a7fe4e63be8a7963c259c13742af3f30be902e", - "sha256:11a4bb30306def2fa012e3429de44a93ef2ae3b6ad3f6b800f6c578658a5c402", - "sha256:166c957a38b034050a14201f64eec11fc95e17bf2ba31fc07d887db82bae1a47", - "sha256:184e6680f85fcc1b371f67ab732290ecf96a225448198e14ec170986db47b0aa", - "sha256:1904deb72c561a8e445feb190db07ca4b165ee85567894b4b85fdb9bf21a27c0", - "sha256:1f2003b83426cfaadebff8b9bb1fb3650134a15fda3a81434cc8415896d7a7bc", - "sha256:1f462997b1804f8b5d1ee2b262626fc76b746e66023eb64f529af35991167c7c", - "sha256:213697f49eba45b5fb05e77f63bdb7c0d13eed12dcd08e6af43224615b28b524", - "sha256:245a5bde6f777dc6a2e797c2d9cf997e35508ed02bb87105fec4f65550737d3b", - "sha256:2557da232b0daeb55afe2f7e55f7b80c56bfa2981864c6638b32b5691da9f4c3", - "sha256:395a8525f1456439a5d6c248bc1397040491047e3e0e0c4ceb2059155419cd3b", - "sha256:43d6334b35e50e74d034ec075ffd9082c559bca624924af6c7e9d2b8aef0f362", - "sha256:4566c74bde36aaaef0372fb11678edf43dcc73f4eb8dbb6987250658c4a3b95a", - "sha256:4946ee7df3b2223d6be40a3531a869e714abf1f159047ba5d0372e69a79e5d13", - "sha256:5305bc1d8571d1162b9c843229806e4f4ac6da6eeb94dc4a06cae7616854d569", - "sha256:6d39cc527c9c7a30f20bed14b5cf9a7e87ef1f3528c1847d1c81caf75a31ebb6", - "sha256:8bd69d3cba21d885df6fe8728cee779a722da08cf84072558956c148b5ab61e5", - "sha256:95a0f6d78b898865b83d0027ffcff4e8f0b1b7323515f21be4b8be2824b698e3", - "sha256:a1d0fcbbe0735eb66c6622266b12e60ea8d37ada405cb8f73b154c5eec467187", - "sha256:ab706bfbb365f232be01a536a9199ee6bfc80c9b63fb7825fdd5f4ae5cc2a12c", - "sha256:ade570b15380d2752dea759e98aa36be73ea7710703fbd71e070602edd0bf774", - "sha256:afbf4cee68d2f2968b06951cf16c0b18513eb59bb3af0685084de6cacb04e217", - "sha256:bbc8913cd5889df7eab597a4b4074a2c6c5ee6ca9aad58a9ba0f3f847b1a99df", - "sha256:bd5428ab378a7432e43afa52b6bb9c5d48f5029f395a97dc9ebf87fc0f2a9d8b", - "sha256:c3efe0185583443e04f8519818f4772d92fbbdf5f9fa23165f2f2482b20efc37", - "sha256:d40277e918da575d008e2955a0ca6600f870bdb3570b07ee3a754ea9301862e7", - "sha256:d4b6ec6951e20ea3f5d1fefe35b4bcbf692d4306f1b932c28dd2ee4cb167152c", - "sha256:d5837e813ad62c856bc80f988c4e24e0d2b7b22a8a1dad8c1cfcb8ff4d4750a8", - "sha256:d9583ae0e152c5fb0142cb55c3a11e1b13006c00d0c3e8b35ccc2d4ebfc6645e", - "sha256:de5d5284e410957dd99799a59707ed3dd3c462adb9e116abc8abb8177b87b087", - "sha256:e27380cbe4088a1df514e75aa4fe6dc9e98bbd7902cf28ab16e8b2de0f8cb344", - "sha256:e624daef32f8808296312e72190c7e576852cb75c27935b31c1bbbde14ab353c", - "sha256:ef4278e5ac1e47c731ec5e3e48351721e01d2eb4fefa9b97fcdba7495a82cfad", - "sha256:fd1da071003e2d16947262af1adeb39a8d592c198f1c670b0e898f3c944944ac" + "sha256:043d55226aec1d2baf4b2fcab5c204561ccf184a388096f41e396c1c092aff38", + "sha256:10bfd0b80b01d0684f968abbe1186bc19962e07b4b7601bb43b175b617cf689d", + "sha256:17e59864f19b3233032edb0566f26c25cc7f599503fb34d2645b5ce1fd6c2c3c", + "sha256:2105ee183c51fed27e2b6801029b3903f5c2774c78e3f53bd920ca468d0f5679", + "sha256:236505d15af6c7b7bfe2a9485db4b2bdea21d9239351483326184314418c79a8", + "sha256:237284425271db4f30d458b355decf388ab20b05278bdf8dc9a65de0973726c6", + "sha256:2619f0369412e22f01ad8f5bea503f15fb099a5eef3c31f1edb81dcb29221bf7", + "sha256:26d8eea4c840b73c61a1081d68bceb57b21a2d4f7afda6cac8ac38cb05226b00", + "sha256:39a3740f7721155f4269aedf67b211101c07bd2111b334dfd69b807156ab15d9", + "sha256:4bd0c42db8efc8a60965769796d43a5570906a870bc819f7388860aa72779d1b", + "sha256:4dcddadea47ac30b696956bd18365cd3a86724821656601151e263b86d34798f", + "sha256:51ea341289ac4456db946a25bd644f5635e5ae3793df262813cde875887d25c8", + "sha256:5415cafb082dad78935b3045c2e5d8907f436d15ad24c3fdb8e1839e084e4961", + "sha256:5631f1983074b33c35dbb84607f337b9d7e9808116d7f0f2cb7b9d6d4381d50e", + "sha256:5e9249bc361cd22565fd98590a53fd25a3dd666b74791ed7237fa99de938bbed", + "sha256:61ad080b78287e8a10ae485a194fc552625d4ed4196ab32cc8987e61bdcceb0f", + "sha256:6a48746154f1331f28ef9e889c625b5b15a36cb86dd8021b4bdd1180a2186aa5", + "sha256:71d376dbac64855ed693bc1ca121794570fe603e8783cdfa304ec6825d4e768f", + "sha256:749ebd8a615337747592bd1523dfc4af7199b2bf6403b55f96c728668aeff91f", + "sha256:8575f3e1a12eae8d2fd3935dcc6fad2d5a7cf32bc15150a69d3bede229e970d5", + "sha256:8ec528b585b95234e9c0c31dcd0a89152d8ed82b4567aa62dbcb3e9a0600deee", + "sha256:a1a9ccd879811437ca0307c914f136d6edb85bd0470e6d4966c6397927bcabd9", + "sha256:abd956c334752776230b779537d911a5a12fcb69d8fd3fe332ae63a140301ae6", + "sha256:ad18f836017f2e8881145795f483636564807aaed54223459915a0d4735300cf", + "sha256:b07ac0b1533298ddbc54c9bf3464664895f22899fec027b8d6c8d3ac59023283", + "sha256:c3ae3527c72581595952977c1b391b9e7313d236216581099ee38e4240d997fe", + "sha256:d5309c5c6750ff882d47c0d4d5952d2384232e522db56d2bb63beb01dcb07f46", + "sha256:d9385f1445e30e8e42b75a36a7899ea1fd0f5784233a626625d70f9b087de404", + "sha256:db2d1fcd32dbeeb914b2660af1838e9c178b75173f95fd221b1f9410b5d3ef1d", + "sha256:e1dec211147f1fd7cb7a0f9a96aeeca467a5af02d38911307b3b8c2324f9917e", + "sha256:e20f11023ab77ad08dcdbf3a740e2512f73ebfbbfcb4f08f0b8a8f65f98210a2", + "sha256:e2cc3fc55566990059afb0f06141e136095898b55e977af66d0b498415098792", + "sha256:e96dffc1fa57bb8c1c238f3d989341a97302492d09cb11f77df031112621c35c", + "sha256:ed4d97eb0ecdee29d0748acd84e6380729f78ce5ba0c7fe3401801634c25a1c5", + "sha256:eecc9d908a22a97356a1033d756281cd8c37285430f047cb35458d1bc8e6f8de" ], - "version": "==5.0a2" + "version": "==5.0a3" }, "decorator": { "hashes": [ @@ -617,10 +573,10 @@ }, "jedi": { "hashes": [ - "sha256:b409ed0f6913a701ed474a614a3bb46e6953639033e31f769ca7581da5bd1ec1", - "sha256:c254b135fb39ad76e78d4d8f92765ebc9bf92cbc76f49e97ade1d5f5121e1f6f" + "sha256:0191c447165f798e6a730285f2eee783fff81b0d3df261945ecb80983b5c3ca7", + "sha256:b7493f73a2febe0dc33d51c99b474547f7f6c0b2c8fb2b21f453eef204c12148" ], - "version": "==0.12.1" + "version": "==0.13.1" }, "jinja2": { "hashes": [ @@ -699,10 +655,10 @@ }, "pbr": { "hashes": [ - "sha256:1b8be50d938c9bb75d0eaf7eda111eec1bf6dc88a62a6412e33bf077457e0f45", - "sha256:b486975c0cafb6beeb50ca0e17ba047647f229087bd74e37f4a7e2cac17d2caa" + "sha256:1be135151a0da949af8c5d0ee9013d9eafada71237eb80b3ba8896b4f12ec5dc", + "sha256:cf36765bf2218654ae824ec8e14257259ba44e43b117fd573c8d07a9895adbdd" ], - "version": "==4.2.0" + "version": "==4.3.0" }, "pexpect": { "hashes": [ @@ -728,11 +684,11 @@ }, "prompt-toolkit": { "hashes": [ - "sha256:12e076b21178064b5627f74c4819559c125e31046b55a28d5e024b85fef5617e", - "sha256:f2289fe9dd7f27c305421bffe880a543b04cc67660796a2a912595dbcd0d209f", - "sha256:ff58ce8bb82c11c43416dd3eec7701dcbe8c576e2d7649f1d2b9d21a2fd93808" + "sha256:5eff0c9fd652384ecfe730bbcdf3658868725c6928fbf608d9338834d7a974b6", + "sha256:81da9ecf6ca6806a549697529af8ec3ac5b739c13ac14607218e650db1b53131", + "sha256:c67c1c264d8a0d9e1070e9272bacee00f76c81daab7bc4bf09ff991bd1e224a7" ], - "version": "==2.0.4" + "version": "==2.0.5" }, "ptyprocess": { "hashes": [ @@ -765,11 +721,11 @@ }, "pytest": { "hashes": [ - "sha256:0a72d8a9f559c006ba153e0c9b4838efd7b656cf1f993747ba7128770d6eb12c", - "sha256:95529588ff4e85114a0b0ad8e9cf0131ca47d46b28230e25366c5aba66b1d854" + "sha256:7e258ee50338f4e46957f9e09a0f10fb1c2d05493fa901d113a8dafd0790de4e", + "sha256:9332147e9af2dcf46cd7ceb14d5acadb6564744ddff1fe8c17f0ce60ece7d9a2" ], "index": "pypi", - "version": "==3.8.1" + "version": "==3.8.2" }, "pytest-cov": { "hashes": [ @@ -788,11 +744,11 @@ }, "pytest-flask": { "hashes": [ - "sha256:be3551e5d8cccd2f26e51fa4268398619be18b9e2300fdab7f4b2aeaeee0a588", - "sha256:d240537c7cfce9f28d0cd2af30f3fb0f452813fbc73cb0518d2e81363ef46112" + "sha256:2e64ba176ccc00e84adb88b38a4a44a032a09f98992881f09b0baab9ab7d06a6", + "sha256:959f01a2e6121d4208263f571bf2de24aa89ebf2f752b15824e4e597fa35bb7e" ], "index": "pypi", - "version": "==0.12.0" + "version": "==0.13.0" }, "pytest-watch": { "hashes": [ @@ -858,10 +814,11 @@ }, "toml": { "hashes": [ - "sha256:380178cde50a6a79f9d2cf6f42a62a5174febe5eea4126fe4038785f1d888d42", - "sha256:a7901919d3e4f92ffba7ff40a9d697e35bbbc8a8049fe8da742f34c83606d957" + "sha256:229f81c57791a41d65e399fc06bf0848bab550a9dfd5ed66df18ce5f05e73d5c", + "sha256:235682dd292d5899d361a811df37e04a8828a5b1da3115886b73cf81ebc9100e", + "sha256:f1db651f9657708513243e61e6cc67d101a39bad662eaa9b5546f789338e07a3" ], - "version": "==0.9.6" + "version": "==0.10.0" }, "traitlets": { "hashes": [ From d9d7917dd8fb7d74d046fea325bd41890bfcec86 Mon Sep 17 00:00:00 2001 From: dandds Date: Tue, 9 Oct 2018 10:28:19 -0400 Subject: [PATCH 5/5] ignore dev routes for tests coverage and add placeholders for reports --- .coveragerc | 2 ++ tests/domain/test_reports.py | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 .coveragerc diff --git a/.coveragerc b/.coveragerc new file mode 100644 index 00000000..0e05aa16 --- /dev/null +++ b/.coveragerc @@ -0,0 +1,2 @@ +[run] +omit = atst/routes/dev.py diff --git a/tests/domain/test_reports.py b/tests/domain/test_reports.py index dcb0bfa8..1aa832ea 100644 --- a/tests/domain/test_reports.py +++ b/tests/domain/test_reports.py @@ -16,3 +16,23 @@ def test_workspace_totals(): report = Reports.workspace_totals(workspace) total = 200 * len(CLIN_NUMS) assert report == {"budget": total, "spent": 0} + + +# this is sketched in until we do real reporting +def test_monthly_totals(): + request = RequestFactory.create() + workspace = WorkspaceFactory.create(request=request) + monthly = Reports.monthly_totals(workspace) + + assert not monthly["environments"] + assert not monthly["projects"] + assert not monthly["workspace"] + + +# this is sketched in until we do real reporting +def test_cumulative_budget(): + request = RequestFactory.create() + workspace = WorkspaceFactory.create(request=request) + months = Reports.cumulative_budget(workspace) + + assert len(months["months"]) == 12