code: def test_refresh_token_and_add(self):
      # given
      self.session._client.add_token.side_effect = [
          TokenExpiredError,
          (self.updated_url, self.updated_headers, self.updated_body),
      ]
  
      # when
      updated_request = self.neptune_auth(self.request)
  
      # then
      self.session._client.add_token.assert_called_with(
          self.url,
          http_method=self.method,
          body=self.body,
          headers=self.headers,
      )
  
      # and
      self.assertEqual(self.updated_url, updated_request.url)
      self.assertEqual(self.updated_headers, updated_request.headers)
      self.assertEqual(self.updated_body, updated_request.body)
  
file_path: neptune-client/tests/unit/neptune/legacy/test_oauth.py
imports: import time
  import unittest
  import jwt
  from mock import MagicMock, patch
  from oauthlib.oauth2 import TokenExpiredError
  from neptune.common.oauth import NeptuneAuth, NeptuneAuthenticator, _decoding_options, _no_token_updater
  from tests.unit.neptune.legacy.http_objects_factory import a_request
  from tests.unit.neptune.legacy.oauth_objects_factory import SECRET, a_refresh_token, an_access_token
label_desc: Use image node_id 3 for calling the TestNeptuneAuth obj's underlying member method code with example usage: obj.test_refresh_token_and_add() without return types