Реализовал команду создания бэкапа и ее построитель, а также ручной тест
This commit is contained in:
parent
a2914ce339
commit
fa542158c8
|
|
@ -0,0 +1,24 @@
|
|||
from commands.CreateBackupCommand import CreateBackupCommand
|
||||
from parser.BackupParser.CreateBackupParser import CreateBackupParser
|
||||
|
||||
|
||||
class CreateBackupCommandBuilder:
|
||||
def __init__(self, pathProvider):
|
||||
assert pathProvider is not None
|
||||
|
||||
self.__pathProvider = pathProvider
|
||||
|
||||
def isCreateBackup(self, line):
|
||||
assert line is not None
|
||||
|
||||
parser = CreateBackupParser()
|
||||
return parser.isValidLine(line)
|
||||
|
||||
def getCommandFor(self, line):
|
||||
assert line is not None
|
||||
|
||||
parser = CreateBackupParser()
|
||||
backupArguments = parser.parseLine(line)
|
||||
|
||||
command = CreateBackupCommand(self.__pathProvider, backupArguments)
|
||||
return command
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
from CommandBuilders.CreateBackupCommandBuilder import CreateBackupCommandBuilder
|
||||
from ManualTests.path_provider import PathProvider
|
||||
|
||||
line = "create backup for 'BuildSample'"
|
||||
|
||||
baseDir = '../'
|
||||
path_provider = PathProvider(baseDir)
|
||||
|
||||
cmdBuilder = CreateBackupCommandBuilder(path_provider)
|
||||
command = cmdBuilder.getCommandFor(line)
|
||||
|
||||
command.execute()
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
import shutil
|
||||
|
||||
class CreateBackupCommand:
|
||||
def __init__(self, pathProvider, createBackupArguments):
|
||||
assert pathProvider is not None
|
||||
assert createBackupArguments is not None
|
||||
|
||||
self.__pathProvider = pathProvider
|
||||
self.__createBackupArguments = createBackupArguments
|
||||
|
||||
def execute(self):
|
||||
src = self.__pathProvider.resolveAbsPath(self.__createBackupArguments.getSourceFolderName())
|
||||
dst = self.__pathProvider.resolveAbsPath(self.__createBackupArguments.getBackupFolderName())
|
||||
|
||||
shutil.rmtree(dst, ignore_errors=True)
|
||||
shutil.copytree(src, dst, symlinks=False)
|
||||
|
|
@ -1,3 +1,11 @@
|
|||
class CreateBackupArguments:
|
||||
def __init__(self):
|
||||
self.folderName = None
|
||||
|
||||
def getSourceFolderName(self):
|
||||
return self.folderName
|
||||
|
||||
def getBackupFolderName(self):
|
||||
return "backup.{0}".format(self.folderName)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
#import ManualTests.csproj_test
|
||||
#import ManualTests.info_plist_test
|
||||
import ManualTests.copy_test
|
||||
#import ManualTests.copy_test
|
||||
|
||||
import ManualTests.create_backup_test
|
||||
Loading…
Reference in New Issue