code: def test_upload_data_absolute_dir(sagemaker_session):
      """Test the method ``Session.upload_data`` can upload encrypted objects to S3 bucket"""
      data_path = os.path.join(
          DATA_DIR, "upload_data_tests", "nested_dir"
      )
      uploaded_dir = sagemaker_session.upload_data(
          data_path, extra_args=AES_ENCRYPTION_ENABLED
      )
      parsed_url = urlparse(uploaded_dir)
      s3_bucket = parsed_url.netloc
      s3_prefix = parsed_url.path.lstrip("/")
      s3_client = sagemaker_session.boto_session.client("s3")
      for file in os.listdir(data_path):
          s3_key = "{}/{}".format(s3_prefix, file)
          head = s3_client.head_object(Bucket=s3_bucket, Key=s3_key)
          assert head["ServerSideEncryption"] == "AES256"
  
imports: from __future__ import absolute_import
  import os
  from six.moves.urllib.parse import urlparse
  from tests.integ import DATA_DIR
label_desc: Use image node_id 2 for calling a global function with example usage: test_upload_data_absolute_dir(sagemaker_session) without return types