This repository has been archived by the owner on Feb 1, 2019. It is now read-only.
/
test_submain_versions.py
142 lines (100 loc) · 3.96 KB
/
test_submain_versions.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
import validator.decorator
import validator.submain
from validator import decorator
from validator.errorbundler import ErrorBundle
class MockXPI:
def __iter__(self):
files = range(4)
def i():
for f in files:
yield "file%d.foo" % f
return i()
def __contains__(self, item):
return False
def test_version_decorators_accepted():
"""
Test that decorators that specify versions to target accept the proper
add-ons for testing.
"""
err = ErrorBundle()
err.supported_versions = {"firefox": ["1.2.3"]}
tests = decorator.TEST_TIERS
decorator.TEST_TIERS = {}
@decorator.register_test(tier=5, versions={"firefox": ["1.0.0",
"1.2.3"]})
def version_test(err, xpi):
print "Ran test"
err.save_resource("executed", True)
print decorator.TEST_TIERS
validator.submain.test_inner_package(err, MockXPI())
assert err.get_resource("executed")
decorator.TEST_TIERS = tests
def test_version_decorators_denied_guid():
"""
Test that decorators that specify versions to target deny add-ons that do
not support the particular app being tested.
"""
err = ErrorBundle()
err.supported_versions = {"firefox": ["1.2.3"]}
tests = decorator.TEST_TIERS
decorator.TEST_TIERS = {}
@decorator.register_test(tier=5, versions={"foobarfox": ["1.0.0",
"1.2.3"]})
def version_test(err, xpi):
raise Exception("Should not have run!")
print decorator.TEST_TIERS
validator.submain.test_inner_package(err, MockXPI())
decorator.TEST_TIERS = tests
def test_version_decorators_denied_version():
"""
Test that decorators that specify versions to target deny add-ons that do
not support the particular app version being tested for.
"""
err = ErrorBundle()
err.supported_versions = {"firefox": ["1.2.3"]}
tests = decorator.TEST_TIERS
decorator.TEST_TIERS = {}
@decorator.register_test(tier=5, versions={"firefox": ["1.0.0",
"2.0.0"]})
def version_test(err, xpi):
raise Exception("Should not have run!")
print decorator.TEST_TIERS
validator.submain.test_inner_package(err, MockXPI())
decorator.TEST_TIERS = tests
def test_version_forappversions_accepted():
"""
Test that for_appversions targets application versions properly.
"""
err = ErrorBundle()
err.supported_versions = {"firefox": ["1.2.3"]}
tests = decorator.TEST_TIERS
decorator.TEST_TIERS = {}
@decorator.register_test(tier=5, versions={"firefox": ["1.0.0",
"1.2.3"]})
def version_test(err, xpi):
print "Ran test"
err.save_resource("executed", True)
print decorator.TEST_TIERS
validator.submain.test_inner_package(err, MockXPI(),
for_appversions={"firefox":
["1.2.3"]})
assert err.get_resource("executed")
decorator.TEST_TIERS = tests
def test_version_forappversions_denied():
"""
Test that for_appversions denies target application versions properly.
"""
err = ErrorBundle()
err.supported_versions = {"firefox": ["1.2.3"]}
tests = decorator.TEST_TIERS
decorator.TEST_TIERS = {}
@decorator.register_test(tier=5, versions={"firefox": ["1.0.0",
"1.2.3"]})
def version_test(err, xpi):
raise Exception("Should not have run!")
print decorator.TEST_TIERS
validator.submain.test_inner_package(err, MockXPI(),
for_appversions={"thunderbird":
["1.2.3"]})
assert not err.get_resource("executed")
decorator.TEST_TIERS = tests