code: def test_conf(self):
      spark = self.spark
      spark.conf.set("bogo", "sipeo")
      self.assertEqual(spark.conf.get("bogo"), "sipeo")
      spark.conf.set("bogo", "ta")
      self.assertEqual(spark.conf.get("bogo"), "ta")
      self.assertEqual(spark.conf.get("bogo", "not.read"), "ta")
      self.assertEqual(spark.conf.get("not.set", "ta"), "ta")
      self.assertRaisesRegex(
          Exception, "not.set", lambda: spark.conf.get("not.set")
      )
      spark.conf.unset("bogo")
      self.assertEqual(spark.conf.get("bogo", "colombia"), "colombia")
  
      self.assertEqual(spark.conf.get("hyukjin", None), None)
  
      # This returns 'STATIC' because it's the default value of
      # 'spark.sql.sources.partitionOverwriteMode', and `defaultValue` in
      # `spark.conf.get` is unset.
      self.assertEqual(
          spark.conf.get("spark.sql.sources.partitionOverwriteMode"),
          "STATIC",
      )
  
      # This returns None because 'spark.sql.sources.partitionOverwriteMode' is unset, but
      # `defaultValue` in `spark.conf.get` is set to None.
      self.assertEqual(
          spark.conf.get(
              "spark.sql.sources.partitionOverwriteMode", None
          ),
          None,
      )
  
      self.assertTrue(
          spark.conf.isModifiable(
              "spark.sql.execution.arrow.maxRecordsPerBatch"
          )
      )
      self.assertFalse(
          spark.conf.isModifiable("spark.sql.warehouse.dir")
      )
  
file_path: spark/python/pyspark/sql/tests/test_conf.py
imports: from decimal import Decimal
  from pyspark.errors import IllegalArgumentException, PySparkTypeError
  from pyspark.testing.sqlutils import ReusedSQLTestCase
label_desc: Use image node_id 1 for calling the ConfTestsMixin obj's underlying member method code with example usage: obj.test_conf() without return types