# By: Riasat Ullah
# This file contains test data for the status dashboard.

from constants import static_vars, var_names
from system_tests import test_tools
from system_tests.test_data import test_data_external, test_data_services, test_data_teams, test_data_users
import datetime
import random


custom_dashboard_list = [['Inventory Dashboard', 'inventory-sys1']]
today = datetime.datetime.now()
outage_count_list = [0 for i in range(0, 50)] + [1, 2]


dashboard_details = {
    None: {
        var_names.dashboards: custom_dashboard_list,
        var_names.dashboard_url: None,
        var_names.dashboard_name: None,
        var_names.is_healthy: False,
        var_names.status: 'Online Catalog is facing technical issues',
        var_names.business_services: [
            {
                var_names.business_service_ref_id: test_data_services.business_services_list[0][
                    var_names.business_service_ref_id],
                var_names.service_name: test_data_services.business_services_list[0][var_names.service_name],
                var_names.incidents: []
            },
            {
                var_names.business_service_ref_id: test_data_services.business_services_list[1][
                    var_names.business_service_ref_id],
                var_names.service_name: test_data_services.business_services_list[1][var_names.service_name],
                var_names.incidents: [
                    {
                        var_names.instance_id: 31,
                        var_names.organization_instance_id: 11,
                        var_names.task_title: 'Online Catalog server has shut down abruptly.',
                        var_names.instance_timestamp: datetime.datetime.now() - datetime.timedelta(minutes=95),
                        var_names.urgency_level: static_vars.critical_urgency,
                        var_names.status_update: [
                            {
                                var_names.timestamp: datetime.datetime.now() - datetime.timedelta(minutes=5),
                                var_names.status_update: 'We have identified the issue. It should take ' +
                                                         'around 10 more minutes to resolve it.'
                            },
                            {
                                var_names.timestamp: datetime.datetime.now() - datetime.timedelta(minutes=12),
                                var_names.status_update: 'We have acknowledged the incident. 3 of us from the ' +
                                                         'Dev-Ops team are working on it.'
                            }
                        ],
                        var_names.is_subscribed: True
                    },
                    {
                        var_names.instance_id: 32,
                        var_names.organization_instance_id: 12,
                        var_names.task_title: 'Catalog picture upload is failing',
                        var_names.instance_timestamp: datetime.datetime.now() - datetime.timedelta(minutes=103),
                        var_names.urgency_level: static_vars.high_urgency,
                        var_names.status_update: [
                            {
                                var_names.timestamp: datetime.datetime.now() - datetime.timedelta(minutes=8),
                                var_names.status_update: 'This is a result of the catalog having shut down. ' +
                                                         'We are working on the matter.'
                            }
                        ],
                        var_names.is_subscribed: False
                    }
                ]
            },
            {
                var_names.business_service_ref_id: test_data_services.business_services_list[2][
                    var_names.business_service_ref_id],
                var_names.service_name: test_data_services.business_services_list[2][var_names.service_name],
                var_names.incidents: []
            }
        ]
    },
    custom_dashboard_list[0][1]: {
        var_names.dashboards: custom_dashboard_list,
        var_names.dashboard_url: custom_dashboard_list[0][1],
        var_names.dashboard_name: custom_dashboard_list[0][0],
        var_names.is_healthy: True,
        var_names.status: 'All business services are functional',
        var_names.business_services: [
            {
                var_names.business_service_ref_id: test_data_services.business_services_list[2][
                    var_names.business_service_ref_id],
                var_names.service_name: test_data_services.business_services_list[2][var_names.service_name],
                var_names.incidents: []
            }
        ]
    }
}


status_pages_basic_list = [
    ['Client Services', test_tools.get_dummy_reference_id()],
    ['Partner Services Status Page', test_tools.get_dummy_reference_id()]
]


status_pages_list = [
    {
        var_names.page_name: status_pages_basic_list[0][0],
        var_names.page_ref_id: status_pages_basic_list[0][1],
        var_names.url_extension: 'service-status',
        var_names.version: 2,
        var_names.published_version: 1,
        var_names.is_published: True,
        var_names.incident_count: 2,
        var_names.pending: 1,
        var_names.maintenances: 1
    },
    {
        var_names.page_name: status_pages_basic_list[1][0],
        var_names.page_ref_id: status_pages_basic_list[1][1],
        var_names.url_extension: 'system-status',
        var_names.version: 1,
        var_names.published_version: None,
        var_names.is_published: False,
        var_names.incident_count: 0,
        var_names.pending: 1,
        var_names.maintenances: 0
    }
]


status_page_details = {
    status_pages_list[0][var_names.page_ref_id]: {
        var_names.page_ref_id: status_pages_list[0][var_names.page_ref_id],
        var_names.page_name: status_pages_list[0][var_names.page_name],
        var_names.description: 'This page is for clients',
        var_names.url: 'https://apollo.itsm.taskcallapp.com/status',
        var_names.url_extension: status_pages_list[0][var_names.url_extension],
        var_names.is_published: status_pages_list[0][var_names.is_published],
        var_names.business_services: [
            {
                var_names.service_name: test_data_services.business_services_basic_list[0][0],
                var_names.business_service_ref_id: test_data_services.business_services_basic_list[0][1]
            },
            {
                var_names.category_name: 'Website',
                var_names.business_services: [
                    {
                        var_names.service_name: test_data_services.business_services_basic_list[1][0],
                        var_names.business_service_ref_id: test_data_services.business_services_basic_list[1][1]
                    },
                    {
                        var_names.service_name: test_data_services.business_services_basic_list[2][0],
                        var_names.business_service_ref_id: test_data_services.business_services_basic_list[2][1]
                    },
                ]
            },
            {
                var_names.service_name: test_data_services.business_services_basic_list[3][0],
                var_names.business_service_ref_id: test_data_services.business_services_basic_list[3][1]
            }
        ],
        var_names.logo_filename: 'Slack Logo',
        var_names.logo_url: 'https://taskcallapp.com/images/vendors/slack/slack-logo.png',
        var_names.icon_filename: 'Slack Logo',
        var_names.icon_url: 'https://taskcallapp.com/images/vendors/slack/slack-logo.png',
        var_names.cover_image_filename: 'IndustryByRiver',
        # var_names.cover_image_url: 'https://www.taskcallapp.com/images/info-site/IndustryByRiver.jpg',
        var_names.cover_image_url: None,
        var_names.layout_type: 1,
        var_names.uptime_bar_days: 90,
        var_names.show_past_incidents: True,
        var_names.colors: {
            var_names.background_color: '#F8F9FA',
            var_names.navbar_color: '#FFFFFF',
            var_names.footer_color: '#FFFFFF',
            var_names.border_color: '#E0E0E0',
            var_names.font_color: '#404040',
            var_names.graph_color: '#757575',
            var_names.light_font_color: '#607C8E',
            var_names.link_color: '#207AB6',
            var_names.no_data_color: '#83BAC5',
            # var_names.operational_color: '#4CBB17',
            # var_names.outage_color: '#DE2F18',
            var_names.operational_color: '#06A94D',
            var_names.outage_color: '#DE2F18',
            var_names.warning_color: '#F1C40F'
        },
        var_names.subscription_type: ['EMAIL', 'WEBHOOK', 'SLACK'],
        var_names.navigation_bar: {var_names.title: 'Login', var_names.link: 'https://apollo.com/login'},
        var_names.footer: [
            {
                var_names.tab_name: 'Our Services',
                var_names.link: [
                    {var_names.title: 'Products', var_names.link: 'https://taskcallapp.com/products'},
                    {var_names.title: 'Solutions', var_names.link: 'https://taskcallapp.com/solutions'}
                ]
            },
            {
                var_names.tab_name: 'Additional Resources',
                var_names.link: [
                    {var_names.title: 'Contact Us', var_names.link: 'https://taskcallapp.com/contact-us'},
                    {var_names.title: 'About Us', var_names.link: 'https://taskcallapp.com/blog'},
                    {var_names.title: 'Privacy Policy', var_names.link: 'https://taskcallapp.com/privacy-policy'},
                    {var_names.title: 'Terms of Service', var_names.link: 'https://taskcallapp.com/terms-of-service'}
                ]
            }
        ],
        var_names.operational_message: 'All services are operational',
        var_names.page_timezone: 'US/Eastern',
        var_names.language: 'en',
        var_names.google_analytics_id: '',
        var_names.hide_seo: True,
        var_names.is_private: True,
        var_names.sso_ref_id: test_data_external.external_sso_basic_list[0][1],
        var_names.ip_address: ['127.0.0.1'],
        var_names.max_pending_hours: 3,
        var_names.post_permissions: test_data_teams.teams_basic_list[1][1],
        var_names.edit_permissions: test_data_teams.teams_basic_list[2][1],
        var_names.auto_post: True,
        var_names.approvers: None
    },
    status_pages_list[1][var_names.page_ref_id]: {
        var_names.page_ref_id: status_pages_list[1][var_names.page_ref_id],
        var_names.page_name: status_pages_list[1][var_names.page_name],
        var_names.description: 'This page is for partners',
        var_names.url: 'https://apollo.itsm.taskcallapp.com/status',
        var_names.url_extension: status_pages_list[1][var_names.url_extension],
        var_names.is_published: status_pages_list[1][var_names.is_published],
        var_names.business_services: [
            {
                var_names.service_name: test_data_services.business_services_basic_list[0][0],
                var_names.business_service_ref_id: test_data_services.business_services_basic_list[0][1]
            },
            {
                var_names.service_name: test_data_services.business_services_basic_list[1][0],
                var_names.business_service_ref_id: test_data_services.business_services_basic_list[1][1]
            }
        ],
        var_names.logo_filename: None,
        var_names.logo_url: None,
        var_names.icon_filename: None,
        var_names.icon_url: None,
        var_names.cover_image_filename: None,
        var_names.cover_image_url: None,
        var_names.layout_type: 2,
        var_names.uptime_bar_days: None,
        var_names.show_past_incidents: False,
        var_names.colors: {
            var_names.background_color: '#FFFFFF',
            var_names.navbar_color: '#FFFFFF',
            var_names.footer_color: '#F8F9FA',
            var_names.border_color: '#E0E0E0',
            var_names.font_color: '#404040',
            var_names.graph_color: '#757575',
            var_names.light_font_color: '#207AB6',
            var_names.link_color: '#207AB6',
            var_names.no_data_color: '#83BAC5',
            var_names.operational_color: '#4CBB17',
            var_names.outage_color: '#DE2F18',
            var_names.warning_color: '#F1C40F'
        },
        var_names.subscription_type: ['EMAIL'],
        var_names.navigation_bar: {var_names.title: 'Login', var_names.link: ''},
        var_names.footer: [
            {
                var_names.tab_name: 'Our Services',
                var_names.link: [
                    {var_names.title: 'Products', var_names.link: 'https://taskcallapp.com/products'},
                    {var_names.title: 'Solutions', var_names.link: 'https://taskcallapp.com/solutions'}
                ]
            },
            {
                var_names.tab_name: 'Additional Resources',
                var_names.link: [
                    {var_names.title: 'Contact Us', var_names.link: 'https://taskcallapp.com/contact-us'},
                    {var_names.title: 'About Us', var_names.link: 'https://taskcallapp.com/blog'},
                    {var_names.title: 'Privacy Policy', var_names.link: 'https://taskcallapp.com/privacy-policy'},
                    {var_names.title: 'Terms of Service', var_names.link: 'https://taskcallapp.com/terms-of-service'}
                ]
            }
        ],
        var_names.operational_message: 'All services are operational',
        var_names.page_timezone: 'US/Eastern',
        var_names.language: 'es',
        var_names.google_analytics_id: '',
        var_names.hide_seo: True,
        var_names.is_private: False,
        var_names.sso_ref_id: None,
        var_names.ip_address: None,
        var_names.max_pending_hours: 3,
        var_names.post_permissions: None,
        var_names.edit_permissions: None,
        var_names.auto_post: False,
        var_names.approvers: None
    }
}


status_page_incidents = {
    status_pages_list[0][var_names.page_ref_id]: [
        {
            var_names.post_id: 141,
            var_names.page_post_id: 41,
            var_names.organization_instance_id: 12,
            var_names.page_ref_id: status_pages_list[0][var_names.page_ref_id],
            var_names.created_on: datetime.datetime.now() - datetime.timedelta(minutes=123),
            var_names.title: 'Live call routing service impacted in EU',
            var_names.message: 'We have identified the root problem and will be deploying fixes to address them. ' +
                               'We are hoping the service will be back to normal in the next 30 minutes.',
            var_names.impacted_business_services: [
                {
                    var_names.service_name: status_page_details[status_pages_list[0][var_names.page_ref_id]][
                        var_names.business_services][1][var_names.business_services][1][var_names.service_name],
                    var_names.business_service_ref_id: status_page_details[status_pages_list[0][
                        var_names.page_ref_id]][var_names.business_services][1][
                        var_names.business_services][1][var_names.business_service_ref_id],
                    var_names.status: static_vars.outage_state
                }
            ],
            var_names.status: static_vars.investigating_state,
            var_names.page_impact: static_vars.minor_impact,
            var_names.next_update: 60,
            var_names.notify_subscribers: True,
            var_names.last_update: datetime.datetime.now() - datetime.timedelta(minutes=136),
            var_names.events: [
                {
                    var_names.timestamp: datetime.datetime.now() - datetime.timedelta(minutes=136),
                    var_names.title: 'Live call routing service impacted in EU',
                    var_names.message: 'We have identified the root problem and will be deploying fixes to ' +
                                       'address them. We are hoping the service will be back to normal in ' +
                                       'the next 30 minutes.',
                    var_names.impacted_business_services: [
                        {
                            var_names.service_name: status_page_details[status_pages_list[0][var_names.page_ref_id]][
                                var_names.business_services][1][var_names.business_services][1][var_names.service_name],
                            var_names.business_service_ref_id: status_page_details[status_pages_list[0][
                                var_names.page_ref_id]][var_names.business_services][1][
                                var_names.business_services][1][var_names.business_service_ref_id],
                            var_names.status: static_vars.partial_outage_state
                        }
                    ],
                    var_names.status: static_vars.investigating_state,
                    var_names.page_impact: static_vars.minor_impact,
                    var_names.notify_subscribers: True,
                    var_names.next_update: 30
                },
                {
                    var_names.timestamp: datetime.datetime.now() - datetime.timedelta(minutes=153),
                    var_names.title: 'Live call routing service impacted in EU',
                    var_names.message: 'We are continuing to experience SMS delivery failures to ' +
                                       'Telefonica Network in El Salvador. Our engineers are working ' +
                                       'with our carrier partner to resolve the issue. We expect to provide ' +
                                       'another update in 24 hours or as soon as more information becomes ' +
                                       'available.',
                    var_names.impacted_business_services: [
                        {
                            var_names.service_name: status_page_details[status_pages_list[0][var_names.page_ref_id]][
                                var_names.business_services][1][var_names.business_services][1][var_names.service_name],
                            var_names.business_service_ref_id: status_page_details[status_pages_list[0][
                                var_names.page_ref_id]][var_names.business_services][1][
                                var_names.business_services][1][var_names.business_service_ref_id],
                            var_names.status: static_vars.partial_outage_state
                        }
                    ],
                    var_names.status: static_vars.investigating_state,
                    var_names.page_impact: static_vars.minor_impact,
                    var_names.notify_subscribers: False,
                    var_names.next_update: 30
                },
                {
                    var_names.timestamp: datetime.datetime.now() - datetime.timedelta(minutes=153),
                    var_names.title: 'Live call routing service impacted in EU',
                    var_names.message: 'We are continuing to experience SMS delivery failures to ' +
                                       'Telefonica Network in El Salvador. Our engineers are working ' +
                                       'with our carrier partner to resolve the issue. We expect to provide ' +
                                       'another update in 24 hours or as soon as more information becomes ' +
                                       'available.',
                    var_names.impacted_business_services: [
                        {
                            var_names.service_name: status_page_details[status_pages_list[0][var_names.page_ref_id]][
                                var_names.business_services][1][var_names.business_services][1][var_names.service_name],
                            var_names.business_service_ref_id: status_page_details[status_pages_list[0][
                                var_names.page_ref_id]][var_names.business_services][1][
                                var_names.business_services][1][var_names.business_service_ref_id],
                            var_names.status: static_vars.partial_outage_state
                        }
                    ],
                    var_names.status: static_vars.identified_state,
                    var_names.page_impact: static_vars.major_impact,
                    var_names.notify_subscribers: True,
                    var_names.next_update: 60
                }
            ]
        },
        {
            var_names.post_id: 142,
            var_names.page_post_id: 42,
            var_names.organization_instance_id: None,
            var_names.page_ref_id: status_pages_list[0][var_names.page_ref_id],
            var_names.created_on: datetime.datetime.now() - datetime.timedelta(minutes=116),
            var_names.title: 'SMS Notifications Impacted in US',
            var_names.message: 'The error has been identified. We are gathering a team to start investigating.',
            var_names.impacted_business_services: [
                {
                    var_names.service_name: status_page_details[status_pages_list[0][var_names.page_ref_id]][
                        var_names.business_services][0][var_names.service_name],
                    var_names.business_service_ref_id: status_page_details[status_pages_list[0][var_names.page_ref_id]][
                        var_names.business_services][0][var_names.business_service_ref_id],
                    var_names.status: static_vars.partial_outage_state
                }
            ],
            var_names.status: static_vars.identified_state,
            var_names.page_impact: static_vars.minor_impact,
            var_names.next_update: None,
            var_names.notify_subscribers: False,
            var_names.last_update: datetime.datetime.now() - datetime.timedelta(minutes=131),
            var_names.events: []
        },
        {
            var_names.post_id: 143,
            var_names.page_post_id: 43,
            var_names.organization_instance_id: None,
            var_names.page_ref_id: status_pages_list[0][var_names.page_ref_id],
            var_names.created_on: datetime.datetime.now() - datetime.timedelta(minutes=116),
            var_names.title: 'Workflows are not functioning correctly',
            var_names.message: 'Email and SMS dispatch in workflows have been impacted.',
            var_names.impacted_business_services: [
                {
                    var_names.service_name: status_page_details[status_pages_list[0][var_names.page_ref_id]][
                        var_names.business_services][0][var_names.service_name],
                    var_names.business_service_ref_id: status_page_details[status_pages_list[0][var_names.page_ref_id]][
                        var_names.business_services][0][var_names.business_service_ref_id],
                    var_names.status: static_vars.partial_outage_state
                }
            ],
            var_names.status: static_vars.resolved_state,
            var_names.page_impact: static_vars.major_impact,
            var_names.next_update: None,
            var_names.notify_subscribers: False,
            var_names.last_update: datetime.datetime.now() - datetime.timedelta(minutes=131),
            var_names.events: [
                {
                    var_names.timestamp: datetime.datetime.now() - datetime.timedelta(minutes=136),
                    var_names.title: 'Live call routing service impacted in EU',
                    var_names.message: 'We have identified the root problem and will be deploying fixes to ' +
                                       'address them. We are hoping the service will be back to normal in ' +
                                       'the next 30 minutes.',
                    var_names.impacted_business_services: [
                        {
                            var_names.service_name: status_page_details[status_pages_list[0][var_names.page_ref_id]][
                                var_names.business_services][1][var_names.business_services][1][var_names.service_name],
                            var_names.business_service_ref_id: status_page_details[status_pages_list[0][
                                var_names.page_ref_id]][var_names.business_services][1][
                                var_names.business_services][1][var_names.business_service_ref_id],
                            var_names.status: static_vars.partial_outage_state
                        }
                    ],
                    var_names.status: static_vars.investigating_state,
                    var_names.page_impact: static_vars.minor_impact,
                    var_names.notify_subscribers: True,
                    var_names.next_update: 30
                },
                {
                    var_names.timestamp: datetime.datetime.now() - datetime.timedelta(minutes=153),
                    var_names.title: 'Live call routing service impacted in EU',
                    var_names.message: 'We are continuing to experience SMS delivery failures to ' +
                                       'Telefonica Network in El Salvador. Our engineers are working ' +
                                       'with our carrier partner to resolve the issue. We expect to provide ' +
                                       'another update in 24 hours or as soon as more information becomes ' +
                                       'available.',
                    var_names.impacted_business_services: [
                        {
                            var_names.service_name: status_page_details[status_pages_list[0][var_names.page_ref_id]][
                                var_names.business_services][1][var_names.business_services][1][var_names.service_name],
                            var_names.business_service_ref_id: status_page_details[status_pages_list[0][
                                var_names.page_ref_id]][var_names.business_services][1][
                                var_names.business_services][1][var_names.business_service_ref_id],
                            var_names.status: static_vars.partial_outage_state
                        }
                    ],
                    var_names.status: static_vars.investigating_state,
                    var_names.page_impact: static_vars.minor_impact,
                    var_names.notify_subscribers: False,
                    var_names.next_update: 30
                },
                {
                    var_names.timestamp: datetime.datetime.now() - datetime.timedelta(minutes=153),
                    var_names.title: 'Live call routing service impacted in EU',
                    var_names.message: 'We are continuing to experience SMS delivery failures to ' +
                                       'Telefonica Network in El Salvador. Our engineers are working ' +
                                       'with our carrier partner to resolve the issue. We expect to provide ' +
                                       'another update in 24 hours or as soon as more information becomes ' +
                                       'available.',
                    var_names.impacted_business_services: [
                        {
                            var_names.service_name: status_page_details[status_pages_list[0][var_names.page_ref_id]][
                                var_names.business_services][1][var_names.business_services][1][var_names.service_name],
                            var_names.business_service_ref_id: status_page_details[status_pages_list[0][
                                var_names.page_ref_id]][var_names.business_services][1][
                                var_names.business_services][1][var_names.business_service_ref_id],
                            var_names.status: static_vars.partial_outage_state
                        }
                    ],
                    var_names.status: static_vars.identified_state,
                    var_names.page_impact: static_vars.major_impact,
                    var_names.notify_subscribers: True,
                    var_names.next_update: 60
                }
            ]
        }
    ],
    status_pages_list[1][var_names.page_ref_id]: []
}


status_page_maintenances = {
    status_pages_list[0][var_names.page_ref_id]: [
        {
            var_names.post_id: 144,
            var_names.page_post_id: 44,
            var_names.organization_instance_id: None,
            var_names.page_ref_id: status_pages_list[0][var_names.page_ref_id],
            var_names.created_on: datetime.datetime.now() - datetime.timedelta(minutes=116),
            var_names.is_maintenance: True,
            var_names.is_pending: False,
            var_names.maintenance_start: datetime.datetime.now() + datetime.timedelta(days=1),
            var_names.maintenance_end: datetime.datetime.now() + datetime.timedelta(days=1, minutes=180),
            var_names.notify_subscribers: False,
            var_names.auto_update: True,
            var_names.status: static_vars.scheduled_state,
            var_names.page_impact: static_vars.no_impact,
            var_names.next_update: None,
            var_names.last_update: datetime.datetime.now() - datetime.timedelta(minutes=116),
            var_names.title: 'Database version update',
            var_names.message: 'We will be updating our database servers to the latest version for better performance',
            var_names.impacted_business_services: [
                {
                    var_names.service_name: status_page_details[status_pages_list[0][var_names.page_ref_id]][
                        var_names.business_services][0][var_names.service_name],
                    var_names.business_service_ref_id: status_page_details[status_pages_list[0][
                        var_names.page_ref_id]][var_names.business_services][0][var_names.business_service_ref_id]
                }
            ],
            var_names.events: [
                {
                    var_names.timestamp: datetime.datetime.now() - datetime.timedelta(minutes=116),
                    var_names.title: 'Database version update',
                    var_names.message: 'We will be updating our database servers to the latest version for ' +\
                                       'better performance',
                    var_names.impacted_business_services: [
                        {
                            var_names.service_name: status_page_details[status_pages_list[0][var_names.page_ref_id]][
                                var_names.business_services][0][var_names.service_name],
                            var_names.business_service_ref_id: status_page_details[status_pages_list[0][
                                var_names.page_ref_id]][var_names.business_services][0][
                                var_names.business_service_ref_id]
                        }
                    ],
                    var_names.status: static_vars.scheduled_state,
                    var_names.page_impact: static_vars.no_impact,
                    var_names.next_update: None,
                    var_names.notify_subscribers: True
                }
            ]
        },
        {
            var_names.post_id: 145,
            var_names.page_post_id: 45,
            var_names.organization_instance_id: None,
            var_names.page_ref_id: status_pages_list[0][var_names.page_ref_id],
            var_names.created_on: datetime.datetime.now() - datetime.timedelta(minutes=189),
            var_names.is_maintenance: True,
            var_names.is_pending: False,
            var_names.maintenance_start: datetime.datetime.now() + datetime.timedelta(days=1),
            var_names.maintenance_end: datetime.datetime.now() + datetime.timedelta(days=1, minutes=180),
            var_names.notify_subscribers: False,
            var_names.auto_update: None,
            var_names.status: static_vars.in_progress_state,
            var_names.page_impact: static_vars.no_impact,
            var_names.next_update: None,
            var_names.last_update: datetime.datetime.now() - datetime.timedelta(minutes=116),
            var_names.title: 'Voice Call Testing',
            var_names.message: 'Voice call connections in the Asia Pacific region will be tested.',
            var_names.impacted_business_services: [
                {
                    var_names.service_name: status_page_details[status_pages_list[0][var_names.page_ref_id]][
                        var_names.business_services][0][var_names.service_name],
                    var_names.business_service_ref_id: status_page_details[status_pages_list[0][
                        var_names.page_ref_id]][var_names.business_services][0][var_names.business_service_ref_id],
                }
            ],
            var_names.events: [
                {
                    var_names.timestamp: datetime.datetime.now() - datetime.timedelta(minutes=189),
                    var_names.title: 'Voice Call Testing',
                    var_names.message: 'Voice call connections in the Asia Pacific region will be tested.',
                    var_names.impacted_business_services: [
                        {
                            var_names.service_name: status_page_details[status_pages_list[0][var_names.page_ref_id]][
                                var_names.business_services][0][var_names.service_name],
                            var_names.business_service_ref_id: status_page_details[status_pages_list[0][
                                var_names.page_ref_id]][var_names.business_services][0][
                                var_names.business_service_ref_id],
                        }
                    ],
                    var_names.status: static_vars.in_progress_state,
                    var_names.page_impact: static_vars.no_impact,
                    var_names.next_update: None,
                    var_names.notify_subscribers: False
                }
            ]
        },
        {
            var_names.post_id: 146,
            var_names.page_post_id: 46,
            var_names.organization_instance_id: None,
            var_names.page_ref_id: status_pages_list[0][var_names.page_ref_id],
            var_names.created_on: datetime.datetime.now() - datetime.timedelta(days=3),
            var_names.is_maintenance: True,
            var_names.is_pending: False,
            var_names.maintenance_start: datetime.datetime.now() - datetime.timedelta(days=2, minutes=55),
            var_names.maintenance_end: datetime.datetime.now() - datetime.timedelta(days=2),
            var_names.notify_subscribers: True,
            var_names.status: static_vars.completed_state,
            var_names.page_impact: static_vars.no_impact,
            var_names.next_update: None,
            var_names.last_update: datetime.datetime.now() - datetime.timedelta(minutes=116),
            var_names.auto_update: None,
            var_names.title: 'API Speed Test',
            var_names.message: 'Tests will be run to ensure that API responses are optimal.',
            var_names.impacted_business_services: [
                {
                    var_names.service_name: status_page_details[status_pages_list[0][var_names.page_ref_id]][
                        var_names.business_services][0][var_names.service_name],
                    var_names.business_service_ref_id: status_page_details[status_pages_list[0][
                        var_names.page_ref_id]][var_names.business_services][0][var_names.business_service_ref_id],
                }
            ],
            var_names.events: [
                {
                    var_names.timestamp: datetime.datetime.now() - datetime.timedelta(minutes=189),
                    var_names.title: 'API Speed Test',
                    var_names.message: 'Tests will be run to ensure that API responses are optimal.',
                    var_names.impacted_business_services: [
                        {
                            var_names.service_name: status_page_details[status_pages_list[0][var_names.page_ref_id]][
                                var_names.business_services][0][var_names.service_name],
                            var_names.business_service_ref_id: status_page_details[status_pages_list[0][
                                var_names.page_ref_id]][var_names.business_services][0][
                                var_names.business_service_ref_id],
                        }
                    ],
                    var_names.status: static_vars.completed_state,
                    var_names.page_impact: static_vars.no_impact,
                    var_names.next_update: None,
                    var_names.notify_subscribers: True
                }
            ]
        }
    ]
}


status_page_pending = {
    status_pages_list[0][var_names.page_ref_id]: [
        {
            var_names.page_ref_id: status_pages_list[0][var_names.page_ref_id],
            var_names.event_ref_id: test_tools.get_dummy_reference_id(),
            var_names.event_type: static_vars.status_update,
            var_names.is_maintenance: False,
            var_names.created_on: datetime.datetime.now() - datetime.timedelta(minutes=63),
            var_names.post_id: status_page_incidents[status_pages_list[0][var_names.page_ref_id]][0][
                var_names.post_id],
            var_names.page_post_id: status_page_incidents[
                status_pages_list[0][var_names.page_ref_id]][0][var_names.page_post_id],
            var_names.title: status_page_incidents[status_pages_list[0][var_names.page_ref_id]][0][var_names.title],
            var_names.message: 'We have corrected the bug. We are running some tests at the moment.',
            var_names.maintenance_start: None,
            var_names.maintenance_end: None,
            var_names.impacted_business_services: [
                {
                    var_names.service_name: status_page_details[status_pages_list[0][var_names.page_ref_id]][
                        var_names.business_services][1][var_names.business_services][1][var_names.service_name],
                    var_names.business_service_ref_id: status_page_details[status_pages_list[0][
                        var_names.page_ref_id]][var_names.business_services][1][
                        var_names.business_services][1][var_names.business_service_ref_id],
                    var_names.status: static_vars.outage_state
                }
            ],
            var_names.status: static_vars.investigating_state,
            var_names.page_impact: static_vars.no_impact,
            var_names.next_update: 15,
            var_names.notify_subscribers: True,
            var_names.created_by: test_data_users.users_list[4]
        },
        {
            var_names.page_ref_id: status_pages_list[0][var_names.page_ref_id],
            var_names.event_ref_id: test_tools.get_dummy_reference_id(),
            var_names.event_type: static_vars.maintenance,
            var_names.is_maintenance: True,
            var_names.created_on: datetime.datetime.now() - datetime.timedelta(minutes=89),
            var_names.page_post_id: status_page_maintenances[status_pages_list[0][
                var_names.page_ref_id]][0][var_names.page_post_id],
            var_names.maintenance_start: status_page_maintenances[status_pages_list[0][var_names.page_ref_id]][0][
                var_names.maintenance_start],
            var_names.maintenance_end: status_page_maintenances[status_pages_list[0][var_names.page_ref_id]][0][
                var_names.maintenance_end],
            var_names.title: status_page_maintenances[status_pages_list[0][var_names.page_ref_id]][0][var_names.title],
            var_names.message: status_page_maintenances[status_pages_list[0][var_names.page_ref_id]][0][
                var_names.message],
            var_names.impacted_business_services: status_page_maintenances[status_pages_list[0][
                var_names.page_ref_id]][0][var_names.impacted_business_services],
            var_names.status: static_vars.verifying_state,
            var_names.notify_subscribers: True,
            var_names.created_by: test_data_users.users_list[4]
        },
        {
            var_names.page_ref_id: status_pages_list[0][var_names.page_ref_id],
            var_names.event_ref_id: test_tools.get_dummy_reference_id(),
            var_names.event_type: static_vars.status_update,
            var_names.is_maintenance: True,
            var_names.created_on: datetime.datetime.now() - datetime.timedelta(minutes=89),
            var_names.page_post_id: status_page_maintenances[status_pages_list[0][
                var_names.page_ref_id]][0][var_names.page_post_id],
            var_names.maintenance_start: status_page_maintenances[status_pages_list[0][var_names.page_ref_id]][0][
                var_names.maintenance_start],
            var_names.maintenance_end: status_page_maintenances[status_pages_list[0][var_names.page_ref_id]][0][
                var_names.maintenance_end],
            var_names.title: status_page_maintenances[status_pages_list[0][var_names.page_ref_id]][0][var_names.title],
            var_names.message: status_page_maintenances[status_pages_list[0][var_names.page_ref_id]][0][
                var_names.message],
            var_names.impacted_business_services: status_page_maintenances[status_pages_list[0][
                var_names.page_ref_id]][0][var_names.impacted_business_services],
            var_names.status: static_vars.verifying_state,
            var_names.notify_subscribers: True,
            var_names.created_by: test_data_users.users_list[4]
        }
    ],
    status_pages_list[1][var_names.page_ref_id]: [
        {
            var_names.page_ref_id: status_pages_list[1][var_names.page_ref_id],
            var_names.event_ref_id: test_tools.get_dummy_reference_id(),
            var_names.event_type: static_vars.incident,
            var_names.is_maintenance: False,
            var_names.post_id: None,
            var_names.page_post_id: None,
            var_names.created_on: datetime.datetime.now() - datetime.timedelta(minutes=71),
            var_names.title: status_page_incidents[status_pages_list[0][var_names.page_ref_id]][0][var_names.title],
            var_names.message: 'We have corrected the bug. We are running some tests at the moment.',
            var_names.status: static_vars.investigating_state,
            var_names.maintenance_start: None,
            var_names.maintenance_end: None,
            var_names.impacted_business_services: [
                {
                    var_names.service_name: status_page_details[status_pages_list[0][var_names.page_ref_id]][
                        var_names.business_services][0][var_names.service_name],
                    var_names.business_service_ref_id: status_page_details[status_pages_list[0][
                        var_names.page_ref_id]][var_names.business_services][0][var_names.business_service_ref_id],
                    var_names.status: static_vars.outage_state
                }
            ],
            var_names.page_impact: static_vars.no_impact,
            var_names.next_update: 15,
            var_names.notify_subscribers: True,
            var_names.created_by: None
        }
    ]
}


status_page_preview_status = {
    status_pages_list[0][var_names.page_ref_id]: {
        **status_page_details[status_pages_list[0][var_names.page_ref_id]],
        **{
            var_names.business_services: [
                {
                    var_names.service_name: test_data_services.business_services_basic_list[0][0],
                    var_names.business_service_ref_id: test_data_services.business_services_basic_list[0][1],
                    var_names.status: static_vars.operational_state,
                    var_names.uptime_metrics: [
                        {var_names.period: (today + datetime.timedelta(days=i)).date(),
                         var_names.partial_outage: random.choice(outage_count_list),
                         var_names.outage: random.choice(outage_count_list)}
                        for i in range(-90, 0)
                    ]
                },
                {
                    var_names.category_name: 'Website',
                    var_names.business_services: [
                        {
                            var_names.service_name: test_data_services.business_services_basic_list[1][0],
                            var_names.business_service_ref_id: test_data_services.business_services_basic_list[1][1],
                            var_names.status: static_vars.operational_state,
                            var_names.uptime_metrics: [
                                {var_names.period: (today + datetime.timedelta(days=i)).date(),
                                 var_names.partial_outage: random.choice(outage_count_list),
                                 var_names.outage: random.choice(outage_count_list)}
                                for i in range(-90, 0)
                            ]
                        },
                        {
                            var_names.service_name: test_data_services.business_services_basic_list[2][0],
                            var_names.business_service_ref_id: test_data_services.business_services_basic_list[2][1],
                            var_names.status: static_vars.outage_state,
                            var_names.uptime_metrics: [
                                {var_names.period: (today + datetime.timedelta(days=i)).date(),
                                 var_names.partial_outage: random.choice(outage_count_list),
                                 var_names.outage: random.choice(outage_count_list)}
                                for i in range(-90, 0)
                            ]
                        },
                    ],
                    var_names.uptime_metrics: [
                        {var_names.period: (today + datetime.timedelta(days=i)).date(),
                         var_names.partial_outage: random.choice(outage_count_list),
                         var_names.outage: random.choice(outage_count_list)}
                        for i in range(-90, 0)
                    ]
                },
                {
                    var_names.service_name: test_data_services.business_services_basic_list[3][0],
                    var_names.business_service_ref_id: test_data_services.business_services_basic_list[3][1],
                    var_names.status: static_vars.operational_state,
                    var_names.uptime_metrics: [
                        {var_names.period: (today + datetime.timedelta(days=i)).date(),
                         var_names.partial_outage: random.choice(outage_count_list),
                         var_names.outage: random.choice(outage_count_list)}
                        for i in range(-90, 0)]
                },
                {
                    var_names.service_name: test_data_services.business_services_basic_list[4][0],
                    var_names.business_service_ref_id: test_data_services.business_services_basic_list[4][1],
                    var_names.status: static_vars.partial_outage_state,
                    var_names.uptime_metrics: [
                        {var_names.period: (today + datetime.timedelta(days=i)).date(),
                         var_names.partial_outage: random.choice(outage_count_list),
                         var_names.outage: random.choice(outage_count_list)}
                        for i in range(-90, 0)
                    ]
                },
                {
                    var_names.service_name: test_data_services.business_services_basic_list[5][0],
                    var_names.business_service_ref_id: test_data_services.business_services_basic_list[5][1],
                    var_names.status: static_vars.operational_state,
                    var_names.uptime_metrics: [
                        {var_names.period: (today + datetime.timedelta(days=i)).date(),
                         var_names.partial_outage: random.choice(outage_count_list),
                         var_names.outage: random.choice(outage_count_list)}
                        for i in range(-90, 0)
                    ]
                },
                {
                    var_names.service_name: test_data_services.business_services_basic_list[6][0],
                    var_names.business_service_ref_id: test_data_services.business_services_basic_list[6][1],
                    var_names.status: static_vars.maintenance,
                    var_names.uptime_metrics: [
                        {var_names.period: (today + datetime.timedelta(days=i)).date(),
                         var_names.partial_outage: random.choice(outage_count_list),
                         var_names.outage: random.choice(outage_count_list)}
                        for i in range(-90, 0)
                    ]
                }
            ],
            var_names.posts: [
                status_page_incidents[status_pages_list[0][var_names.page_ref_id]][0],
                status_page_maintenances[status_pages_list[0][var_names.page_ref_id]][0]
            ]
        }
    }
}


status_page_preview_maintenances = {
    status_pages_list[0][var_names.page_ref_id]: {
        **status_page_details[status_pages_list[0][var_names.page_ref_id]],
        **{
            var_names.posts: [
                {
                    var_names.page_post_id: 88,
                    var_names.page_ref_id: status_pages_list[0][var_names.page_ref_id],
                    var_names.created_on: datetime.datetime.now() - datetime.timedelta(minutes=189),
                    var_names.is_maintenance: True,
                    var_names.maintenance_start: datetime.datetime.now() + datetime.timedelta(days=1),
                    var_names.maintenance_end: datetime.datetime.now() + datetime.timedelta(days=1, minutes=180),
                    var_names.title: 'Database version update',
                    var_names.impacted_business_services: [
                        {
                            var_names.service_name: status_page_details[status_pages_list[0][var_names.page_ref_id]][
                                var_names.business_services][1][var_names.business_services][1][var_names.service_name],
                            var_names.status: None
                        }
                    ],
                    var_names.status: static_vars.scheduled_state,
                    var_names.page_impact: None,
                    var_names.last_update: datetime.datetime.now() - datetime.timedelta(minutes=189),
                    var_names.events: [
                        {
                            var_names.timestamp: datetime.datetime.now() - datetime.timedelta(minutes=189),
                            var_names.message: 'We are updating database servers to the latest version for ' +
                                               'better performance',
                            var_names.status: static_vars.scheduled_state
                        }
                    ]
                },
                {
                    var_names.page_post_id: 91,
                    var_names.page_ref_id: status_pages_list[0][var_names.page_ref_id],
                    var_names.created_on: datetime.datetime.now() - datetime.timedelta(minutes=189),
                    var_names.is_maintenance: True,
                    var_names.maintenance_start: datetime.datetime.now() + datetime.timedelta(days=1),
                    var_names.maintenance_end: datetime.datetime.now() + datetime.timedelta(days=1, minutes=180),
                    var_names.title: 'Voice call testing',
                    var_names.impacted_business_services: [
                        {
                            var_names.service_name: status_page_details[status_pages_list[0][var_names.page_ref_id]][
                                var_names.business_services][1][var_names.business_services][1][var_names.service_name],
                            var_names.status: None
                        }
                    ],
                    var_names.status: static_vars.in_progress_state,
                    var_names.page_impact: None,
                    var_names.last_update: datetime.datetime.now() - datetime.timedelta(minutes=189),
                    var_names.events: [
                        {
                            var_names.timestamp: datetime.datetime.now() - datetime.timedelta(minutes=136),
                            var_names.message: 'We have identified the root problem and will be deploying fixes to ' +
                                               'address them. We are hoping the service will be back to normal in ' +
                                               'the next 30 minutes.',
                            var_names.status: static_vars.completed_state
                        },
                        {
                            var_names.timestamp: datetime.datetime.now() - datetime.timedelta(minutes=153),
                            var_names.message: 'We are continuing to experience SMS delivery failures to ' +
                                               'Telefonica Network in El Salvador. Our engineers are working ' +
                                               'with our carrier partner to resolve the issue. We expect to provide ' +
                                               'another update in 24 hours or as soon as more information becomes ' +
                                               'available.',
                            var_names.status: static_vars.scheduled_state
                        }
                    ]
                },
                {
                    var_names.page_post_id: 93,
                    var_names.page_ref_id: status_pages_list[0][var_names.page_ref_id],
                    var_names.created_on: datetime.datetime.now() - datetime.timedelta(days=3),
                    var_names.is_maintenance: True,
                    var_names.maintenance_start: datetime.datetime.now() - datetime.timedelta(days=2, minutes=55),
                    var_names.maintenance_end: datetime.datetime.now() - datetime.timedelta(days=2),
                    var_names.title: 'API Speed Test',
                    var_names.impacted_business_services: [
                        {
                            var_names.service_name: status_page_details[status_pages_list[0][var_names.page_ref_id]][
                                var_names.business_services][1][var_names.business_services][1][var_names.service_name],
                            var_names.status: None
                        }
                    ],
                    var_names.status: static_vars.completed_state,
                    var_names.page_impact: None,
                    var_names.last_update: datetime.datetime.now() - datetime.timedelta(minutes=136),
                    var_names.events: [
                        {
                            var_names.timestamp: datetime.datetime.now() - datetime.timedelta(minutes=136),
                            var_names.message: 'We have identified the root problem and will be deploying fixes to ' +
                                               'address them. We are hoping the service will be back to normal in ' +
                                               'the next 30 minutes.',
                            var_names.status: static_vars.completed_state
                        },
                        {
                            var_names.timestamp: datetime.datetime.now() - datetime.timedelta(minutes=153),
                            var_names.message: 'We are continuing to experience SMS delivery failures to ' +
                                               'Telefonica Network in El Salvador. Our engineers are working ' +
                                               'with our carrier partner to resolve the issue. We expect to provide ' +
                                               'another update in 24 hours or as soon as more information becomes ' +
                                               'available.',
                            var_names.status: static_vars.in_progress_state
                        },
                        {
                            var_names.timestamp: datetime.datetime.now() - datetime.timedelta(minutes=153),
                            var_names.message: 'We are continuing to experience SMS delivery failures to ' +
                                               'Telefonica Network in El Salvador. Our engineers are working ' +
                                               'with our carrier partner to resolve the issue. We expect to provide ' +
                                               'another update in 24 hours or as soon as more information becomes ' +
                                               'available.',
                            var_names.status: static_vars.scheduled_state
                        }
                    ]
                }
            ]
        }
    }
}


status_page_preview_past_incidents = {
    status_pages_list[0][var_names.page_ref_id]: {
        **status_page_details[status_pages_list[0][var_names.page_ref_id]],
        **{
            var_names.posts: [
                {
                    var_names.page_post_id: 41,
                    var_names.page_ref_id: status_pages_list[0][var_names.page_ref_id],
                    var_names.created_on: datetime.datetime.now() - datetime.timedelta(minutes=123),
                    var_names.title: 'Live call routing service impacted in EU',
                    var_names.impacted_business_services: [
                        {
                            var_names.service_name: status_page_details[status_pages_list[0][var_names.page_ref_id]][
                                var_names.business_services][1][var_names.business_services][1][var_names.service_name],
                            var_names.status: static_vars.outage_state
                        }
                    ],
                    var_names.status: static_vars.resolved_state,
                    var_names.page_impact: static_vars.no_impact,
                    var_names.last_update: datetime.datetime.now() - datetime.timedelta(minutes=136),
                    var_names.events: [
                        {
                            var_names.timestamp: datetime.datetime.now() - datetime.timedelta(minutes=136),
                            var_names.message: 'We have identified the root problem and will be deploying fixes to ' +
                                               'address them. We are hoping the service will be back to normal in ' +
                                               'the next 30 minutes.',
                            var_names.status: static_vars.resolved_state
                        },
                        {
                            var_names.timestamp: datetime.datetime.now() - datetime.timedelta(minutes=153),
                            var_names.message: 'We are continuing to experience SMS delivery failures to ' +
                                               'Telefonica Network in El Salvador. Our engineers are working ' +
                                               'with our carrier partner to resolve the issue. We expect to provide ' +
                                               'another update in 24 hours or as soon as more information becomes ' +
                                               'available.',
                            var_names.status: static_vars.investigating_state
                        },
                        {
                            var_names.timestamp: datetime.datetime.now() - datetime.timedelta(minutes=153),
                            var_names.message: 'We are continuing to experience SMS delivery failures to ' +
                                               'Telefonica Network in El Salvador. Our engineers are working ' +
                                               'with our carrier partner to resolve the issue. We expect to provide ' +
                                               'another update in 24 hours or as soon as more information becomes ' +
                                               'available.',
                            var_names.status: static_vars.identified_state
                        }
                    ]
                },
                {
                    var_names.page_post_id: 42,
                    var_names.page_ref_id: status_pages_list[0][var_names.page_ref_id],
                    var_names.created_on: datetime.datetime.now() - datetime.timedelta(minutes=116),
                    var_names.title: 'SMS Notifications Impacted in US',
                    var_names.impacted_business_services: [
                        {
                            var_names.service_name: status_page_details[status_pages_list[0][var_names.page_ref_id]][
                                var_names.business_services][0][var_names.service_name],
                            var_names.status: static_vars.partial_outage_state
                        },
                        {
                            var_names.service_name: status_page_details[status_pages_list[0][var_names.page_ref_id]][
                                var_names.business_services][2][var_names.service_name],
                            var_names.status: static_vars.partial_outage_state
                        }
                    ],
                    var_names.status: static_vars.identified_state,
                    var_names.page_impact: static_vars.major_impact,
                    var_names.next_update: None,
                    var_names.last_update: datetime.datetime.now() - datetime.timedelta(minutes=131),
                    var_names.events: [
                        {
                            var_names.timestamp: datetime.datetime.now() - datetime.timedelta(minutes=131),
                            var_names.message: 'The error has been identified. We are gathering a team to ' +
                                               'start investigating.',
                            var_names.status: static_vars.identified_state
                        }
                    ]
                }
            ]
        }
    }
}


status_page_templates = {
    status_pages_list[0][var_names.page_ref_id]: [
        {
            var_names.template_id: 1,
            var_names.template_ref_id: test_tools.get_dummy_reference_id(),
            var_names.template_type: static_vars.incident,
            var_names.page_ref_id: status_pages_list[0][var_names.page_ref_id],
            var_names.template_name: 'Live Call Routing Incident',
            var_names.description: 'This template is used for live call routing incidents',
            var_names.title: 'Live call routing service impacted in EU',
            var_names.message: 'We have identified the root problem and will be deploying fixes to address them. ' +
                               'We are hoping the service will be back to normal in the next 30 minutes.',
            var_names.impacted_business_services: [
                {
                    var_names.category_name: status_page_details[status_pages_list[0][var_names.page_ref_id]][
                        var_names.business_services][1][var_names.category_name],
                    var_names.service_name: status_page_details[status_pages_list[0][var_names.page_ref_id]][
                        var_names.business_services][1][var_names.business_services][1][var_names.service_name],
                    var_names.business_service_ref_id: status_page_details[status_pages_list[0][
                        var_names.page_ref_id]][var_names.business_services][1][
                        var_names.business_services][1][var_names.business_service_ref_id],
                    var_names.status: static_vars.outage_state
                }
            ],
            var_names.status: static_vars.investigating_state,
            var_names.page_impact: static_vars.minor_impact,
            var_names.next_update: 60,
            var_names.notify_subscribers: True
        },
        {
            var_names.template_id: 2,
            var_names.template_ref_id: test_tools.get_dummy_reference_id(),
            var_names.template_type: static_vars.maintenance,
            var_names.page_ref_id: status_pages_list[0][var_names.page_ref_id],
            var_names.template_name: 'System Maintenance',
            var_names.description: 'Use this template whenever a new maintenance is scheduled',
            var_names.title: 'Apache server upgrade has been scheduled',
            var_names.message: 'The upgrade will last for 2 hours during which clients may not be able to experience ' +
                               'issues with connectivity.',
            var_names.impacted_business_services: [
                {
                    var_names.service_name: status_page_details[status_pages_list[0][var_names.page_ref_id]][
                        var_names.business_services][1][var_names.business_services][0][var_names.service_name],
                    var_names.business_service_ref_id: status_page_details[status_pages_list[0][
                        var_names.page_ref_id]][var_names.business_services][1][
                        var_names.business_services][0][var_names.business_service_ref_id],
                    var_names.status: None
                }
            ],
            var_names.status: static_vars.in_progress_state,
            var_names.notify_subscribers: True
        }
    ],
    status_pages_list[1][var_names.page_ref_id]: []
}


status_page_subscribers = {
    status_pages_list[0][var_names.page_ref_id]: [
        {
            var_names.subscriber_ref_id: test_tools.get_dummy_reference_id(),
            var_names.subscription_type: static_vars.email,
            var_names.email: 'jessica.torino@apollo.com',
            var_names.all_updates: True,
            var_names.business_services: None,
            var_names.is_confirmed: True
        },
        {
            var_names.subscriber_ref_id: test_tools.get_dummy_reference_id(),
            var_names.subscription_type: static_vars.email,
            var_names.email: 'thomas.hepburn@apollo.com',
            var_names.all_updates: True,
            var_names.business_services: None,
            var_names.is_confirmed: False,
        },
        {
            var_names.subscriber_ref_id: test_tools.get_dummy_reference_id(),
            var_names.subscription_type: static_vars.email,
            var_names.email: 'jasprit.dharminder@gmail.com',
            var_names.all_updates: False,
            var_names.business_services: [test_data_services.business_services_basic_list[1],
                                          test_data_services.business_services_basic_list[2]],
            var_names.is_confirmed: True
        },
        {
            var_names.subscriber_ref_id: test_tools.get_dummy_reference_id(),
            var_names.subscription_type: static_vars.integ_type_slack,
            var_names.additional_info: {},
            var_names.all_updates: True,
            var_names.business_services: None,
            var_names.is_confirmed: True
        },
        {
            var_names.subscriber_ref_id: test_tools.get_dummy_reference_id(),
            var_names.subscription_type: 'TEXT',
            var_names.phone: '+19175249404',
            var_names.all_updates: True,
            var_names.business_services: None,
            var_names.is_confirmed: True
        },
        {
            var_names.subscriber_ref_id: test_tools.get_dummy_reference_id(),
            var_names.subscription_type: 'WEBHOOK',
            var_names.url: 'https://apollo.com/status',
            var_names.all_updates: True,
            var_names.business_services: None,
            var_names.is_confirmed: False,
        },
        {
            var_names.subscriber_ref_id: test_tools.get_dummy_reference_id(),
            var_names.subscription_type: 'TEXT',
            var_names.phone: '+13152625399',
            var_names.all_updates: False,
            var_names.business_services: [test_data_services.business_services_basic_list[0],
                                          test_data_services.business_services_basic_list[3],
                                          test_data_services.business_services_basic_list[5]],
            var_names.is_confirmed: True
        }
    ]
}
