code: def test_write_and_read_encrypted_csv(self):
      path = os.path.join(resource_path, "csv/encrypted")
      # write as encrypted csv file
      self.sc.write(self.df, CryptoMode.AES_CBC_PKCS5PADDING).mode(
          "overwrite"
      ).option("header", True).csv(path)
  
      # read from an encrypted csv file
      df = (
          self.sc.read(CryptoMode.AES_CBC_PKCS5PADDING)
          .option("header", "true")
          .csv(path)
      )
  
      csv_content = "\n".join(
          [
              str(v["language"]) + "," + str(v["user"])
              for v in df.orderBy("language").collect()
          ]
      )
  
      self.assertEqual(csv_content, self.data_content)
  
file_path: BigDL/python/ppml/test/bigdl/ppml/test_ppml_context.py
imports: import unittest
  import os
  import random
  import shutil
  from bigdl.ppml.ppml_context import *
  from pyspark.sql.types import StructType, StructField, StringType
label_desc: Use image node_id 6 for calling the TestPPMLContext obj's underlying member method code with example usage: obj.test_write_and_read_encrypted_csv() without return types