def test_get_desired_instance_count_schedule_in_gmt(self, now, expected): input_attrs = { 'schedule': { 'workdays': ['13:00-15:00'], 'weekends': ['13:00-15:00'], 'scale_factor': 0.6 } } now = pytz.timezone('Europe/London').localize(now).astimezone( pytz.utc).replace(tzinfo=None) with freeze_time(now): schedule_scaler = ScheduleScaler(app_name, min_instances, max_instances, **input_attrs) assert schedule_scaler.get_desired_instance_count() == expected
def test_get_desired_instance_count_schedule(self, now, expected): input_attrs = { 'min_instances': 1, 'max_instances': 5, 'threshold': 1500, 'schedule': { 'workdays': ['13:00-15:00'], 'weekends': ['13:00-15:00'], 'scale_factor': 0.6 } } with freeze_time(now): schedule_scaler = ScheduleScaler(**input_attrs) assert schedule_scaler.get_desired_instance_count() == expected
def test_disabled_schedule(self, enabled, expected): input_attrs = { 'schedule': { 'workdays': ['00:00-23:59'], 'weekends': ['00:00-23:59'], 'scale_factor': 0.6 } } schedule_scaler = ScheduleScaler(app_name, min_instances, max_instances, **input_attrs) with patch.dict(app.config.config, {'SCALERS': { 'SCHEDULE_SCALER_ENABLED': enabled }}): assert schedule_scaler.get_desired_instance_count() == expected
def test_init_assigns_basic_values(self): input_attrs = { 'schedule': { 'workdays': ['08:00-10:00'], 'scale_factor': 0.4 } } schedule_scaler = ScheduleScaler(app_name, min_instances, max_instances, **input_attrs) assert schedule_scaler.app_name == app_name assert schedule_scaler.min_instances == min_instances assert schedule_scaler.max_instances == max_instances assert schedule_scaler.scale_factor == 0.4
def test_init_assigns_basic_values(self): input_attrs = { 'min_instances': 1, 'max_instances': 2, 'threshold': 1500, 'schedule': { 'workdays': ['08:00-10:00'], 'scale_factor': 0.4 } } schedule_scaler = ScheduleScaler(**input_attrs) assert schedule_scaler.min_instances == input_attrs['min_instances'] assert schedule_scaler.max_instances == input_attrs['max_instances'] assert schedule_scaler.threshold == input_attrs['threshold'] assert schedule_scaler.scale_factor == 0.4