async def test_user_options_api_with_memory_cpu(): spawner = KubeSpawner(_mock=True) spawner.profile_list = _test_profiles cpu_limit = 1 mem_limit = 4 * 1024 * 1024 * 1024 # set user_options directly (e.g. via api) spawner.user_options = { 'profile': _test_profiles[1]['display_name'], 'cpu_limit': cpu_limit, 'mem_limit': mem_limit } # nothing should be loaded yet assert spawner.cpu_limit is None assert spawner.mem_limit is None await spawner.load_user_options() for key, value in _test_profiles[1]['kubespawner_override'].items(): if key == 'cpu_limit' or key == 'mem_limit': continue assert getattr(spawner, key) == value assert spawner.cpu_limit == float(cpu_limit) assert spawner.mem_limit == mem_limit
async def test_default_profile(): spawner = KubeSpawner(_mock=True) spawner.profile_list = _test_profiles spawner.user_options = {} # nothing should be loaded yet assert spawner.cpu_limit is None await spawner.load_user_options() for key, value in _test_profiles[0]['kubespawner_override'].items(): assert getattr(spawner, key) == value
async def test_user_options_api(): spawner = KubeSpawner(_mock=True) spawner.profile_list = _test_profiles # set user_options directly (e.g. via api) spawner.user_options = {'profile': _test_profiles[1]['display_name']} # nothing should be loaded yet assert spawner.cpu_limit is None await spawner.load_user_options() for key, value in _test_profiles[1]['kubespawner_override'].items(): assert getattr(spawner, key) == value
async def test_user_options_set_from_form(): spawner = KubeSpawner(_mock=True) spawner.profile_list = _test_profiles # render the form await spawner.get_options_form() spawner.user_options = spawner.options_from_form({'profile': [1]}) assert spawner.user_options == { 'profile': _test_profiles[1]['display_name'], } # nothing should be loaded yet assert spawner.cpu_limit is None await spawner.load_user_options() for key, value in _test_profiles[1]['kubespawner_override'].items(): assert getattr(spawner, key) == value