summaryrefslogtreecommitdiff
path: root/test/cases/make_repo_torrents.bats
blob: 182449f4f1905c6a17adb2b6f53a202950e29dae (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
load ../lib/common

@test "make torrents" {
	releasePackage core 'pkg-any-a'
	releasePackage extra 'pkg-any-b'
	db-update

	make_repo_torrents

	[[ -f "${FTP_BASE}/torrents/pkg-any-a-1-1-any${PKGEXT}.torrent" ]]
	[[ -L "${FTP_BASE}/torrents/pkg-any-a-1-1-any${PKGEXT}.torrent" ]]
	[[ -f "${FTP_BASE}/core/os/i686/pkg-any-a-1-1-any${PKGEXT}.torrent" ]]

	[[ -f "${FTP_BASE}/torrents/pkg-any-b-1-1-any${PKGEXT}.torrent" ]]
	[[ -L "${FTP_BASE}/torrents/pkg-any-b-1-1-any${PKGEXT}.torrent" ]]
	[[ -f "${FTP_BASE}/extra/os/i686/pkg-any-b-1-1-any${PKGEXT}.torrent" ]]
}

@test "make torrents migrates torrents" {
	releasePackage core 'pkg-any-a'
	releasePackage extra 'pkg-any-b'
	db-update

	# Emulate old make_repo_torrents
	mkdir -p -- "${FTP_BASE}/torrents"
	echo mktorrent > "${FTP_BASE}/torrents/pkg-any-a-1-1-any${PKGEXT}.torrent"
	echo mktorrent > "${FTP_BASE}/torrents/pkg-any-b-1-1-any${PKGEXT}.torrent"

	make_repo_torrents

	[[ -f "${FTP_BASE}/torrents/pkg-any-a-1-1-any${PKGEXT}.torrent" ]]
	[[ -L "${FTP_BASE}/torrents/pkg-any-a-1-1-any${PKGEXT}.torrent" ]]
	[[ -f "${FTP_BASE}/core/os/i686/pkg-any-a-1-1-any${PKGEXT}.torrent" ]]
	[[ "$(cat "${FTP_BASE}/torrents/pkg-any-a-1-1-any${PKGEXT}.torrent")" = mktorrent ]]

	[[ -f "${FTP_BASE}/torrents/pkg-any-b-1-1-any${PKGEXT}.torrent" ]]
	[[ -L "${FTP_BASE}/torrents/pkg-any-b-1-1-any${PKGEXT}.torrent" ]]
	[[ -f "${FTP_BASE}/extra/os/i686/pkg-any-b-1-1-any${PKGEXT}.torrent" ]]
	[[ "$(cat "${FTP_BASE}/torrents/pkg-any-b-1-1-any${PKGEXT}.torrent")" = mktorrent ]]
}

@test "make torrents with insufficient permissions fails" {
	releasePackage core 'pkg-any-a'
	releasePackage extra 'pkg-any-b'
	db-update

	chmod -w ${FTP_BASE}/core/os/i686
	if make_repo_torrents; then return 1; fi
	chmod +w ${FTP_BASE}/core/os/i686
}