# By: Riasat Ullah
# This file contains data that can be used to test the web platform

from constants import static_vars, var_names
from pytz import timezone
import datetime
import random


label_file_location = r'C:\Users\MSI\PycharmProjects\taskcall-label-universe\label_universe.txt'

today = datetime.datetime.now(timezone('UTC')).replace(tzinfo=None)


resolved_incidents = [
    {
        var_names.instance_id: 1,
        var_names.instance_timestamp: "2019-08-12 22:10:12",
        var_names.task: {
            var_names.task_id: 1,
            var_names.task_title: "Reconciliation is needed - 2019-03-16",
            var_names.created_by: "Linda Zhang",
            var_names.text_msg: r'''
                  Position monitor has failed... Traceback (most recent call last): 
                  'File "C:\Users\riasat.ullah\AppData\Local\Programs\Python\Python35\lib\runpy.py",
                  line 193, in _run_module_as_main "__main__", mod_spec) 
                  'File "C:\Users\riasat.ullah\AppData\Local\Programs\Python\Python35\lib\runpy.py",
                  line 85, in _run_code exec(code, run_globals) 
                  'File "C:\Users\riasat.ullah\PycharmProjects\taskcallrest\jobs\instance_monitor.py",
                  line 246, in time.sleep(wait_seconds) KeyboardInterrupt''',
        },
        var_names.status: 'RESOLVED',
        var_names.resolved_on: "2019-08-12 22:24:00",
        var_names.events: [
            {
                var_names.event_type: 'DISPATCHED',
                var_names.instance_id: 1,
                var_names.event_timestamp: "2018-10-12 02:22:00",
                var_names.event_method: 'APP',
                var_names.event_by: None
            },
            {
                var_names.event_type: 'ACKNOWLEDGE',
                var_names.instance_id: 1,
                var_names.event_timestamp: "2018-10-12 02:22:00",
                var_names.event_method: 'APP',
                var_names.event_by: 'rulla'
            },
            {
                var_names.event_type: 'RESOLVE',
                var_names.instance_id: 1,
                var_names.event_timestamp: "2018-10-12 02:24:00",
                var_names.event_method: 'APP',
                var_names.event_by: 'rulla'
            }
        ]
    }
]


user_incident_list = [
    {
        var_names.instance_id: 31,
        var_names.organization_instance_id: 11,
        var_names.instance_timestamp: today,
        var_names.next_alert_timestamp: today + datetime.timedelta(minutes=12),
        var_names.resolved_on: today,
        var_names.status: 'OPEN',
        var_names.task_title: 'Position Monitor Failed - Urgent Check Needed',
        var_names.urgency_level: static_vars.high_urgency,
        var_names.integration_name: 'DataDog',
        var_names.assignees: ['Adam Bergman', 'Daniel Ng']
    },
    {
        var_names.instance_id: 32,
        var_names.organization_instance_id: 12,
        var_names.instance_timestamp: today,
        var_names.next_alert_timestamp: today + datetime.timedelta(minutes=9),
        var_names.resolved_on: today,
        var_names.status: 'ACKNOWLEDGED',
        var_names.task_title: 'Security master could not be generated. Multiple entries found for ticker - AAPL',
        var_names.urgency_level: static_vars.high_urgency,
        var_names.integration_name: None,
        var_names.assignees: ['Adam Bergman']
    }
]


group_incident_list = [
    {
        var_names.instance_id: 33,
        var_names.organization_instance_id: 13,
        var_names.instance_timestamp: today,
        var_names.next_alert_timestamp: today + datetime.timedelta(minutes=14),
        var_names.resolved_on: today,
        var_names.status: 'ACKNOWLEDGED',
        var_names.task_title: 'Authentication Error',
        var_names.urgency_level: static_vars.medium_urgency,
        var_names.integration_name: 'Amazon Cloud Watch',
        var_names.assignees: ['Ops Fatal']
    }
]


organization_incident_list = [
    {
        var_names.instance_id: 34,
        var_names.organization_instance_id: 14,
        var_names.instance_timestamp: today,
        var_names.next_alert_timestamp: today + datetime.timedelta(minutes=7),
        var_names.resolved_on: today,
        var_names.status: 'OPEN',
        var_names.task_title: 'Production server 10 has crashed. Immediate fix needed.',
        var_names.urgency_level: static_vars.high_urgency,
        var_names.integration_name: 'DataDog',
        var_names.assignees: ['Linda Zhang']
    },
    {
        var_names.instance_id: 35,
        var_names.organization_instance_id: 15,
        var_names.instance_timestamp: today,
        var_names.next_alert_timestamp: today + datetime.timedelta(minutes=2),
        var_names.resolved_on: today,
        var_names.status: 'OPEN',
        var_names.task_title: 'Subscription payments could not be processed',
        var_names.urgency_level: static_vars.high_urgency,
        var_names.integration_name: None,
        var_names.assignees: ['Ben White', 'Lisa Rodrick']
    }
]


incident_details = {
    11: {
        var_names.instance_id: 31,
        var_names.organization_instance_id: 11,
        var_names.instance_timestamp: today,
        var_names.task: {
            var_names.task_id: 1,
            var_names.task_title: "Position Monitor Failed - Urgent Check Needed",
            var_names.created_by: "Sharon Smith",
            var_names.urgency_level: static_vars.high_urgency,
            var_names.text_msg: r'''Position monitor has failed... Traceback (most recent call last):
                File "C:\Users\riasat.ullah\AppData\Local\Programs\Python\Python35\lib\runpy.py", line 193, in _run_module_as_main "__main__", mod_spec)
                File "C:\Users\riasat.ullah\AppData\Local\Programs\Python\Python35\lib\runpy.py", line 85, in _run_code exec(code, run_globals)
                File "C:\Users\riasat.ullah\PycharmProjects\taskcallrest\jobs\instance_monitor.py", line 246, in time.sleep(wait_seconds)
                KeyboardInterrupt''',
        },
        var_names.status: 'OPEN',
        var_names.next_alert_timestamp: today + datetime.timedelta(minutes=12),
        var_names.assignees: [
            {
                var_names.for_policy_id: 1,
                var_names.policy_id: 2,
                var_names.assignee_level: 1,
                var_names.level_minutes: 10,
                var_names.display_name: "ops-fatal"
            },
            {
                var_names.for_policy_id: 1,
                var_names.policy_id: 3,
                var_names.assignee_level: 1,
                var_names.level_minutes: 10,
                var_names.display_name: "ops-fatal"
            },
            {
                var_names.for_policy_id: 4,
                var_names.policy_id: 4,
                var_names.assignee_level: 1,
                var_names.level_minutes: 10,
                var_names.display_name: "bwhite"
            }
        ],
        var_names.events: [
            {
                var_names.event_type: 'DISPATCHED',
                var_names.instance_id: 2,
                var_names.event_timestamp: today,
                var_names.event_method: 'APP',
                var_names.event_by: None
            }
        ],
        var_names.notes: [
            {
                var_names.instance_id: 11,
                var_names.timestamp: today + datetime.timedelta(minutes=2),
                var_names.display_name: 'Adam Louis',
                var_names.notes: "This same alert happened last week. We should do what we did the last time."
            },
            {
                var_names.instance_id: 11,
                var_names.timestamp: today + datetime.timedelta(minutes=4),
                var_names.display_name: "Jennifer Ballero",
                var_names.notes: "The issue was actually somewhat different. We had to restart the server."
            }
        ]
    },
    12: {
        var_names.instance_id: 32,
        var_names.organization_instance_id: 12,
        var_names.instance_timestamp: today,
        var_names.task: {
            var_names.task_id: 2,
            var_names.task_title: "Security master could not be generated. Multiple entries found for ticker - AAPL",
            var_names.created_by: "Connor Myles",
            var_names.urgency_level: static_vars.high_urgency,
            var_names.text_msg: "Security master generation failed",
        },
        var_names.status: 'ACKNOWLEDGED',
        var_names.next_alert_timestamp: today + datetime.timedelta(minutes=10),
        var_names.assignees: [
            {
                var_names.for_policy_id: 1,
                var_names.policy_id: 2,
                var_names.assignee_level: 1,
                var_names.level_minutes: 10,
                var_names.display_name: "ops-fatal"
            },
            {
                var_names.for_policy_id: 3,
                var_names.policy_id: 3,
                var_names.assignee_level: 1,
                var_names.level_minutes: 10,
                var_names.display_name: "egold"
            },
            {
                var_names.for_policy_id: 4,
                var_names.policy_id: 4,
                var_names.assignee_level: 1,
                var_names.level_minutes: 10,
                var_names.display_name: "bwhite"
            }
        ],
        var_names.events: [
            {
                var_names.event_type: 'DISPATCHED',
                var_names.instance_id: 3,
                var_names.event_timestamp: today,
                var_names.event_method: 'APP',
                var_names.event_by: None
            },
            {
                var_names.event_type: 'ACKNOWLEDGED',
                var_names.instance_id: 2,
                var_names.event_timestamp: today,
                var_names.event_method: 'APP',
                var_names.event_by: 'test_user_1'
            }
        ],
        var_names.notes: []
    },
    13: {
        var_names.instance_id: 33,
        var_names.organization_instance_id: 13,
        var_names.instance_timestamp: today,
        var_names.task: {
            var_names.task_id: 3,
            var_names.task_title: "Authentication Error",
            var_names.created_by: "Linda Zhang",
            var_names.urgency_level: static_vars.medium_urgency,
            var_names.text_msg: "Token could not be authenticated",
        },
        var_names.status: 'OPEN',
        var_names.next_alert_timestamp: today + datetime.timedelta(minutes=5),
        var_names.assignees: [
            {
                var_names.for_policy_id: 1,
                var_names.policy_id: 2,
                var_names.assignee_level: 1,
                var_names.level_minutes: 10,
                var_names.display_name: "ops-fatal"
            }
        ],
        var_names.events: [
            {
                var_names.event_type: 'DISPATCHED',
                var_names.instance_id: 2,
                var_names.event_timestamp: today,
                var_names.event_method: 'APP',
                var_names.event_by: None
            }
        ],
        var_names.notes: []
    },
    14: {
        var_names.instance_id: 34,
        var_names.organization_instance_id: 14,
        var_names.instance_timestamp: today,
        var_names.task: {
            var_names.task_id: 3,
            var_names.task_title: "Production server 10 is not responding",
            var_names.created_by: "Linda Zhang",
            var_names.urgency_level: static_vars.high_urgency,
            var_names.text_msg: "Production server 10 has crashed. Immediate fix needed.",
        },
        var_names.status: 'ACKNOWLEDGED',
        var_names.next_alert_timestamp: today + datetime.timedelta(minutes=5),
        var_names.assignees: [
            {
                var_names.for_policy_id: 1,
                var_names.policy_id: 2,
                var_names.assignee_level: 1,
                var_names.level_minutes: 10,
                var_names.display_name: "ops-fatal"
            }
        ],
        var_names.events: [
            {
                var_names.event_type: 'DISPATCHED',
                var_names.instance_id: 2,
                var_names.event_timestamp: today,
                var_names.event_method: 'APP',
                var_names.event_by: None
            },
            {
                var_names.event_type: 'ACKNOWLEDGE',
                var_names.instance_id: 2,
                var_names.event_timestamp: today + datetime.timedelta(minutes=1),
                var_names.event_method: 'APP',
                var_names.event_by: 'test_user_1'
            }
        ],
        var_names.notes: []
    },
    15: {
        var_names.instance_id: 35,
        var_names.organization_instance_id: 15,
        var_names.instance_timestamp: today,
        var_names.task: {
            var_names.task_id: 3,
            var_names.task_title: "Subscription Payment Processing Error",
            var_names.created_by: "Melissa Maynard",
            var_names.urgency_level: static_vars.low_urgency,
            var_names.text_msg: "Subscription payments could not be processed",
        },
        var_names.status: 'OPEN',
        var_names.next_alert_timestamp: today + datetime.timedelta(minutes=10),
        var_names.assignees: [
            {
                var_names.for_policy_id: 1,
                var_names.policy_id: 2,
                var_names.assignee_level: 1,
                var_names.level_minutes: 10,
                var_names.display_name: "ops-fatal"
            }
        ],
        var_names.events: [
            {
                var_names.event_type: 'DISPATCHED',
                var_names.instance_id: 2,
                var_names.event_timestamp: today,
                var_names.event_method: 'APP',
                var_names.event_by: None
            }
        ],
        var_names.notes: []
    },
    211: {
        var_names.instance_id: 51,
        var_names.organization_instance_id: 211,
        var_names.instance_timestamp: today,
        var_names.task: {
            var_names.task_id: 3,
            var_names.task_title: "Position Monitor Failed - Urgent Check Needed",
            var_names.created_by: "Melissa Maynard",
            var_names.urgency_level: static_vars.low_urgency,
            var_names.text_msg: "Subscription payments could not be processed",
        },
        var_names.status: 'RESOLVED',
        var_names.next_alert_timestamp: today + datetime.timedelta(minutes=10),
        var_names.assignees: [
            {
                var_names.for_policy_id: 1,
                var_names.policy_id: 2,
                var_names.assignee_level: 1,
                var_names.level_minutes: 10,
                var_names.display_name: "ops-fatal"
            }
        ],
        var_names.events: [
            {
                var_names.event_type: 'DISPATCHED',
                var_names.instance_id: 2,
                var_names.event_timestamp: today,
                var_names.event_method: 'APP',
                var_names.event_by: None
            }
        ],
        var_names.notes: []
    },
    212: {
        var_names.instance_id: 52,
        var_names.organization_instance_id: 212,
        var_names.instance_timestamp: today,
        var_names.task: {
            var_names.task_id: 3,
            var_names.task_title: "Security master could not be generated. Multiple entries found for ticker - AAPL",
            var_names.created_by: "Melissa Maynard",
            var_names.urgency_level: static_vars.low_urgency,
            var_names.text_msg: "Subscription payments could not be processed",
        },
        var_names.status: 'RESOLVED',
        var_names.next_alert_timestamp: today + datetime.timedelta(minutes=10),
        var_names.assignees: [
            {
                var_names.for_policy_id: 1,
                var_names.policy_id: 2,
                var_names.assignee_level: 1,
                var_names.level_minutes: 10,
                var_names.display_name: "ops-fatal"
            }
        ],
        var_names.events: [
            {
                var_names.event_type: 'DISPATCHED',
                var_names.instance_id: 2,
                var_names.event_timestamp: today,
                var_names.event_method: 'APP',
                var_names.event_by: None
            }
        ],
        var_names.notes: []
    },
    213: {
        var_names.instance_id: 53,
        var_names.organization_instance_id: 213,
        var_names.instance_timestamp: today,
        var_names.task: {
            var_names.task_id: 3,
            var_names.task_title: "Web platform is crashing",
            var_names.created_by: "Melissa Maynard",
            var_names.urgency_level: static_vars.low_urgency,
            var_names.text_msg: "Subscription payments could not be processed",
        },
        var_names.status: 'RESOLVED',
        var_names.next_alert_timestamp: today + datetime.timedelta(minutes=10),
        var_names.assignees: [
            {
                var_names.for_policy_id: 1,
                var_names.policy_id: 2,
                var_names.assignee_level: 1,
                var_names.level_minutes: 10,
                var_names.display_name: "ops-fatal"
            }
        ],
        var_names.events: [
            {
                var_names.event_type: 'DISPATCHED',
                var_names.instance_id: 2,
                var_names.event_timestamp: today,
                var_names.event_method: 'APP',
                var_names.event_by: None
            }
        ],
        var_names.notes: []
    },
    214: {
        var_names.instance_id: 54,
        var_names.organization_instance_id: 214,
        var_names.instance_timestamp: today,
        var_names.task: {
            var_names.task_id: 3,
            var_names.task_title: "System update is still pending",
            var_names.created_by: "Melissa Maynard",
            var_names.urgency_level: static_vars.low_urgency,
            var_names.text_msg: "Subscription payments could not be processed",
        },
        var_names.status: 'RESOLVED',
        var_names.next_alert_timestamp: today + datetime.timedelta(minutes=10),
        var_names.assignees: [
            {
                var_names.for_policy_id: 1,
                var_names.policy_id: 2,
                var_names.assignee_level: 1,
                var_names.level_minutes: 10,
                var_names.display_name: "ops-fatal"
            }
        ],
        var_names.events: [
            {
                var_names.event_type: 'DISPATCHED',
                var_names.instance_id: 2,
                var_names.event_timestamp: today,
                var_names.event_method: 'APP',
                var_names.event_by: None
            }
        ],
        var_names.notes: []
    }
}


past_incidents = {var_names.mean_resolution_time: 20.82,
                  var_names.total_incident_count: 583,
                  var_names.week_incident_count: 13,
                  var_names.incidents: dict()}
for i in range(0, 180):
    ts = datetime.datetime(2020, 5, 14, 12, 4, 31) - datetime.timedelta(days=i)
    td = ts.date().strftime('%Y-%m-%d')

    td_show = True if random.randint(1, 10) > 7 else False
    if td_show:
        td_show_count = random.randint(1, 20)
        td_show_list = []
        for j in range(0, td_show_count):
            td_show_list.append({
                var_names.instance_id: 32,
                var_names.organization_instance_id: 12,
                var_names.instance_timestamp: ts,
                var_names.resolution_time: random.randint(2, 35),
                var_names.task_title: 'Position Monitor Failed - Urgent Check Needed',
                var_names.resolved_by: 'Adam Bergman',
                var_names.urgency_level: static_vars.high_urgency,
                var_names.similarity_score: round(random.randint(60, 100)/100, 2)
            })
        past_incidents[var_names.incidents][td] = td_show_list


subscription_fees_by_country = {
    'United States': [('USD', 8.99, 0.04), ('USD', 19.99, None)],
    'Spain': [('EUR', 15.99, 0.1), ('EUR', 30.99, None)],
    'Bangladesh': [('EUR', 17.99, 0.1), ('EUR', 36.99, None)]
}


organization_integrations = [
    {
        var_names.integration_id: 1,
        var_names.integration_name: 'Slack Integration',
        var_names.integration_type_id: 1,
        var_names.integration_type: 'Slack',
        var_names.policy_id: 2,
        var_names.policy: 'ops-fatal',
        var_names.integration_key: 'hsh9sodfsfnn3323mkjn23',
        var_names.integration_url: None,
        var_names.vendor_account_name: 'Bendel',
        var_names.vendor_endpoint_name: '#emergency'
    }
]


available_integrations = [
    {
        var_names.integration_type_id: 1,
        var_names.integration_type: 'Slack',
        var_names.description: 'Allows incidents to be forwarded to specific slack channels ' +
                               'and new incidents to be created from slack'
    },
    {
        var_names.integration_type_id: 2,
        var_names.integration_type: 'Amazon CloudWatch',
        var_names.description: 'Receive alerts when CloudWatch detects incidents where certain thresholds ' +
                               'you have set are crossed'
    }
]


# reports test data
postmortem_reports = [
    {
        var_names.report_id: 1,
        var_names.report_number: 'ND12V3GH',
        var_names.instance_id: 32,
        var_names.status: 'DRAFT',
        var_names.report_name: 'Security master generated without updates',
        var_names.report_timestamp: today - datetime.timedelta(days=40),
        var_names.created_by: 'Adam Smith',
        var_names.instance_timestamp: today - datetime.timedelta(days=50)
    },
    {
        var_names.report_id: 2,
        var_names.report_number: 'XI0H2RF3',
        var_names.instance_id: 34,
        var_names.status: 'IN_REVIEW',
        var_names.report_name: 'Japan morning session hedge failed',
        var_names.report_timestamp: today - datetime.timedelta(days=50),
        var_names.created_by: 'Julia Zhang',
        var_names.instance_timestamp: today - datetime.timedelta(days=52)
    }
]


postmortem_report_details = {
    'ND12V3GH': {
        var_names.report_id: 1,
        var_names.report_number: 'ND12V3GH',
        var_names.status: 'DRAFT',
        var_names.report_name: 'Security master generated without updates',
        var_names.report_timestamp: today - datetime.timedelta(days=40),
        var_names.created_by: 'Adam Smith',
        var_names.instance_id: 32,
        var_names.organization_instance_id: 12,
        var_names.complete_by: today.date(),
        var_names.overview: "The security master was generated without corporate actions being accounted for. " +
                            "This caused numerous errors in our locate files resulting in unfilled locate " +
                            "requests. Luckily we were able to catch the issue and re-generate the correct " +
                            "file before trading started.",
        var_names.description: "Bloomberg CACS file was significantly delayed. Our system waited for the file " +
                               "for 1 hour before it fell back to the default setting of generating today's " +
                               "file based on the prior days data. This resulted in an incorrect security " +
                               "master to be generated for the day.",
        var_names.impact: 'Impact',
        var_names.resolution: 'This is what was done to resolve',
        var_names.positives: 'We worked fast.',
        var_names.negatives: 'We could have coordinated better.',
        var_names.preventions: 'We need to add in a check to ensure updates are received first.',
        var_names.reviewers: [[1, 'Adam Schiff', 'Collaborator'], [3, 'Lucy Baldwin', 'Reviewer']],
        var_names.review_sessions: [[today.date(), datetime.time(9, 30), 1.5], [today.date(), datetime.time(16, 0), 2]],
        var_names.comments: [
            [today, 'Thomas Martins', 'This looks good'],
            [today, 'Lucy Baldwin', 'Need corrections in section 2.']
        ]
    }
}


# conditional routing rules
conditional_routing_rules = [
    {
        var_names.routing_id: 1,
        var_names.reference_id: 'A215303B',
        var_names.rule_name: 'Suppress PnL alerts',
        var_names.rule_description: 'This rule suppresses daily PnL alerts when it goes off due to known delays.',
        var_names.is_enabled: True
    },
    {
        var_names.routing_id: 2,
        var_names.reference_id: 'BE69CC43',
        var_names.rule_name: 'Core Weekend Routing Rule',
        var_names.rule_description: 'Route all alerts triggered to core on the weekend to a core-warning rather than core-fatal',
        var_names.is_enabled: False
    }
]


conditional_routing_rules_details = {
    'A215303B': {
        var_names.routing_id: 1,
        var_names.reference_id: 'A215303B',
        var_names.is_enabled: True,
        var_names.rule_name: 'Suppress PnL alerts',
        var_names.rule_description: 'This rule suppresses daily PnL alerts when it goes off due to known delays.',
        var_names.valid_start: datetime.date(2020, 1, 24),
        var_names.valid_end: datetime.date(9999, 1, 1),
        var_names.rule_start_time: [0, 0],
        var_names.rule_end_time: [23, 59],
        var_names.all_days: True,
        var_names.repeat: [0, 1, 2, 3, 4, 5, 6],
        var_names.rule_application_count: 2,
        var_names.routing_actions: {var_names.alert_handling: 'RESOLVE', var_names.suppress_minutes: 2, var_names.suppress_count: 5},
        var_names.routing_rules: [
            {
                var_names.rule_type: 'service',
                var_names.field_name: 'service',
                var_names.comparator: 'equals',
                var_names.field_value: 'DataDog'
            },
            {
                var_names.rule_type: 'payload_field',
                var_names.field_name: 'alert_type',
                var_names.comparator: 'contains',
                var_names.field_value: 'TRIGGER'
            }
        ],
        var_names.organization_id: 9
    },
    'BE69CC43': {
        var_names.routing_id: 2,
        var_names.reference_id: 'BE69CC43',
        var_names.is_enabled: False,
        var_names.rule_name: 'Core Weekend Routing Rule',
        var_names.rule_description: 'Route all alerts triggered to core on the weekend to a core-warning rather than ' +
                                    'core-fatal',
        var_names.valid_start: datetime.date(2019, 10, 24),
        var_names.valid_end: datetime.date(2019, 10, 31),
        var_names.rule_start_time: [8, 30],
        var_names.rule_end_time: [12, 0],
        var_names.all_days: False,
        var_names.repeat: [5, 6],
        var_names.rule_application_count: 1,
        var_names.routing_actions: {var_names.alert_handling: 'RE_ROUTE', var_names.route_to: [1, 3]},
        var_names.routing_rules: [
            {
                var_names.rule_type: 'email_from',
                var_names.field_name: 'email_from',
                var_names.comparator: 'equals',
                var_names.field_value: 'apx@apollo.com'
            }
        ],
        var_names.organization_id: 9
    }
}


aggregate_alert_report = {
    var_names.period: [(today + datetime.timedelta(days=i)).strftime('%m/%d') for i in range(0, 7)],
    var_names.email_notification: [random.randint(0, 50) for i in range(0, 7)],
    var_names.push_notification: [random.randint(0, 50) for i in range(0, 7)],
    var_names.text_notification: [random.randint(0, 30) for i in range(0, 7)],
    var_names.call_notification: [random.randint(0, 30) for i in range(0, 7)],
    var_names.total_notification_count: [random.randint(0, 160) for i in range(0, 7)],
    var_names.notifications: [
        [(today + datetime.timedelta(days=i)).date(), random.randint(0, 50), random.randint(0, 50),
         random.randint(0, 30), random.randint(0, 30), random.randint(0, 160)] for i in range(0, 7)]
}


day_alert_report = []
day_alert_users = [['Adam Smith', 'adam.smith@apollo.taskcallapp.com', '15056778943'],
                   ['Michael Holding', 'michael.holding@apollo.taskcallapp.com', '19476863321'],
                   ['Lisa Podolski', 'lisa.podolski@apollo.taskcallapp.com', '19884597687'],
                   ['Jennifer Brown', 'jennifer.brown@apollo.taskcallapp.com', '18773602908']]
for i in range(0, 67):
    alert_type = random.choice([static_vars.email, static_vars.app, static_vars.text, static_vars.call])
    user_index = random.randint(0, len(day_alert_users) - 1)
    if alert_type == static_vars.email:
        address = day_alert_users[user_index][1]
    elif alert_type == static_vars.text or alert_type == static_vars.call:
        address = day_alert_users[user_index][2]
    else:
        address = None
    day_alert_report.append([
        today - datetime.timedelta(minutes=i*2, seconds=random.randint(0, 27)),
        alert_type, address, day_alert_users[user_index][0]
    ])
