コード例 #1
0
ファイル: query.py プロジェクト: Pandulis/gigantum-client
    def resolve_repository_name_is_available(self, info, name: str):
        """Resolver to check if a repository name is in use locally or remotely

        Args:
            info:
            name: desired name for the repository

        Returns:

        """
        # Check if repository exists locally
        logged_in_username = get_logged_in_username()
        im = InventoryManager()
        if im.repository_exists(logged_in_username, logged_in_username, name):
            return False

        # Check if repository exists remotely
        remote_config = Configuration().get_remote_configuration()
        auth_service = None
        remote = None
        if remote_config:
            auth_service = remote_config.get('admin_service')
            remote = remote_config.get('git_remote')

        # Get collaborators from remote service
        mgr = GitLabManager(remote, auth_service, flask.g.access_token)
        if mgr.repository_exists(logged_in_username, name):
            return False

        # If you get here the name is available
        return True
コード例 #2
0
 def test_repository_exists_dataset(self, mock_config_file):
     inv_manager = InventoryManager(mock_config_file[0])
     inv_manager.create_dataset("test", "test", "dataset-1", storage_type='gigantum_object_v1')
     assert inv_manager.repository_exists('test', 'test', 'labbook1') is False
     assert inv_manager.repository_exists('test', 'test', 'dataset-1') is True
コード例 #3
0
 def test_repository_exists_no_repo(self, mock_config_file):
     inv_manager = InventoryManager(mock_config_file[0])
     inv_manager.create_labbook("test", "test", "labbook1", description="my first labbook")
     assert inv_manager.repository_exists('test', 'test', 'does-not-exist') is False
コード例 #4
0
 def test_repository_exists_project(self, mock_config_file):
     inv_manager = InventoryManager(mock_config_file[0])
     inv_manager.create_labbook("test", "test", "labbook1", description="my first labbook")
     assert inv_manager.repository_exists('test', 'test', 'labbook1') is True