t2700-usermaint.t 1.93 KB
Newer Older
1
2
3
4
#!/bin/sh

test_description='usermaint tests'

5
. "$(dirname "$0")/setup.sh"
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

test_expect_success 'Test removal of login IP addresses.' '
	now=$(date -d now +%s) &&
	threedaysago=$(date -d "3 days ago" +%s) &&
	tendaysago=$(date -d "10 days ago" +%s) &&
	cat <<-EOD | sqlite3 aur.db &&
	UPDATE Users SET LastLogin = $threedaysago, LastLoginIPAddress = "1.2.3.4" WHERE ID = 1;
	UPDATE Users SET LastLogin = $tendaysago, LastLoginIPAddress = "2.3.4.5" WHERE ID = 2;
	UPDATE Users SET LastLogin = $now, LastLoginIPAddress = "3.4.5.6" WHERE ID = 3;
	UPDATE Users SET LastLogin = 0, LastLoginIPAddress = "4.5.6.7" WHERE ID = 4;
	UPDATE Users SET LastLogin = 0, LastLoginIPAddress = "5.6.7.8" WHERE ID = 5;
	UPDATE Users SET LastLogin = $tendaysago, LastLoginIPAddress = "6.7.8.9" WHERE ID = 6;
	EOD
	"$USERMAINT" &&
	cat <<-EOD >expected &&
	1.2.3.4
	3.4.5.6
	EOD
	echo "SELECT LastLoginIPAddress FROM Users WHERE LastLoginIPAddress IS NOT NULL;" | sqlite3 aur.db >actual &&
	test_cmp actual expected
'

test_expect_success 'Test removal of SSH login IP addresses.' '
	now=$(date -d now +%s) &&
	threedaysago=$(date -d "3 days ago" +%s) &&
	tendaysago=$(date -d "10 days ago" +%s) &&
	cat <<-EOD | sqlite3 aur.db &&
	UPDATE Users SET LastSSHLogin = $now, LastSSHLoginIPAddress = "1.2.3.4" WHERE ID = 1;
	UPDATE Users SET LastSSHLogin = $threedaysago, LastSSHLoginIPAddress = "2.3.4.5" WHERE ID = 2;
	UPDATE Users SET LastSSHLogin = $tendaysago, LastSSHLoginIPAddress = "3.4.5.6" WHERE ID = 3;
	UPDATE Users SET LastSSHLogin = 0, LastSSHLoginIPAddress = "4.5.6.7" WHERE ID = 4;
	UPDATE Users SET LastSSHLogin = 0, LastSSHLoginIPAddress = "5.6.7.8" WHERE ID = 5;
	UPDATE Users SET LastSSHLogin = $tendaysago, LastSSHLoginIPAddress = "6.7.8.9" WHERE ID = 6;
	EOD
	"$USERMAINT" &&
	cat <<-EOD >expected &&
	1.2.3.4
	2.3.4.5
	EOD
	echo "SELECT LastSSHLoginIPAddress FROM Users WHERE LastSSHLoginIPAddress IS NOT NULL;" | sqlite3 aur.db >actual &&
	test_cmp actual expected
'

test_done