class_docstr: These test cases exercise the interface to the proto plan
  generation but do not call Spark.
class_docstr_tok: ["These","test","cases","exercise","the","interface","to","the","proto","plan","generation","but","do","not","call","Spark","."]
code: def test_column_alias(self) -> None:
      # SPARK-40809: Support for Column Aliases
      col0 = col("a").alias("martin")
      self.assertEqual("Column<'a AS martin'>", str(col0))
  
      col0 = col("a").alias("martin", metadata={"pii": True})
      plan = col0.to_plan(self.session.client)
      self.assertIsNotNone(plan)
      self.assertEqual(plan.alias.metadata, '{"pii": true}')
  
imports: import unittest
  import uuid
  import datetime
  import decimal
  import math
  from pyspark.testing.connectutils import PlanOnlyTestFixture, should_test_connect, connect_requirement_message
  from pyspark.errors import PySparkValueError
label_desc: Use image node_id 52 for calling the SparkConnectPlanTests obj's underlying member method code with example usage: obj.test_column_alias() without return types