jiaqi.sjq 3 years ago
parent
commit
87b4a52b3c
2 changed files with 14 additions and 32 deletions
  1. +5
    -2
      modelscope/hub/git.py
  2. +9
    -30
      tests/hub/test_hub_upload.py

+ 5
- 2
modelscope/hub/git.py View File

@@ -184,8 +184,11 @@ class GitCommandWrapper(metaclass=Singleton):
info = [
line.strip()
for line in rsp.stdout.decode('utf8').strip().split(os.linesep)
][1:]
return ['/'.join(line.split('/')[1:]) for line in info]
]
if len(info) == 1:
return ['/'.join(info[0].split('/')[1:])]
else:
return ['/'.join(line.split('/')[1:]) for line in info[1:]]

def pull(self, repo_dir: str):
cmds = ['-C', repo_dir, 'pull']


+ 9
- 30
tests/hub/test_hub_upload.py View File

@@ -7,12 +7,13 @@ import uuid

from modelscope.hub.api import HubApi
from modelscope.hub.constants import Licenses, ModelVisibility
from modelscope.hub.errors import HTTPError, NotLoginException
from modelscope.hub.repository import Repository
from modelscope.hub.upload import upload_folder
from modelscope.utils.constant import ModelFile
from modelscope.utils.logger import get_logger
from modelscope.utils.test_utils import test_level
from .test_utils import TEST_ACCESS_TOKEN1, delete_credential
from .test_utils import TEST_ACCESS_TOKEN1, TEST_MODEL_ORG, delete_credential

logger = get_logger()

@@ -22,7 +23,7 @@ class HubUploadTest(unittest.TestCase):
def setUp(self):
logger.info('SetUp')
self.api = HubApi()
self.user = os.environ.get('TEST_MODEL_ORG', 'citest')
self.user = TEST_MODEL_ORG
logger.info(self.user)
self.create_model_name = '%s/%s_%s' % (self.user, 'test_model_upload',
uuid.uuid4().hex)
@@ -39,7 +40,10 @@ class HubUploadTest(unittest.TestCase):
def tearDown(self):
logger.info('TearDown')
shutil.rmtree(self.model_dir, ignore_errors=True)
self.api.delete_model(model_id=self.create_model_name)
try:
self.api.delete_model(model_id=self.create_model_name)
except Exception:
pass

def test_upload_exits_repo_master(self):
logger.info('basic test for upload!')
@@ -119,48 +123,23 @@ class HubUploadTest(unittest.TestCase):
logger.info('test upload without login!')
self.api.login(TEST_ACCESS_TOKEN1)
delete_credential()
try:
upload_folder(
model_id=self.create_model_name,
model_dir=self.finetune_path,
visibility=ModelVisibility.PUBLIC,
license=Licenses.APACHE_V2)
except Exception as e:
logger.info(e)
self.api.login(TEST_ACCESS_TOKEN1)
with self.assertRaises(NotLoginException):
upload_folder(
model_id=self.create_model_name,
model_dir=self.finetune_path,
visibility=ModelVisibility.PUBLIC,
license=Licenses.APACHE_V2)
Repository(
model_dir=self.repo_path, clone_from=self.create_model_name)
assert os.path.exists(
os.path.join(self.repo_path, 'configuration.json'))
shutil.rmtree(self.repo_path, ignore_errors=True)

@unittest.skipUnless(test_level() >= 0, 'skip test in current test level')
def test_upload_invalid_repo(self):
logger.info('test upload to invalid repo!')
self.api.login(TEST_ACCESS_TOKEN1)
try:
with self.assertRaises(HTTPError):
upload_folder(
model_id='%s/%s' % ('speech_tts', 'invalid_model_test'),
model_dir=self.finetune_path,
visibility=ModelVisibility.PUBLIC,
license=Licenses.APACHE_V2)
except Exception as e:
logger.info(e)
upload_folder(
model_id=self.create_model_name,
model_dir=self.finetune_path,
visibility=ModelVisibility.PUBLIC,
license=Licenses.APACHE_V2)
Repository(
model_dir=self.repo_path, clone_from=self.create_model_name)
assert os.path.exists(
os.path.join(self.repo_path, 'configuration.json'))
shutil.rmtree(self.repo_path, ignore_errors=True)


if __name__ == '__main__':


Loading…
Cancel
Save