Ejemplo n.º 1
0
    def tests_send_survey_latest_survey_less_four_weeks(self):

        monitor_script_kwargs = {"script_slug": "send_survey_reminder"}
        ending_date = timezone.now() + timedelta(weeks=2)
        kickoff_date = timezone.now() - timedelta(weeks=12)

        base = self.generate_models(academy=True, cohort=True, monitor_script=True,
                                    monitor_script_kwargs=monitor_script_kwargs,
                                    cohort_kwargs={'ending_date': ending_date,
                                                   "kickoff_date": kickoff_date})
        sent_at = timezone.now() - timedelta(weeks=2)
        models = [self.generate_models(survey=True, survey_kwargs={'sent_at': sent_at},
                                       models=base)
                  for _ in range(0, 2)]

        script = run_script(models[1].monitor_script)

        del script['slack_payload']
        del script['text']

        expected = {
            "severity_level": 5,
            "status": 'OPERATIONAL',
        }
        self.assertEqual(script, expected)
Ejemplo n.º 2
0
    def tests_send_survey_ending_date_less_than_now(self):

        monitor_script_kwargs = {"script_slug": "send_survey_reminder"}
        ending_date = timezone.now() - timedelta(weeks=1)
        sent_at = timezone.now() - timedelta(weeks=5)
        model = self.generate_models(cohort=True, monitor_script=True,
                                     monitor_script_kwargs=monitor_script_kwargs,
                                     cohort_kwargs={
                                         'ending_date': ending_date},
                                     survey=True, survey_kwargs={'sent_at': sent_at})

        script = run_script(model.monitor_script)

        del script['slack_payload']
        del script['text']
        
        expected = {
            "severity_level": 5,
            "status": 'OPERATIONAL',
        }
        self.assertEqual(script, expected)

        self.assertEqual(self.all_monitor_script_dict(), [{
            **self.model_to_dict(model, 'monitor_script'),
        }])
Ejemplo n.º 3
0
    def tests_send_survey_latest_survey_greater_four_weeks_two_cohorts_two_survey(self):

        monitor_script_kwargs = {"script_slug": "send_survey_reminder"}
        ending_date = timezone.now() + timedelta(days=2)
        kickoff_date = timezone.now() - timedelta(days=2)

        base = self.generate_models(academy=True,  monitor_script=True,
                                    monitor_script_kwargs=monitor_script_kwargs,
                                    )

        sent_at = timezone.now() - timedelta(weeks=6)

        models = [self.generate_models(survey=True, cohort=True, survey_kwargs={'sent_at': sent_at},
                                       models=base, cohort_kwargs={'ending_date': ending_date,
                                                                   "kickoff_date": kickoff_date})
                  for _ in range(0, 2)]

        script = run_script(models[1].monitor_script)
        del script['slack_payload']
        del script['text']

        expected = {
                    'severity_level': 5,
                    'status': 'MINOR',
                    'error_slug': None,
                    }

        self.assertEqual(script, expected)
    def tests_check_cohort__ending_date_passed_with_status_final_project(self):

        monitor_script_kwargs = {
            "script_slug": "check_cohort_status_ended_cohort"
        }
        ending_date = timezone.now() - timedelta(weeks=2)
        model = self.generate_models(
            cohort=True,
            academy=True,
            monitor_script=True,
            monitor_script_kwargs=monitor_script_kwargs,
            cohort_kwargs={
                'ending_date': ending_date,
                'stage': 'FINAL_PROJECT'
            })

        script = run_script(model.monitor_script)

        del script['slack_payload']
        del script['text']

        expected = {
            'severity_level': 5,
            'status': 'MINOR',
            'error_slug': None,
        }

        self.assertEqual(script, expected)

        self.assertEqual(self.all_monitor_script_dict(), [{
            **self.model_to_dict(model, 'monitor_script'),
        }])
    def tests_check_cohort__status_ended_date_greater_than_now(self):

        monitor_script_kwargs = {
            "script_slug": "check_cohort_status_ended_cohort"
        }
        ending_date = timezone.now() + timedelta(weeks=2)
        model = self.generate_models(
            cohort=True,
            academy=True,
            monitor_script=True,
            monitor_script_kwargs=monitor_script_kwargs,
            cohort_kwargs={'ending_date': ending_date})

        script = run_script(model.monitor_script)

        del script['slack_payload']
        del script['text']

        expected = {
            'severity_level': 5,
            'status': 'OPERATIONAL',
        }

        self.assertEqual(script, expected)

        self.assertEqual(self.all_monitor_script_dict(), [{
            **self.model_to_dict(model, 'monitor_script')
        }])
    def tests_check_user_status_graduated_ended_cohort(self):

        monitor_script_kwargs = {
            "script_slug": "check_cohort_user_status_ended_cohort"
        }

        model = self.generate_models(
            cohort_user=True,
            cohort=True,
            academy=True,
            monitor_script=True,
            monitor_script_kwargs=monitor_script_kwargs,
            cohort_user_kwargs={'educational_status': "GRADUATED"},
            cohort_kwargs={'stage': "ENDED"})

        script = run_script(model.monitor_script)

        del script['slack_payload']
        del script['text']

        expected = {
            'severity_level': 5,
            'status': 'OPERATIONAL',
        }

        self.assertEqual(script, expected)

        self.assertEqual(self.all_monitor_script_dict(), [{
            **self.model_to_dict(model, 'monitor_script'),
        }])
Ejemplo n.º 7
0
    def tests_check_user_status__active_ended_cohort(self):

        monitor_script_kwargs = {
            "script_slug": "check_cohort_user_status_ended_cohort"
        }

        model = self.generate_models(
            cohort_user=True,
            cohort=True,
            academy=True,
            monitor_script=True,
            monitor_script_kwargs=monitor_script_kwargs,
            cohort_user_kwargs={'educational_status': "ACTIVE"},
            cohort_kwargs={'stage': "ENDED"})

        script = run_script(model.monitor_script)

        del script['slack_payload']
        del script['text']

        expected = {
            'severity_level': 5,
            'status': 'MINOR',
            'error_slug': 'ended-cohort-had-active-users',
        }

        self.assertEqual(script, expected)
        self.assertEqual(self.all_monitor_script_dict(), [{
            **self.model_to_dict(model, 'monitor_script'),
        }])
    def tests_send_survey__kickoff_date_greater_than_now(self):

        monitor_script_kwargs = {"script_slug": "send_survey_reminder"}
        kickoff_date = timezone.now() + timedelta(weeks=1)
        sent_at = timezone.now() - timedelta(weeks=5)
        model = self.generate_models(
            cohort=True,
            monitor_script=True,
            monitor_script_kwargs=monitor_script_kwargs,
            cohort_kwargs={'kickoff_date': kickoff_date},
            survey=True,
            survey_kwargs={'sent_at': sent_at})

        script = run_script(model.monitor_script)

        del script['slack_payload']
        del script['text']

        expected = {"severity_level": 5, "status": 'OPERATIONAL'}
        self.assertEqual(script, expected)
Ejemplo n.º 9
0
    def tests_send_survey_reminder_no_survey(self):

        monitor_script_kwargs = {"script_slug": "send_survey_reminder"}

        model = self.generate_models(academy=True, monitor_script=True,
                                     monitor_script_kwargs=monitor_script_kwargs
                                     )

        script = run_script(model.monitor_script)

        del script['slack_payload']
        del script['text']

        expected = {
            "severity_level": 5,
            "status": 'OPERATIONAL',
        }

        self.assertEqual(script, expected)

        self.assertEqual(self.all_monitor_script_dict(), [{
            **self.model_to_dict(model, 'monitor_script'),
        }])