From a9835183d80542bd454491be15f03218f071b6df Mon Sep 17 00:00:00 2001 From: Michal Mielewczyk Date: Mon, 25 May 2020 09:17:42 -0400 Subject: [PATCH] test api: wrapper class for CAS version Signed-off-by: Michal Mielewczyk --- test/functional/api/cas/version.py | 32 ++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 test/functional/api/cas/version.py diff --git a/test/functional/api/cas/version.py b/test/functional/api/cas/version.py new file mode 100644 index 0000000..aa05e88 --- /dev/null +++ b/test/functional/api/cas/version.py @@ -0,0 +1,32 @@ +# +# Copyright(c) 2019-2020 Intel Corporation +# SPDX-License-Identifier: BSD-3-Clause-Clear +# + +import os + +from api.cas import git +from packaging import version + + +class CasVersion(version.Version): + def can_be_upgraded(self): + return self >= CasVersion("v20.1") + + def __str__(self): + return f"v{super().__str__()}" + + def __repr__(self): + return str(self) + + +def get_available_cas_versions(): + release_tags = git.get_release_tags() + + versions = [CasVersion(tag) for tag in release_tags] + + return versions + + +def get_upgradable_cas_versions(): + return [v for v in get_available_cas_versions() if v.can_be_upgraded()]