code: def test_read_only_mode(self, warn_once):
      warned_once.clear()
      with init_run(mode="read-only", with_id="whatever") as exp:
          exp["some/variable"] = 13
          exp["some/other_variable"] = 11
  
          warn_once.assert_called_with(
              "Client in read-only mode, nothing will be saved to server.",
              exception=NeptuneWarning,
          )
          self.assertEqual(42, exp["some/variable"].fetch())
          self.assertNotIn(str(exp._id), os.listdir(".neptune"))
  
imports: import itertools
  import os
  import unittest
  from mock import mock_open, patch
  from neptune import ANONYMOUS_API_TOKEN, init_run
  from neptune.attributes.atoms import String
  from neptune.common.utils import IS_WINDOWS
  from neptune.common.warnings import NeptuneWarning, warned_once
  from neptune.envs import API_TOKEN_ENV_NAME, PROJECT_ENV_NAME
  from neptune.exceptions import MissingFieldException
  from neptune.internal.backends.api_model import Attribute, AttributeType, IntAttribute
  from neptune.internal.backends.neptune_backend_mock import NeptuneBackendMock
  from neptune.types import GitRef
  from tests.unit.neptune.new.client.abstract_experiment_test_mixin import AbstractExperimentTestMixin
  from tests.unit.neptune.new.utils.api_experiments_factory import api_run
label_desc: Use image node_id 3 for calling the TestClientRun obj's underlying member method code with example usage: obj.test_read_only_mode(warn_once) without return types