code: def test_prepare_for_training_encrypt(sagemaker_session):
      pca = PCA(
          num_components=55,
          sagemaker_session=sagemaker_session,
          **COMMON_ARGS,
      )
  
      train = [
          [1.0, 2.0, 3.0],
          [4.0, 5.0, 6.0],
          [7.0, 8.0, 8.0],
          [44.0, 55.0, 66.0],
      ]
      labels = [99, 85, 87, 2]
      with patch(
          "sagemaker.amazon.amazon_estimator.upload_numpy_to_s3_shards",
          return_value="manfiest_file",
      ) as mock_upload:
          pca.record_set(np.array(train), np.array(labels))
          pca.record_set(
              np.array(train), np.array(labels), encrypt=True
          )
  
      def make_upload_call(encrypt):
          return call(ANY, ANY, ANY, ANY, ANY, ANY, encrypt)
  
      mock_upload.assert_has_calls(
          [make_upload_call(False), make_upload_call(True)]
      )
  
imports: from __future__ import absolute_import
  import numpy
  import pytest
  from mock import ANY, Mock, patch, call
  from sagemaker import image_uris
  from sagemaker.amazon.pca import PCA
  from sagemaker.amazon.amazon_estimator import upload_numpy_to_s3_shards, _build_shards, FileSystemRecordSet
  from sagemaker.session_settings import SessionSettings
  from tests.unit import DEFAULT_S3_OBJECT_KEY_PREFIX_NAME, DEFAULT_S3_BUCKET_NAME, _test_default_bucket_and_prefix_combinations
label_desc: Use image node_id 12 for calling a global function with example usage: test_prepare_for_training_encrypt(sagemaker_session) and returns: call