diff --git a/tests/utils/container.py b/tests/utils/container.py index c6189f7..056fb59 100644 --- a/tests/utils/container.py +++ b/tests/utils/container.py @@ -6,6 +6,7 @@ from pathlib import PurePosixPath from docker.errors import DockerException from .issue import ContainerErrorTest from .properties import ContainerObject +from .misc import read_token class VirtualMachine: @@ -14,7 +15,9 @@ class VirtualMachine: self.container = container self.base_command = self.container.commands + self.clear_containers() + self.pull_image() @staticmethod def start_docker(): @@ -27,6 +30,17 @@ class VirtualMachine: print('Docker isn\'t start or installed') exit(1) + def pull_image(self): + """Pull docker image""" + print(f'Pull this image : {self.container.image}') + if 'unreal' in self.container.label: + unreal_token = read_token('token_unreal.txt') + self.client.login(registry='https://ghcr.io', username='stilobique', password=unreal_token) + + print('Start to PULL image') + self.client.images.pull(f'{self.container.image}:{self.container.tag}') + print('Image is pull') + def clear_containers(self): """Look all docker containers, and remove-it if the task are used with the unit test.""" containers = self.client.containers.list(all=True) diff --git a/tests/utils/forge.py b/tests/utils/forge.py index d364ef1..19a111b 100644 --- a/tests/utils/forge.py +++ b/tests/utils/forge.py @@ -1,16 +1,7 @@ -import os import requests -from pathlib import Path from github import Github - - -def read_token(): - token_file = Path(os.getcwd(), 'tests', 'token.txt') - with open(token_file, 'r') as f: - token = f.read() - - return token +from misc import read_token def get_release_file(filename: str, repo: str, prerelease: bool = False): diff --git a/tests/utils/misc.py b/tests/utils/misc.py index fd7ba70..3fc4993 100644 --- a/tests/utils/misc.py +++ b/tests/utils/misc.py @@ -4,6 +4,16 @@ import sys import zipfile from .issue import ArchiveFolderSourceNotFound +from pathlib import Path + + +def read_token(file: str = 'token.txt') -> str: + """From tests folder, return a token string, in a dedicated file""" + token_file = Path(os.getcwd(), 'tests', file) + with open(token_file, 'r') as f: + token = f.read() + + return token def generate_archive(list_clean: list, name: str):