code: def test_linesep_json(self):
      df = self.spark.read.json(
          "python/test_support/sql/people.json", lineSep=","
      )
      expected = [
          Row(_corrupt_record=None, name="Michael"),
          Row(
              _corrupt_record=' "age":30}\n{"name":"Justin"', name=None
          ),
          Row(_corrupt_record=' "age":19}\n', name=None),
      ]
      self.assertEqual(df.collect(), expected)
  
      tpath = tempfile.mkdtemp()
      shutil.rmtree(tpath)
      try:
          df = self.spark.read.json(
              "python/test_support/sql/people.json"
          )
          df.write.json(tpath, lineSep="!!")
          readback = self.spark.read.json(tpath, lineSep="!!")
          self.assertEqual(readback.collect(), df.collect())
      finally:
          shutil.rmtree(tpath)
  
imports: import shutil
  import tempfile
  import uuid
  import os
  from pyspark.sql import Row
  from pyspark.sql.types import IntegerType, StructField, StructType, LongType, StringType
  from pyspark.testing.sqlutils import ReusedSQLTestCase
label_desc: Use image node_id 4 for calling the DataSourcesTestsMixin obj's underlying member method code with example usage: obj.test_linesep_json() without return types