def test_create_task_scheduled(self): task_schedule = TaskSchedule.objects.filter(database=self.database) self.hostname.ssl_expire_at = self.one_month_later self.hostname.save() self.assertEqual(task_schedule.count(), 0) check_ssl_expire_at() task_schedule = TaskSchedule.objects.filter(database=self.database) self.assertEqual(task_schedule.count(), 1)
def test_already_have_task_scheduled(self, create_mock): task_schedule = TaskSchedule() task_schedule.database = self.database task_schedule.scheduled_for = self.one_month_later task_schedule.status = TaskSchedule.SCHEDULED task_schedule.save() check_ssl_expire_at() self.assertFalse(create_mock.called)
def test_create_task_scheduled_percona(self): self.engine_type.name = 'mysql_percona' self.engine_type.save() task_schedule = TaskSchedule.objects.filter(database=self.database) self.hostname.ssl_expire_at = self.one_month_later self.hostname.save() self.assertEqual(task_schedule.count(), 0) check_ssl_expire_at() task_schedule = TaskSchedule.objects.filter(database=self.database) self.assertEqual(task_schedule.count(), 1)
def test_create_task_scheduled_next_maintenance_window(self, date_mock): date_mock.today.return_value = FAKE_TODAY self.databaseinfra.maintenance_window = 3 self.databaseinfra.maintenance_day = 5 self.databaseinfra.save() check_ssl_expire_at() task_schedule = TaskSchedule.objects.get(database=self.database) self.assertEqual(task_schedule.scheduled_for.weekday(), 4) self.assertEqual( task_schedule.scheduled_for.date().strftime("%Y-%m-%d"), "2019-12-27") self.assertEqual(task_schedule.scheduled_for.hour, 3)
def test_create_task_scheduled_if_configured_multiple_envs( self, get_by_name_mock): self.check_ssl_envs = 'fake_env,another_env' get_by_name_mock.side_effect = self._fake_get_by_name environment, databaseinfra, hostname, database = self._create_database( env_name='another_env', infra_name='__test__ another_infra') task_schedule = TaskSchedule.objects.filter(database=self.database) self.hostname.ssl_expire_at = self.one_month_later self.hostname.save() hostname.ssl_expire_at = self.one_month_later hostname.save() self.assertEqual(task_schedule.count(), 0) check_ssl_expire_at() task_schedule = TaskSchedule.objects.all() self.assertEqual(task_schedule.count(), 2)
def test_dont_find_infras_if_env_configured(self, filter_mock): check_ssl_expire_at() self.assertFalse(filter_mock.called)
def test_dont_find_infras(self, filter_mock): self.databaseinfra.ssl_configured = False self.databaseinfra.save() check_ssl_expire_at() self.assertFalse(filter_mock.called)