Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion tests/apitests/python/library/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,17 @@
import subprocess
import time

import v2_swagger_client
import importlib

try:
from urllib import getproxies
except ImportError:
from urllib.request import getproxies

def swagger_module():
module = importlib.import_module("v2_swagger_client")
return module

class Server:
def __init__(self, endpoint, verify_ssl):
self.endpoint = endpoint
Expand All @@ -26,6 +30,7 @@ def get_endpoint():
return os.environ.get("HARBOR_HOST_SCHEMA", "https")+ "://"+harbor_server+"/api/v2.0"

def _create_client(server, credential, debug, api_type):
v2_swagger_client = swagger_module()
cfg = v2_swagger_client.Configuration()
cfg.host = server.endpoint
cfg.verify_ssl = server.verify_ssl
Expand Down
12 changes: 9 additions & 3 deletions tests/apitests/python/library/repository.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,16 @@

import time
import base
import v2_swagger_client
import importlib
import docker_api
from docker_api import DockerAPI
from v2_swagger_client.rest import ApiException
# from v2_swagger_client.rest import ApiException
from testutils import DOCKER_USER, DOCKER_PWD

def swagger_module():
module = importlib.import_module("v2_swagger_client")
return module

def pull_harbor_image(registry, username, password, image, tag, expected_login_error_message = None, expected_error_message = None):
_docker_api = DockerAPI()
_docker_api.docker_login(registry, username, password, expected_error_message = expected_login_error_message)
Expand Down Expand Up @@ -122,6 +126,7 @@ def get_repository(self, project_name, repo_name, **kwargs):

def add_label_to_tag(self, repo_name, tag, label_id, expect_status_code = 200, **kwargs):
client = self._get_client(**kwargs)
v2_swagger_client = swagger_module()
label = v2_swagger_client.Label(id=label_id)
_, status_code, _ = client.repositories_repo_name_tags_tag_labels_post_with_http_info(repo_name, tag, label)
base._assert_status_code(expect_status_code, status_code)
Expand Down Expand Up @@ -158,11 +163,12 @@ def signature_should_exist(self, repo_name, tag, **kwargs):

def retag_image(self, repo_name, tag, src_image, override=True, expect_status_code = 200, expect_response_body = None, **kwargs):
client = self._get_client(**kwargs)
v2_swagger_client = swagger_module()
request = v2_swagger_client.RetagReq(tag=tag, src_image=src_image, override=override)

try:
data, status_code, _ = client.repositories_repo_name_tags_post_with_http_info(repo_name, request)
except ApiException as e:
except v2_swagger_client.rest.ApiException as e:
base._assert_status_code(expect_status_code, e.status)
if expect_response_body is not None:
base._assert_status_body(expect_response_body, e.body)
Expand Down
10 changes: 7 additions & 3 deletions tests/apitests/python/testutils.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

files_directory = os.getcwd() + "/tests/files/"

import v2_swagger_client
import importlib

admin_user = "admin"
admin_pwd = "Harbor12345"
Expand All @@ -35,9 +35,12 @@
BASE_IMAGE = dict(name='busybox', tag='latest')
BASE_IMAGE_ABS_PATH_NAME = '/' + BASE_IMAGE['name'] + '.tar'


def swagger_module():
module = importlib.import_module("v2_swagger_client")
return module

def GetRepositoryApi(username, password, harbor_server= os.environ.get("HARBOR_HOST", '')):

v2_swagger_client = swagger_module()
cfg = v2_swagger_client.Configuration()
cfg.host = "https://"+harbor_server+"/api/v2.0"
cfg.username = username
Expand All @@ -49,6 +52,7 @@ def GetRepositoryApi(username, password, harbor_server= os.environ.get("HARBOR_H
return api_instance

def GetUserGroupApi(username, password, harbor_server= os.environ.get("HARBOR_HOST", '')):
v2_swagger_client = swagger_module()
cfg = v2_swagger_client.Configuration()
cfg.host = "https://"+harbor_server+"/api/v2.0"
cfg.username = username
Expand Down
Loading