View | Details | Raw Unified | Return to bug 41846 | Differences between
and this patch

Collapse All | Expand All

(-)21_app_install_version_check (+74 lines)
Line 0    Link Here 
1
#!/usr/share/ucs-test/runner python
2
## desc: Test if app installation version check is working
3
## tags: [SKIP-UCSSCHOOL, basic, apptest]
4
## roles-not: [basesystem]
5
## exposure: safe
6
## packages:
7
##   - univention-management-console-module-appcenter
8
9
from univention.appcenter.app import App
10
import univention.testing.utils as utils
11
12
FAIL = "\033[91m"
13
SUCCUSS = "\033[92m"
14
ENDC = "\033[0m"
15
16
test_successful = True
17
def test_is_required_fitting():
18
	version_pairs = [
19
		{'required_version': '4', 'current_version': '4.0-0 errata0'},
20
		{'required_version': '4.0', 'current_version': '4.0-0 errata0'},
21
		{'required_version': '4.0-0', 'current_version': '4.0-0 errata0'},
22
		{'required_version': '4.0-0 errata0', 'current_version': '4.0-0 errata0'},
23
24
		{'required_version': '4', 'current_version': '4.1-0 errata0'},
25
		{'required_version': '4.0', 'current_version': '4.1-0 errata0'},
26
		{'required_version': '4.0-0', 'current_version': '4.1-0 errata0'},
27
		{'required_version': '4.0-0 errata0', 'current_version': '4.1-0 errata0'},
28
29
		{'required_version': '4.0-0 errata100', 'current_version': '4.1-0 errata0'},
30
		{'required_version': '4.0-1 errata100', 'current_version': '4.1-0 errata0'},
31
32
		{'required_version': '3', 'current_version': '4.0-0 errata0'},
33
		{'required_version': '3.1', 'current_version': '4.0-0 errata0'},
34
		{'required_version': '3.0-1', 'current_version': '4.0-0 errata0'},
35
		{'required_version': '3.0-0 errata1', 'current_version': '4.0-0 errata0'}
36
	]
37
	print "Should be fitting:"
38
	for version_pair in version_pairs:
39
		is_fitting = App.is_fitting_ucs_version(version_pair['required_version'], version_pair['current_version'])
40
		print "\tRequired: %s" % version_pair['required_version']
41
		print "\tCurrent:  %s" % version_pair['current_version']
42
		print '\t{color}{outcome}{endc}\n'.format(color=SUCCUSS if is_fitting else FAIL, outcome=is_fitting, endc=ENDC)
43
		if not is_fitting:
44
			global test_successful
45
			test_successful = False
46
47
def test_is_required_not_fitting():
48
	version_pairs = [
49
		{'required_version': '5', 'current_version': '4.0-0 errata0'},
50
		{'required_version': '4.1', 'current_version': '4.0-0 errata0'},
51
		{'required_version': '4.0-1', 'current_version': '4.0-0 errata0'},
52
		{'required_version': '4.0-0 errata1', 'current_version': '4.0-0 errata0'},
53
54
		{'required_version': '5.0-0 errata0', 'current_version': '4.0-0 errata1'},
55
		{'required_version': '5.0-0 errata0', 'current_version': '4.0-1 errata1'},
56
		{'required_version': '5.0-0 errata0', 'current_version': '4.1-1 errata1'}
57
	]
58
	print "Should not be fitting:"
59
	for version_pair in version_pairs:
60
		is_fitting = App.is_fitting_ucs_version(version_pair['required_version'], version_pair['current_version'])
61
		print "\tRequired: %s" % version_pair['required_version']
62
		print "\tCurrent:  %s" % version_pair['current_version']
63
		not_fitting = not is_fitting
64
		print '\t{color}{outcome}{endc}\n'.format(color=SUCCUSS if not_fitting else FAIL, outcome=not_fitting, endc=ENDC)
65
		if is_fitting:
66
			global test_successful
67
			test_successful = False
68
69
if __name__ == '__main__':
70
	test_is_required_fitting()
71
	test_is_required_not_fitting()
72
	if not test_successful:
73
		utils.fail('A version comparison failed')
74
*

Return to bug 41846