aptly/system/t05_snapshot/pull.py

251 lines
7.6 KiB
Python

from lib import BaseTest
import re
def sortLines(_, output):
return "\n".join(sorted(output.split("\n")))
class PullSnapshot1Test(BaseTest):
"""
pull snapshot: simple conditions
"""
fixtureDB = True
fixtureCmds = [
"aptly snapshot create snap1 from mirror wheezy-main",
"aptly snapshot create snap2 from mirror wheezy-non-free",
]
runCmd = "aptly snapshot pull snap1 snap2 snap3 mame unrar"
outputMatchPrepare = sortLines
def check(self):
def remove_created_at(s):
return re.sub(r"Created At: [0-9:A-Za-z -]+\n", "", s)
self.check_output()
self.check_cmd_output("aptly snapshot show -with-packages snap3", "snapshot_show", match_prepare=remove_created_at)
class PullSnapshot2Test(BaseTest):
"""
pull snapshot: play with versions
"""
fixtureDB = True
fixtureCmds = [
"aptly snapshot create snap1 from mirror wheezy-main",
"aptly snapshot create snap2 from mirror wheezy-backports",
]
runCmd = "aptly snapshot pull snap1 snap2 snap3 'rsyslog (>= 7.4.4)'"
outputMatchPrepare = sortLines
def check(self):
def remove_created_at(s):
return re.sub(r"Created At: [0-9:A-Za-z -]+\n", "", s)
self.check_output()
self.check_cmd_output("aptly snapshot show -with-packages snap3", "snapshot_show", match_prepare=remove_created_at)
class PullSnapshot3Test(BaseTest):
"""
pull snapshot: play with versions + no-deps
"""
fixtureDB = True
fixtureCmds = [
"aptly snapshot create snap1 from mirror wheezy-main",
"aptly snapshot create snap2 from mirror wheezy-backports",
]
runCmd = "aptly snapshot pull -no-deps snap1 snap2 snap3 'rsyslog (>= 7.4.4)'"
outputMatchPrepare = sortLines
def check(self):
def remove_created_at(s):
return re.sub(r"Created At: [0-9:A-Za-z -]+\n", "", s)
self.check_output()
self.check_cmd_output("aptly snapshot show -with-packages snap3", "snapshot_show", match_prepare=remove_created_at)
class PullSnapshot4Test(BaseTest):
"""
pull snapshot: dry-run
"""
fixtureDB = True
fixtureCmds = [
"aptly snapshot create snap1 from mirror wheezy-main",
"aptly snapshot create snap2 from mirror wheezy-backports",
]
runCmd = "aptly snapshot pull -dry-run snap1 snap2 snap3 'rsyslog (>= 7.4.4)'"
outputMatchPrepare = sortLines
def check(self):
self.check_output()
self.check_cmd_output("aptly snapshot list", "snapshot_list")
class PullSnapshot5Test(BaseTest):
"""
pull snapshot: no such snapshot
"""
fixtureDB = True
fixtureCmds = [
"aptly snapshot create snap1 from mirror wheezy-main",
"aptly snapshot create snap2 from mirror wheezy-backports",
]
runCmd = "aptly snapshot pull snap1 snap-no snap3 'rsyslog (>= 7.4.4)'"
expectedCode = 1
class PullSnapshot6Test(BaseTest):
"""
pull snapshot: no such snapshot
"""
fixtureDB = True
fixtureCmds = [
"aptly snapshot create snap1 from mirror wheezy-main",
"aptly snapshot create snap2 from mirror wheezy-backports",
]
runCmd = "aptly snapshot pull snap-no snap2 snap3 'rsyslog (>= 7.4.4)'"
expectedCode = 1
class PullSnapshot7Test(BaseTest):
"""
pull snapshot: duplicate snapshot
"""
fixtureDB = True
fixtureCmds = [
"aptly snapshot create snap1 from mirror wheezy-main",
"aptly snapshot create snap2 from mirror wheezy-backports",
]
runCmd = "aptly snapshot pull snap1 snap2 snap1 'rsyslog (>= 7.4.4)'"
expectedCode = 1
outputMatchPrepare = sortLines
class PullSnapshot8Test(BaseTest):
"""
pull snapshot: missing dependencies
"""
fixtureDB = True
fixtureCmds = [
"aptly snapshot create snap1 from mirror wheezy-main",
"aptly snapshot create snap2 from mirror wheezy-non-free",
]
runCmd = "aptly snapshot pull snap1 snap2 snap3 lunar-landing 'mars-landing (>= 1.0)'"
outputMatchPrepare = sortLines
def check(self):
def remove_created_at(s):
return re.sub(r"Created At: [0-9:A-Za-z -]+\n", "", s)
self.check_output()
self.check_cmd_output("aptly snapshot show --with-packages snap3", "snapshot_show", match_prepare=remove_created_at)
class PullSnapshot9Test(BaseTest):
"""
pull snapshot: follow sources
"""
fixtureDB = True
fixtureCmds = [
"aptly snapshot create snap1 from mirror wheezy-main",
"aptly snapshot create snap2 from mirror wheezy-backports-src",
]
runCmd = "aptly -dep-follow-source snapshot pull snap1 snap2 snap3 'rsyslog (>= 7.4.4)'"
def check(self):
def remove_created_at(s):
return re.sub(r"Created At: [0-9:A-Za-z -]+\n", "", s)
self.check_output()
self.check_cmd_output("aptly snapshot show --with-packages snap3", "snapshot_show", match_prepare=remove_created_at)
class PullSnapshot10Test(BaseTest):
"""
pull snapshot: follow sources + replace sources
"""
fixtureDB = True
fixtureCmds = [
"aptly snapshot create snap1 from mirror wheezy-main-src",
"aptly snapshot create snap2 from mirror wheezy-backports-src",
]
runCmd = "aptly -dep-follow-source snapshot pull snap1 snap2 snap3 'rsyslog (>= 7.4.4)'"
def check(self):
def remove_created_at(s):
return re.sub(r"Created At: [0-9:A-Za-z -]+\n", "", s)
self.check_output()
self.check_cmd_output("aptly snapshot show --with-packages snap3", "snapshot_show", match_prepare=remove_created_at)
class PullSnapshot11Test(BaseTest):
"""
pull snapshot: -no-remove
"""
fixtureDB = True
fixtureCmds = [
"aptly snapshot create snap1 from mirror wheezy-main",
"aptly snapshot create snap2 from mirror wheezy-backports",
]
runCmd = "aptly snapshot pull -no-remove snap1 snap2 snap3 'rsyslog (>= 7.4.4)'"
outputMatchPrepare = sortLines
def check(self):
def remove_created_at(s):
return re.sub(r"Created At: [0-9:A-Za-z -]+\n", "", s)
self.check_output()
self.check_cmd_output("aptly snapshot show -with-packages snap3", "snapshot_show", match_prepare=remove_created_at)
class PullSnapshot12Test(BaseTest):
"""
pull snapshot: latest version is pulled by default
"""
fixtureDB = True
fixtureCmds = [
"aptly snapshot create empty empty",
"aptly snapshot create sensu from mirror sensu",
]
runCmd = "aptly snapshot pull -architectures=amd64,i386 empty sensu destination sensu"
class PullSnapshot13Test(BaseTest):
"""
pull snapshot: pull all versions
"""
fixtureDB = True
fixtureCmds = [
"aptly snapshot create empty empty",
"aptly snapshot create sensu from mirror sensu",
]
runCmd = "aptly snapshot pull -architectures=amd64,i386 -all-matches empty sensu destination sensu"
class PullSnapshot14Test(BaseTest):
"""
pull snapshot: pull with query
"""
fixtureDB = True
fixtureCmds = [
"aptly snapshot create empty empty",
"aptly snapshot create sensu from mirror sensu",
]
runCmd = "aptly snapshot pull -architectures=amd64,i386 -all-matches empty sensu destination 'sensu (>0.12)' 'sensu (<0.9.6)'"
class PullSnapshot15Test(BaseTest):
"""
pull snapshot: verbose logs
"""
fixtureDB = True
fixtureCmds = [
"aptly snapshot create snap1 from mirror wheezy-main",
"aptly snapshot create snap2 from mirror wheezy-backports",
]
runCmd = "aptly snapshot pull -dep-verbose-resolve snap1 snap2 snap3 'rsyslog (>= 7.4.4)'"
outputMatchPrepare = sortLines