code: def test_environ(self):
      environ = {"one": "two", "three": "four"}
      auth = auth_lib.AuthContext({}, environ)
      client_feature_flags = {"someFlag": True}
      req_context = context.from_environ(environ)
      self.assertNotEqual(req_context.auth, auth)
      self.assertEqual(req_context.remote_ip, None)
      self.assertEqual(req_context.x_forwarded_for, ())
      self.assertEqual(req_context.client_feature_flags, {})
  
      context.set_in_environ(
          environ,
          context.from_environ(environ).replace(
              auth=auth,
              remote_ip=REMOTE_IP,
              x_forwarded_for=X_FORWARDED_FOR_IPS,
              client_feature_flags=client_feature_flags,
          ),
      )
      self.assertEqual(environ["one"], "two")
      self.assertEqual(environ["three"], "four")
      req_context = context.from_environ(environ)
      self.assertEqual(req_context.auth, auth)
      self.assertEqual(req_context.remote_ip, REMOTE_IP)
      self.assertEqual(req_context.x_forwarded_for, X_FORWARDED_FOR_IPS)
      self.assertEqual(
          req_context.client_feature_flags, client_feature_flags
      )
  
file_path: tensorboard/tensorboard/context_test.py
imports: import ipaddress
  from tensorboard import auth
  from tensorboard import context
  from tensorboard import test
label_desc: Use image node_id 3 for calling the RequestContextTest obj's underlying member method code with example usage: obj.test_environ() without return types