|
- # Copyright (c) Alibaba, Inc. and its affiliates.
- import os.path as osp
- import unittest
-
- from maas_hub.maas_api import MaasApi
- from maas_hub.repository import Repository
-
- USER_NAME = 'maasadmin'
- PASSWORD = '12345678'
-
-
- class HubOperationTest(unittest.TestCase):
-
- def setUp(self):
- self.api = MaasApi()
- # note this is temporary before official account management is ready
- self.api.login(USER_NAME, PASSWORD)
-
- @unittest.skip('to be used for local test only')
- def test_model_repo_creation(self):
- # change to proper model names before use
- model_name = 'cv_unet_person-image-cartoon_compound-models'
- model_chinese_name = '达摩卡通化模型'
- model_org = 'damo'
- try:
- self.api.create_model(
- owner=model_org,
- name=model_name,
- chinese_name=model_chinese_name,
- visibility=5, # 1-private, 5-public
- license='apache-2.0')
- # TODO: support proper name duplication checking
- except KeyError as ke:
- if ke.args[0] == 'name':
- print(f'model {self.model_name} already exists, ignore')
- else:
- raise
-
- # Note that this can be done via git operation once model repo
- # has been created. Git-Op is the RECOMMENDED model upload approach
- @unittest.skip('to be used for local test only')
- def test_model_upload(self):
- local_path = '/path/to/local/model/directory'
- assert osp.exists(local_path), 'Local model directory not exist.'
- repo = Repository(local_dir=local_path)
- repo.push_to_hub(commit_message='Upload model files')
-
-
- if __name__ == '__main__':
- unittest.main()
|