Esempio n. 1
0
 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
Esempio n. 3
0
    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
Esempio n. 4
0
    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