code: def test_storage_only(base_path=None, ds_path=None):
      store_url = "ria+" + get_local_file_url(base_path)
  
      ds = Dataset(ds_path).create(force=True)
      ds.save(recursive=True)
      assert_repo_status(ds.path)
  
      res = ds.create_sibling_ria(
          store_url,
          "datastore",
          storage_sibling="only",
          new_store_ok=True,
      )
      assert_result_count(
          res, 1, status="ok", action="create-sibling-ria"
      )
      eq_(len(res), 1)
  
      # the storage sibling uses the main name, not -storage
      siblings = ds.siblings(result_renderer="disabled")
      eq_({"datastore", "here"}, {s["name"] for s in siblings})
  
      # smoke test that we can push to it
      res = ds.push(to="datastore")
      assert_status("ok", res)
      assert_result_count(res, 1, action="copy")
  
file_path: datalad/datalad/distributed/tests/test_create_sibling_ria.py
imports: import logging
  import os.path
  from functools import wraps
  from unittest.mock import patch
  from datalad import cfg
  from datalad.api import Dataset, clone
  from datalad.support.network import get_local_file_url
  from datalad.tests.utils_pytest import assert_false, assert_in, assert_raises, assert_repo_status, assert_result_count, assert_status, attr, chpwd, eq_, known_failure_githubci_win, ok_exists, skip_if_on_windows, skip_ssh, skip_wo_symlink_capability, slow, swallow_logs, with_tempfile, with_tree
  from datalad.utils import Path
label_desc: Use image node_id 7 for calling a global function with example usage: test_storage_only(base_path, ds_path) without return types