mirror of https://github.com/aptly-dev/aptly
187 lines
5.5 KiB
Python
187 lines
5.5 KiB
Python
from lib import BaseTest
|
|
import re
|
|
|
|
|
|
class MergeSnapshot1Test(BaseTest):
|
|
"""
|
|
merge snapshots: two snapshots
|
|
"""
|
|
fixtureDB = True
|
|
fixtureCmds = [
|
|
"aptly snapshot create snap1 from mirror wheezy-main",
|
|
"aptly snapshot create snap2 from mirror wheezy-non-free",
|
|
]
|
|
runCmd = "aptly snapshot merge snap3 snap1 snap2"
|
|
|
|
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 MergeSnapshot2Test(BaseTest):
|
|
"""
|
|
merge snapshots: one snapshot
|
|
"""
|
|
fixtureDB = True
|
|
fixtureCmds = [
|
|
"aptly snapshot create snap1 from mirror wheezy-main",
|
|
]
|
|
runCmd = "aptly snapshot merge snap2 snap1"
|
|
|
|
def check(self):
|
|
self.check_output()
|
|
self.check_cmd_output("aptly snapshot diff snap1 snap2", "snapshot_diff")
|
|
|
|
|
|
class MergeSnapshot3Test(BaseTest):
|
|
"""
|
|
merge snapshots: three snapshots
|
|
"""
|
|
fixtureDB = True
|
|
fixtureCmds = [
|
|
"aptly snapshot create snap1 from mirror wheezy-main",
|
|
"aptly snapshot create snap2 from mirror wheezy-non-free",
|
|
"aptly snapshot create snap3 from mirror wheezy-backports",
|
|
]
|
|
runCmd = "aptly snapshot merge snap4 snap1 snap2 snap3"
|
|
|
|
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 snap4", "snapshot_show", match_prepare=remove_created_at)
|
|
|
|
|
|
class MergeSnapshot4Test(BaseTest):
|
|
"""
|
|
merge snapshots: no such snapshot
|
|
"""
|
|
fixtureDB = True
|
|
fixtureCmds = [
|
|
"aptly snapshot create snap1 from mirror wheezy-main",
|
|
]
|
|
runCmd = "aptly snapshot merge snap3 snap1 snap2"
|
|
expectedCode = 1
|
|
|
|
|
|
class MergeSnapshot5Test(BaseTest):
|
|
"""
|
|
merge snapshots: duplicate snapshot
|
|
"""
|
|
fixtureDB = True
|
|
fixtureCmds = [
|
|
"aptly snapshot create snap1 from mirror wheezy-main",
|
|
]
|
|
runCmd = "aptly snapshot merge snap1 snap1"
|
|
expectedCode = 1
|
|
|
|
|
|
class MergeSnapshot6Test(BaseTest):
|
|
"""
|
|
merge snapshots: use latest versions only
|
|
"""
|
|
fixtureDB = True
|
|
fixtureCmds = [
|
|
"aptly snapshot create snap1 from mirror wheezy-main",
|
|
"aptly snapshot create snap2 from mirror wheezy-non-free",
|
|
"aptly snapshot create snap3 from mirror wheezy-backports",
|
|
]
|
|
runCmd = "aptly snapshot merge -latest snap4 snap1 snap2 snap3"
|
|
expectedCode = 0
|
|
|
|
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 snap4", "snapshot_show", match_prepare=remove_created_at)
|
|
|
|
|
|
class MergeSnapshot7Test(BaseTest):
|
|
"""
|
|
merge snapshots: in reverse order
|
|
"""
|
|
fixtureDB = True
|
|
fixtureCmds = [
|
|
"aptly snapshot create snap1 from mirror wheezy-main",
|
|
"aptly snapshot create snap2 from mirror wheezy-non-free",
|
|
"aptly snapshot create snap3 from mirror wheezy-backports",
|
|
]
|
|
runCmd = "aptly snapshot merge snap4 snap3 snap2 snap1"
|
|
expectedCode = 0
|
|
|
|
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 snap4", "snapshot_show", match_prepare=remove_created_at)
|
|
|
|
|
|
class MergeSnapshot8Test(BaseTest):
|
|
"""
|
|
merge snapshots: compare -latest and regular
|
|
"""
|
|
fixtureDB = True
|
|
fixtureCmds = [
|
|
"aptly snapshot create snap1 from mirror wheezy-main",
|
|
"aptly snapshot create snap2 from mirror wheezy-non-free",
|
|
"aptly snapshot create snap3 from mirror wheezy-backports",
|
|
"aptly snapshot merge snap4 snap3 snap2 snap1",
|
|
"aptly snapshot merge -latest snap5 snap3 snap2 snap1",
|
|
]
|
|
runCmd = "aptly snapshot diff snap4 snap5"
|
|
expectedCode = 0
|
|
|
|
|
|
class MergeSnapshot9Test(BaseTest):
|
|
"""
|
|
merge snapshots: -no-remove
|
|
"""
|
|
fixtureDB = True
|
|
fixtureCmds = [
|
|
"aptly snapshot create snap1 from mirror wheezy-main",
|
|
"aptly snapshot create snap2 from mirror wheezy-non-free",
|
|
"aptly snapshot create snap3 from mirror wheezy-backports",
|
|
]
|
|
runCmd = "aptly snapshot merge -no-remove snap4 snap1 snap2 snap3"
|
|
expectedCode = 0
|
|
|
|
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 snap4", "snapshot_show", match_prepare=remove_created_at)
|
|
|
|
|
|
class MergeSnapshot10Test(BaseTest):
|
|
"""
|
|
merge snapshots: compare -no-remove and regular
|
|
"""
|
|
fixtureDB = True
|
|
fixtureCmds = [
|
|
"aptly snapshot create snap1 from mirror wheezy-main",
|
|
"aptly snapshot create snap2 from mirror wheezy-non-free",
|
|
"aptly snapshot create snap3 from mirror wheezy-backports",
|
|
"aptly snapshot merge snap4 snap3 snap2 snap1",
|
|
"aptly snapshot merge -no-remove snap5 snap3 snap2 snap1",
|
|
]
|
|
runCmd = "aptly snapshot diff snap4 snap5"
|
|
expectedCode = 0
|
|
|
|
|
|
class MergeSnapshot11Test(BaseTest):
|
|
"""
|
|
merge snapshots: -no-remove & -latest conflict
|
|
"""
|
|
fixtureCmds = [
|
|
"aptly snapshot create snap1 empty"
|
|
]
|
|
runCmd = "aptly snapshot merge -no-remove -latest snap2 snap1"
|
|
expectedCode = 1
|