kloudbuster/tests/test_kloudbuster.py

62 lines
1.8 KiB
Python

# -*- coding: utf-8 -*-
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
"""
test_kloudbuster
----------------------------------
Tests for `kloudbuster` module.
"""
from kloudbuster.kb_config import KBConfig
from kloudbuster.kloudbuster import process_cli_args
def test_kbconfig_default():
# verify that we load the defaulgt config properly
kbcfg = KBConfig()
kbcfg.update_configs()
cfg = kbcfg.config_scale
assert cfg.openrc_file is None
assert cfg.vm_creation_concurrency == 5
assert cfg.client.flavor.vcpus == 1
config_yaml = """
client:
flavor:
vcpus: 100
ram: 2048
disk: 0
extra_specs:
"hw:cpu_policy": dedicated
storage_stage_configs:
vm_count: 1
target: 'volume'
disk_size: 10
io_file_size: 55
"""
def test_kbconfig_overide(stage_fs):
config_fs = {
'config.yaml': config_yaml
}
stage_fs('/tmp/kbtest', config_fs)
# verify that config override is working
args = ['-c', '/tmp/kbtest/config.yaml']
process_cli_args(args)
kbcfg = KBConfig()
kbcfg.init_with_cli()
kbcfg.update_configs()
cfg = kbcfg.config_scale
print(cfg.client.storage_stage_configs)
assert cfg.client.flavor.vcpus == 100
assert cfg.client.storage_stage_configs.io_file_size == 55