diff --git a/atst/domain/csp/reports.py b/atst/domain/csp/reports.py index 3611a45c..fd498227 100644 --- a/atst/domain/csp/reports.py +++ b/atst/domain/csp/reports.py @@ -1,3 +1,4 @@ +import datetime from itertools import groupby from collections import OrderedDict import pendulum @@ -31,131 +32,152 @@ class MockApplication: self.environments = [make_env(env_name) for env_name in envs] +def generate_sample_dates(_max=8): + current = datetime.datetime.today() + sample_dates = [] + for _i in range(_max): + current = current - datetime.timedelta(days=29) + sample_dates.append(current.strftime("%m/%Y")) + + reversed(sample_dates) + return sample_dates + + class MockReportingProvider(ReportingInterface): + FIXTURE_MONTHS = generate_sample_dates() + MONTHLY_SPEND_BY_ENVIRONMENT = { "LC04_Integ": { - "02/2018": 284, - "03/2018": 1210, - "04/2018": 1430, - "05/2018": 1366, - "06/2018": 1169, - "07/2018": 991, - "08/2018": 978, - "09/2018": 737, + FIXTURE_MONTHS[7]: 284, + FIXTURE_MONTHS[6]: 1210, + FIXTURE_MONTHS[5]: 1430, + FIXTURE_MONTHS[4]: 1366, + FIXTURE_MONTHS[3]: 1169, + FIXTURE_MONTHS[2]: 991, + FIXTURE_MONTHS[1]: 978, + FIXTURE_MONTHS[0]: 737, }, "LC04_PreProd": { - "02/2018": 812, - "03/2018": 1389, - "04/2018": 1425, - "05/2018": 1306, - "06/2018": 1112, - "07/2018": 936, - "08/2018": 921, - "09/2018": 694, + FIXTURE_MONTHS[7]: 812, + FIXTURE_MONTHS[6]: 1389, + FIXTURE_MONTHS[5]: 1425, + FIXTURE_MONTHS[4]: 1306, + FIXTURE_MONTHS[3]: 1112, + FIXTURE_MONTHS[2]: 936, + FIXTURE_MONTHS[1]: 921, + FIXTURE_MONTHS[0]: 694, }, "LC04_Prod": { - "02/2018": 1742, - "03/2018": 1716, - "04/2018": 1866, - "05/2018": 1809, - "06/2018": 1839, - "07/2018": 1633, - "08/2018": 1654, - "09/2018": 1103, + FIXTURE_MONTHS[7]: 1742, + FIXTURE_MONTHS[6]: 1716, + FIXTURE_MONTHS[5]: 1866, + FIXTURE_MONTHS[4]: 1809, + FIXTURE_MONTHS[3]: 1839, + FIXTURE_MONTHS[2]: 1633, + FIXTURE_MONTHS[1]: 1654, + FIXTURE_MONTHS[0]: 1103, }, "SF18_Integ": { - "04/2018": 1498, - "05/2018": 1400, - "06/2018": 1394, - "07/2018": 1171, - "08/2018": 1200, - "09/2018": 963, + FIXTURE_MONTHS[5]: 1498, + FIXTURE_MONTHS[4]: 1400, + FIXTURE_MONTHS[3]: 1394, + FIXTURE_MONTHS[2]: 1171, + FIXTURE_MONTHS[1]: 1200, + FIXTURE_MONTHS[0]: 963, }, "SF18_PreProd": { - "04/2018": 1780, - "05/2018": 1667, - "06/2018": 1703, - "07/2018": 1474, - "08/2018": 1441, - "09/2018": 933, + FIXTURE_MONTHS[5]: 1780, + FIXTURE_MONTHS[4]: 1667, + FIXTURE_MONTHS[3]: 1703, + FIXTURE_MONTHS[2]: 1474, + FIXTURE_MONTHS[1]: 1441, + FIXTURE_MONTHS[0]: 933, }, "SF18_Prod": { - "04/2018": 1686, - "05/2018": 1779, - "06/2018": 1792, - "07/2018": 1570, - "08/2018": 1539, - "09/2018": 986, + FIXTURE_MONTHS[5]: 1686, + FIXTURE_MONTHS[4]: 1779, + FIXTURE_MONTHS[3]: 1792, + FIXTURE_MONTHS[2]: 1570, + FIXTURE_MONTHS[1]: 1539, + FIXTURE_MONTHS[0]: 986, }, "Canton_Prod": { - "05/2018": 28699, - "06/2018": 26766, - "07/2018": 22619, - "08/2018": 24090, - "09/2018": 16719, + FIXTURE_MONTHS[4]: 28699, + FIXTURE_MONTHS[3]: 26766, + FIXTURE_MONTHS[2]: 22619, + FIXTURE_MONTHS[1]: 24090, + FIXTURE_MONTHS[0]: 16719, }, "BD04_Integ": {}, "BD04_PreProd": { - "02/2018": 7019, - "03/2018": 3004, - "04/2018": 2691, - "05/2018": 2901, - "06/2018": 3463, - "07/2018": 3314, - "08/2018": 3432, - "09/2018": 723, + FIXTURE_MONTHS[7]: 7019, + FIXTURE_MONTHS[6]: 3004, + FIXTURE_MONTHS[5]: 2691, + FIXTURE_MONTHS[4]: 2901, + FIXTURE_MONTHS[3]: 3463, + FIXTURE_MONTHS[2]: 3314, + FIXTURE_MONTHS[1]: 3432, + FIXTURE_MONTHS[0]: 723, }, - "SCV18_Dev": {"05/2019": 9797}, + "SCV18_Dev": {FIXTURE_MONTHS[1]: 9797}, "Crown_CR Portal Dev": { - "03/2018": 208, - "04/2018": 457, - "05/2018": 671, - "06/2018": 136, - "07/2018": 1524, - "08/2018": 2077, - "09/2018": 1858, + FIXTURE_MONTHS[6]: 208, + FIXTURE_MONTHS[5]: 457, + FIXTURE_MONTHS[4]: 671, + FIXTURE_MONTHS[3]: 136, + FIXTURE_MONTHS[2]: 1524, + FIXTURE_MONTHS[1]: 2077, + FIXTURE_MONTHS[0]: 1858, }, "Crown_CR Staging": { - "03/2018": 208, - "04/2018": 457, - "05/2018": 671, - "06/2018": 136, - "07/2018": 1524, - "08/2018": 2077, - "09/2018": 1858, + FIXTURE_MONTHS[6]: 208, + FIXTURE_MONTHS[5]: 457, + FIXTURE_MONTHS[4]: 671, + FIXTURE_MONTHS[3]: 136, + FIXTURE_MONTHS[2]: 1524, + FIXTURE_MONTHS[1]: 2077, + FIXTURE_MONTHS[0]: 1858, + }, + "Crown_CR Portal Test 1": { + FIXTURE_MONTHS[2]: 806, + FIXTURE_MONTHS[1]: 1966, + FIXTURE_MONTHS[0]: 2597, + }, + "Crown_Jewels Prod": { + FIXTURE_MONTHS[2]: 806, + FIXTURE_MONTHS[1]: 1966, + FIXTURE_MONTHS[0]: 2597, }, - "Crown_CR Portal Test 1": {"07/2018": 806, "08/2018": 1966, "09/2018": 2597}, - "Crown_Jewels Prod": {"07/2018": 806, "08/2018": 1966, "09/2018": 2597}, "Crown_Jewels Dev": { - "03/2018": 145, - "04/2018": 719, - "05/2018": 1243, - "06/2018": 2214, - "07/2018": 2959, - "08/2018": 4151, - "09/2018": 4260, + FIXTURE_MONTHS[6]: 145, + FIXTURE_MONTHS[5]: 719, + FIXTURE_MONTHS[4]: 1243, + FIXTURE_MONTHS[3]: 2214, + FIXTURE_MONTHS[2]: 2959, + FIXTURE_MONTHS[1]: 4151, + FIXTURE_MONTHS[0]: 4260, }, - "NP02_Integ": {"08/2018": 284, "09/2018": 1210}, - "NP02_PreProd": {"08/2018": 812, "09/2018": 1389}, - "NP02_Prod": {"08/2018": 3742, "09/2018": 4716}, - "FM_Integ": {"08/2018": 1498}, - "FM_Prod": {"09/2018": 5686}, + "NP02_Integ": {FIXTURE_MONTHS[1]: 284, FIXTURE_MONTHS[0]: 1210}, + "NP02_PreProd": {FIXTURE_MONTHS[1]: 812, FIXTURE_MONTHS[0]: 1389}, + "NP02_Prod": {FIXTURE_MONTHS[1]: 3742, FIXTURE_MONTHS[0]: 4716}, + "FM_Integ": {FIXTURE_MONTHS[1]: 1498}, + "FM_Prod": {FIXTURE_MONTHS[0]: 5686}, } CUMULATIVE_BUDGET_AARDVARK = { - "02/2018": {"spend": 9857, "cumulative": 9857}, - "03/2018": {"spend": 7881, "cumulative": 17738}, - "04/2018": {"spend": 14010, "cumulative": 31748}, - "05/2018": {"spend": 43510, "cumulative": 75259}, - "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}, + FIXTURE_MONTHS[7]: {"spend": 9857, "cumulative": 9857}, + FIXTURE_MONTHS[6]: {"spend": 7881, "cumulative": 17738}, + FIXTURE_MONTHS[5]: {"spend": 14010, "cumulative": 31748}, + FIXTURE_MONTHS[4]: {"spend": 43510, "cumulative": 75259}, + FIXTURE_MONTHS[3]: {"spend": 41725, "cumulative": 116_984}, + FIXTURE_MONTHS[2]: {"spend": 41328, "cumulative": 158_312}, + FIXTURE_MONTHS[1]: {"spend": 47491, "cumulative": 205_803}, + FIXTURE_MONTHS[0]: {"spend": 36028, "cumulative": 241_831}, } CUMULATIVE_BUDGET_BELUGA = { - "08/2018": {"spend": 4838, "cumulative": 4838}, - "09/2018": {"spend": 14500, "cumulative": 19338}, + FIXTURE_MONTHS[1]: {"spend": 4838, "cumulative": 4838}, + FIXTURE_MONTHS[0]: {"spend": 14500, "cumulative": 19338}, } REPORT_FIXTURE_MAP = {