from src.main.python.ddadevops.release_mixin.domain import ReleaseType

class MockVersion():

    def __init__(self, id = None, version_list = None):
        self.id = None
        self.version_list = None
        self.version_string = None
        self.is_snapshot = None

    def increment(self, release_type: ReleaseType):
        pass

    def get_version_string(self) -> str:
        return ""

    def create_release_version(self, release_type: ReleaseType):
        return MockVersion()

    def create_bump_version(self):
        return MockVersion()

class MockRelease():
    def __init__(self, release_type, version, current_branch):
        self.release_type = release_type
        self.version = version
        self.current_branch = current_branch
        self.validate_count = 0

    def release_version(self):
        return self.version.create_release_version(self.release_type)

    def bump_version(self):
        return self.release_version().create_bump_version()

    def validate(self, main_branch):
        self.validate_count += 1
        return self.is_valid

    def is_valid(self, main_branch):
        return True