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
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
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
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