import pytest from retrieve_and_save_mobile_versions.logger import get_logger from retrieve_and_save_mobile_versions.redis_db import get_version_key from retrieve_and_save_mobile_versions import config from retrieve_and_save_mobile_versions.utils import clean_cached_os_version @pytest.mark.parametrize( "os,keys_num", ( ("ios", 3), ("android", 3), ("windows", 3), ("macos", 4) ) ) def test_delete_old_versions(redis_client, os, keys_num): prefix_1 = config.APOLLO_LATEST_VERSION_KEY_PREFIX_LIST[0] prefix_2 = config.APOLLO_LATEST_VERSION_KEY_PREFIX_LIST[1] redis_client.mset({ get_version_key("android", prefix_1): "5.1.2", get_version_key("ubuntu", prefix_2): "5.1.3", get_version_key("ios", prefix_1): "5.1.2", get_version_key("windows", prefix_2): "5.1.2" }) logger = get_logger() clean_cached_os_version(os, config, redis_client, logger) keys = redis_client.keys() assert len(keys) == keys_num