Make services testable

This commit is contained in:
bom 2023-02-22 10:57:24 +01:00
parent e578878b82
commit 167eec4620

View file

@ -4,28 +4,29 @@ from git_repository import GitRepository
class InitReleaseService(): class InitReleaseService():
def __init__(self, commit_id, file): def __init__(self, file):
self.commit_id = commit_id
self.file = file self.file = file
self.version_repo = None self.version_repo = None
def __calculate_release_type(self): def __calculate_release_type(self, commit_string = None):
if commit_string is None:
return GitRepository().get_release_type_from_latest_commit() return GitRepository().get_release_type_from_latest_commit()
else:
return GitRepository.create_from_commit_string(commit_string).get_release_type_from_latest_commit()
def get_version(self, release_type): def get_version(self, release_type):
self.version_repo = VersionRepository(self.file) self.version_repo = VersionRepository(self.file)
return self.version_repo.get_version(release_type) return self.version_repo.get_version(release_type)
def create_release_version(self): def create_release_version(self, commit_string = None):
commit_message = self.read_commit_message(self.commit_id) release_type = self.__calculate_release_type(commit_string)
release_type = self.__calculate_release_type(commit_message)
version = self.get_version(release_type).create_release_version() version = self.get_version(release_type).create_release_version()
self.version_repo.write_file(version.get_version_string()) self.version_repo.write_file(version.get_version_string())
def create_bump_version(self): def create_bump_version(self):
if self.version_repo == None: if self.version_repo == None:
raise Exception('VersionRepo was not created. Did you run create_lease_version()?') raise Exception('VersionRepo was not created. Did you run create_release_version()?')
version = self.get_version(ReleaseType.BUMP).create_bump_version() version = self.get_version(ReleaseType.BUMP).create_bump_version()
self.version_repo.write_file(version.get_version_string()) self.version_repo.write_file(version.get_version_string())