added full tests for different version upgrades, both backend and webUI

This commit is contained in:
proddy
2025-03-30 14:51:13 +02:00
parent 3571998da3
commit 83330907cd
3 changed files with 59 additions and 41 deletions

View File

@@ -112,41 +112,46 @@ let system_status = {
status: 3
};
let VERSION_IS_UPGRADEABLE: boolean;
// Testing Versioning
let DEV_VERSION_IS_UPGRADEABLE: boolean;
let STABLE_VERSION_IS_UPGRADEABLE: boolean;
let THIS_VERSION: string;
let version_test: number;
// Versions
// default - on latest stable, no stable upgrades
let THIS_VERSION = '3.7.2';
let LATEST_STABLE_VERSION = '3.7.2';
let LATEST_DEV_VERSION = '3.7.3-dev.3';
// scenarios for testing versioning
let version_test = 0;
version_test = 0; // on latest stable, no upgrades, but can switch
// version_test = 1; // on latest dev, no update
// version_test = 2; // on stable, upgrade stable to latest stable
// version_test = 3; // on dev, upgrade dev to latest dev
version_test = 0; // on latest stable, can upgrade to dev only
// version_test = 1; // on latest dev, no updates to either dev or stable
// version_test = 2; // upgrade an older stable to latest stable or the latest dev
// version_test = 3; // upgrade an older dev to latest dev, no stable upgrades available
switch (version_test as number) {
case 0:
default:
// use default - on latest stable, no upgrades, but can switch
VERSION_IS_UPGRADEABLE = false;
// on latest stable, can upgrade to dev only
THIS_VERSION = LATEST_STABLE_VERSION;
STABLE_VERSION_IS_UPGRADEABLE = false;
DEV_VERSION_IS_UPGRADEABLE = true;
break;
case 1:
// on latest dev, no update
// on latest dev, no updates to either dev or stable
THIS_VERSION = LATEST_DEV_VERSION;
VERSION_IS_UPGRADEABLE = false;
STABLE_VERSION_IS_UPGRADEABLE = false;
DEV_VERSION_IS_UPGRADEABLE = false;
break;
case 2:
// upgrade stable to latest stable
// upgrade an older stable to latest stable or the latest dev
THIS_VERSION = '3.6.5';
VERSION_IS_UPGRADEABLE = true;
STABLE_VERSION_IS_UPGRADEABLE = true;
DEV_VERSION_IS_UPGRADEABLE = true;
break;
case 3:
// upgrade dev to latest dev
THIS_VERSION = '3.7.3-dev-1';
VERSION_IS_UPGRADEABLE = true;
// upgrade an older dev to latest dev, no stable upgrades available
THIS_VERSION = '3.7.3-dev.2';
STABLE_VERSION_IS_UPGRADEABLE = false;
DEV_VERSION_IS_UPGRADEABLE = true;
break;
}
@@ -360,21 +365,23 @@ function check_upgrade(version: string) {
if (version) {
const dev_version = version.split(',')[0];
const stable_version = version.split(',')[1];
console.log(
'latest dev version: ' +
dev_version +
', latest stable version: ' +
stable_version
);
console.log(
'Version upgrade check from version ' +
'Version upgrade check from this version (' +
THIS_VERSION +
', upgradable: ' +
VERSION_IS_UPGRADEABLE
') to dev (' +
dev_version +
') is ' +
(DEV_VERSION_IS_UPGRADEABLE ? 'YES' : 'NO') +
' and to stable (' +
stable_version +
') is ' +
(STABLE_VERSION_IS_UPGRADEABLE ? 'YES' : 'NO')
);
data = {
emsesp_version: THIS_VERSION,
upgradeable: VERSION_IS_UPGRADEABLE
dev_upgradeable: DEV_VERSION_IS_UPGRADEABLE,
stable_upgradeable: STABLE_VERSION_IS_UPGRADEABLE
};
} else {
console.log('requesting ems-esp version (' + THIS_VERSION + ')');