code: def test_request_with_params(self):
      # urlencode transforms `True` --> `'True'`, which isn't super helpful,
      # Our backend accepts the JS `true`, so we want `True` --> `'true'`.
  
      params = {"foo": True, "bar": "True", "baz": False, "zap": 0}
      utils.request(self.method, self.url, params=params)
      args, kwargs = self.request_mock.call_args
      method, url = args
      expected_params = {
          "foo": "true",
          "bar": "True",
          "baz": "false",
          "zap": 0,
      }
      self.assertEqual(method, self.method)
      self.assertEqual(url, self.url)
      self.assertEqual(kwargs["params"], expected_params)
  
imports: from __future__ import absolute_import
  import json
  from requests.exceptions import ConnectionError
  from plotly import version
  from chart_studio.api.utils import to_native_utf8_string
  from chart_studio.api.v2 import utils
  from chart_studio.exceptions import PlotlyRequestError
  from chart_studio.session import sign_in
  from chart_studio.tests.test_plot_ly.test_api import PlotlyApiTestCase
label_desc: Use image node_id 2 for calling the RequestTest obj's underlying member method code with example usage: obj.test_request_with_params() without return types