summaryrefslogtreecommitdiff
path: root/test/integration/test-releasefile-valid-until
blob: 35498f6d1aac5ca22082c02bad85b3b2b30f29c0 (plain)
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
#!/bin/sh
set -e

TESTDIR=$(readlink -f $(dirname $0))
. $TESTDIR/framework
setupenvironment
configarchitecture 'i386'

insertpackage 'wheezy' 'apt' 'all' '0.8.15'

setupaptarchive

setupreleasefile() {
	rm -rf rootdir/var/lib/apt/lists
	aptget clean
	generatereleasefiles "$1" "$2"
	signreleasefiles
}

aptgetupdate() {
	if aptget update $* 2>&1 | grep -q 'is expired'; then
		return 1
	else
		return 0
	fi
}

setupreleasefile
msgtest 'Release file is accepted as it has' 'no Until'
aptgetupdate && msgpass || msgfail

setupreleasefile
msgtest 'Release file is accepted as it has' 'no Until and good Max-Valid'
aptgetupdate -o Acquire::Max-ValidTime=3600 && msgpass || msgfail

setupreleasefile 'now - 2 days'
msgtest 'Release file is rejected as it has' 'no Until, but bad Max-Valid'
aptgetupdate -o Acquire::Max-ValidTime=3600 && msgfail || msgpass

setupreleasefile 'now - 3 days' 'now + 1 day'
msgtest 'Release file is accepted as it has' 'good Until'
aptgetupdate && msgpass || msgfail

setupreleasefile 'now - 7 days' 'now - 4 days'
msgtest 'Release file is rejected as it has' 'bad Until'
aptgetupdate && msgfail || msgpass

setupreleasefile 'now - 7 days' 'now - 4 days'
msgtest 'Release file is rejected as it has' 'bad Until (ignore good Max-Valid)'
aptgetupdate -o Acquire::Max-ValidTime=1209600 && msgfail || msgpass

setupreleasefile 'now - 7 days' 'now - 4 days'
msgtest 'Release file is rejected as it has' 'bad Max-Valid (bad Until)'
aptgetupdate -o Acquire::Max-ValidTime=86400 && msgfail || msgpass

setupreleasefile 'now - 7 days' 'now + 4 days'
msgtest 'Release file is rejected as it has' 'bad Max-Valid (good Until)'
aptgetupdate -o Acquire::Max-ValidTime=86400 && msgfail || msgpass

setupreleasefile 'now - 7 days' 'now + 4 days'
msgtest 'Release file is accepted as it has' 'good labeled Max-Valid'
aptgetupdate -o Acquire::Max-ValidTime=86400 -o Acquire::Max-ValidTime::Testcases=1209600 && msgpass || msgfail

setupreleasefile 'now - 7 days' 'now + 4 days'
msgtest 'Release file is rejected as it has' 'bad labeled Max-Valid'
aptgetupdate -o Acquire::Max-ValidTime=1209600 -o Acquire::Max-ValidTime::Testcases=86400 && msgfail || msgpass