use new api in release-service

This commit is contained in:
Michael Jerger 2023-08-11 14:20:27 +02:00
parent 2fc59f105b
commit 88253f49ac
4 changed files with 26 additions and 3 deletions

View file

@ -1,18 +1,25 @@
from typing import List from typing import List
from pathlib import Path from pathlib import Path
from ..infrastructure import GitApi, BuildFileRepository from ..infrastructure import GitApi, ArtifactDeploymentApi, BuildFileRepository
from ..domain import Version, Release, ReleaseType from ..domain import Version, Release, ReleaseType
class ReleaseService: class ReleaseService:
def __init__(self, git_api: GitApi, build_file_repository: BuildFileRepository): def __init__(
self,
git_api: GitApi,
build_file_repository: BuildFileRepository,
artifact_deployment_api: ArtifactDeploymentApi,
):
self.git_api = git_api self.git_api = git_api
self.artifact_deployment_api = artifact_deployment_api
self.build_file_repository = build_file_repository self.build_file_repository = build_file_repository
@classmethod @classmethod
def prod(cls, base_dir: str): def prod(cls, base_dir: str):
return cls( return cls(
GitApi(), GitApi(),
ArtifactDeploymentApi(),
BuildFileRepository(base_dir), BuildFileRepository(base_dir),
) )

View file

@ -7,5 +7,6 @@ from .infrastructure import (
CredentialsApi, CredentialsApi,
GitApi, GitApi,
TerraformApi, TerraformApi,
ArtifactDeploymentApi,
) )
from .repository import DevopsRepository, BuildFileRepository from .repository import DevopsRepository, BuildFileRepository

View file

@ -7,12 +7,13 @@ from src.main.python.ddadevops.domain import (
from src.test.python.domain.helper import ( from src.test.python.domain.helper import (
BuildFileRepositoryMock, BuildFileRepositoryMock,
GitApiMock, GitApiMock,
ArtifactDeploymentApiMock,
build_devops, build_devops,
) )
from src.main.python.ddadevops.application import ReleaseService from src.main.python.ddadevops.application import ReleaseService
def test_sould_update_release_type(): def test_sould_update_release_type():
sut = ReleaseService(GitApiMock(), BuildFileRepositoryMock("build.py")) sut = ReleaseService(GitApiMock(), ArtifactDeploymentApiMock(), BuildFileRepositoryMock("build.py"))
devops = build_devops({}) devops = build_devops({})
release = devops.mixins[MixinType.RELEASE] release = devops.mixins[MixinType.RELEASE]
sut.update_release_type(release, "MAJOR") sut.update_release_type(release, "MAJOR")

View file

@ -150,3 +150,17 @@ class GitApiMock:
def checkout(self, branch: str): def checkout(self, branch: str):
pass pass
class ArtifactDeploymentApiMock:
def __init__(self):
pass
def post_release(self, target_url: str, tag: str, token: str):
pass
def post_asset(self, target_url: str, release_id: str, attachment: str, attachment_type: str, token: str):
pass
def calculate_checksums(self, build_path: str):
pass