summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/cases/make_repo_torrents.bats50
1 files changed, 50 insertions, 0 deletions
diff --git a/test/cases/make_repo_torrents.bats b/test/cases/make_repo_torrents.bats
new file mode 100644
index 0000000..182449f
--- /dev/null
+++ b/test/cases/make_repo_torrents.bats
@@ -0,0 +1,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
+}