mirror of
https://git.launchpad.net/~ubuntu-release/britney/+git/britney2-ubuntu
synced 2025-05-19 06:21:31 +00:00
test_policy: Add additional tests of AgePolicy
Signed-off-by: Niels Thykier <niels@thykier.net>
This commit is contained in:
parent
e88f4d2e5e
commit
36608194f8
@ -179,6 +179,7 @@ class AgePolicy(BasePolicy):
|
|||||||
raise ValueError("Missing age-requirement for default urgency (MINDAYS_%s)" % options.default_urgency)
|
raise ValueError("Missing age-requirement for default urgency (MINDAYS_%s)" % options.default_urgency)
|
||||||
self._min_days_default = mindays[options.default_urgency]
|
self._min_days_default = mindays[options.default_urgency]
|
||||||
# britney's "day" begins at 7pm (we want aging to occur in the 22:00Z run and we run Britney 2-4 times a day)
|
# britney's "day" begins at 7pm (we want aging to occur in the 22:00Z run and we run Britney 2-4 times a day)
|
||||||
|
# NB: _date_now is used in tests
|
||||||
self._date_now = int(((time.time() / (60*60)) - 19) / 24)
|
self._date_now = int(((time.time() / (60*60)) - 19) / 24)
|
||||||
self._dates = {}
|
self._dates = {}
|
||||||
self._urgencies = {}
|
self._urgencies = {}
|
||||||
|
6
tests/policy-test-data/age/basic/age-policy-dates
Normal file
6
tests/policy-test-data/age/basic/age-policy-dates
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# <source> <version> <seen-at-day>
|
||||||
|
# NB: The default "day" for the tests is 10. For urgency medium, this implies
|
||||||
|
# setting <seen-at-day> to 0-5 is passing while 6-10 is too young.
|
||||||
|
out-of-date-version 1.5 5
|
||||||
|
almost-aged-properly 2.0 6
|
||||||
|
aged-properly 2.0 5
|
1
tests/policy-test-data/age/basic/age-policy-urgencies
Normal file
1
tests/policy-test-data/age/basic/age-policy-urgencies
Normal file
@ -0,0 +1 @@
|
|||||||
|
# empty
|
@ -140,6 +140,10 @@ class TestAgePolicy(unittest.TestCase):
|
|||||||
'low': 10,
|
'low': 10,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def reset_age(cls, policy, effective_date=10):
|
||||||
|
policy._date_now = effective_date
|
||||||
|
|
||||||
def test_missing_age_file(self):
|
def test_missing_age_file(self):
|
||||||
age_file = os.path.join(POLICY_DATA_BASE_DIR, 'age', 'missing-age-file', 'age-policy-dates')
|
age_file = os.path.join(POLICY_DATA_BASE_DIR, 'age', 'missing-age-file', 'age-policy-dates')
|
||||||
assert not os.path.exists(age_file)
|
assert not os.path.exists(age_file)
|
||||||
@ -155,6 +159,47 @@ class TestAgePolicy(unittest.TestCase):
|
|||||||
if os.path.exists(age_file):
|
if os.path.exists(age_file):
|
||||||
os.unlink(age_file)
|
os.unlink(age_file)
|
||||||
|
|
||||||
|
def test_age_new(self):
|
||||||
|
src_name = 'unlisted-source-package'
|
||||||
|
policy = initialize_policy('age/basic', AgePolicy, TestAgePolicy.DEFAULT_MIN_DAYS)
|
||||||
|
age_policy_info = apply_policy(policy, PolicyVerdict.REJECTED_TEMPORARILY, src_name)
|
||||||
|
assert age_policy_info['age-requirement'] == TestAgePolicy.DEFAULT_MIN_DAYS[DEFAULT_URGENCY]
|
||||||
|
assert age_policy_info['current-age'] == 0
|
||||||
|
|
||||||
|
def test_age_urgented(self):
|
||||||
|
src_name = 'unlisted-source-package'
|
||||||
|
policy = initialize_policy('age/basic', AgePolicy, TestAgePolicy.DEFAULT_MIN_DAYS,
|
||||||
|
hints=['urgent unlisted-source-package/2.0'])
|
||||||
|
age_policy_info = apply_policy(policy, PolicyVerdict.PASS_HINTED, src_name)
|
||||||
|
assert age_policy_info['age-requirement'] == TestAgePolicy.DEFAULT_MIN_DAYS[DEFAULT_URGENCY]
|
||||||
|
assert age_policy_info['current-age'] == 0
|
||||||
|
assert age_policy_info['age-requirement-reduced']['new-requirement'] == 0
|
||||||
|
assert age_policy_info['age-requirement-reduced']['changed-by'] == TEST_HINTER
|
||||||
|
|
||||||
|
def test_age_old_version_aged(self):
|
||||||
|
src_name = 'out-of-date-version'
|
||||||
|
policy = initialize_policy('age/basic', AgePolicy, TestAgePolicy.DEFAULT_MIN_DAYS)
|
||||||
|
self.reset_age(policy)
|
||||||
|
age_policy_info = apply_policy(policy, PolicyVerdict.REJECTED_TEMPORARILY, src_name)
|
||||||
|
assert age_policy_info['age-requirement'] == TestAgePolicy.DEFAULT_MIN_DAYS[DEFAULT_URGENCY]
|
||||||
|
assert age_policy_info['current-age'] == 0
|
||||||
|
|
||||||
|
def test_age_almost_aged(self):
|
||||||
|
src_name = 'almost-aged-properly'
|
||||||
|
policy = initialize_policy('age/basic', AgePolicy, TestAgePolicy.DEFAULT_MIN_DAYS)
|
||||||
|
self.reset_age(policy)
|
||||||
|
age_policy_info = apply_policy(policy, PolicyVerdict.REJECTED_TEMPORARILY, src_name)
|
||||||
|
assert age_policy_info['age-requirement'] == TestAgePolicy.DEFAULT_MIN_DAYS[DEFAULT_URGENCY]
|
||||||
|
assert age_policy_info['current-age'] == 4
|
||||||
|
|
||||||
|
def test_age_aged_properly(self):
|
||||||
|
src_name = 'aged-properly'
|
||||||
|
policy = initialize_policy('age/basic', AgePolicy, TestAgePolicy.DEFAULT_MIN_DAYS)
|
||||||
|
self.reset_age(policy)
|
||||||
|
age_policy_info = apply_policy(policy, PolicyVerdict.PASS, src_name)
|
||||||
|
assert age_policy_info['age-requirement'] == TestAgePolicy.DEFAULT_MIN_DAYS[DEFAULT_URGENCY]
|
||||||
|
assert age_policy_info['current-age'] == 5
|
||||||
|
|
||||||
|
|
||||||
class TestPiupartsPolicy(unittest.TestCase):
|
class TestPiupartsPolicy(unittest.TestCase):
|
||||||
|
|
||||||
@ -195,5 +240,6 @@ class TestPiupartsPolicy(unittest.TestCase):
|
|||||||
assert piu_policy_info['test-results'] == 'failed'
|
assert piu_policy_info['test-results'] == 'failed'
|
||||||
assert piu_policy_info['piuparts-test-url'] == 'https://piuparts.debian.org/sid/source/f/failed-not-regression.html'
|
assert piu_policy_info['piuparts-test-url'] == 'https://piuparts.debian.org/sid/source/f/failed-not-regression.html'
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user