code: def test_initialization_for_optional_fields(
      self, mock_name_from_base
  ):
      derived_notebook_job_name = "job_name_abc"
      mock_name_from_base.return_value = derived_notebook_job_name
  
      notebook_step = NotebookJobStep(
          input_notebook=INPUT_NOTEBOOK,
          image_uri=IMAGE_URI,
          kernel_name=KERNEL_NAME,
      )
      # call arguments to trigger default value resolving logic
      notebook_step.arguments
  
      # Verify the default values for optional fields
      self.assertIsNone(notebook_step.display_name)
      self.assertIsNone(notebook_step.description)
      self.assertEqual(notebook_step.name, derived_notebook_job_name)
      self.assertEqual(
          notebook_step.notebook_job_name, derived_notebook_job_name
      )
      mock_name_from_base.assert_any_call("input")
      mock_name_from_base.assert_any_call("notebook1-happypath-ipynb")
  
      self.assertEqual(notebook_step.s3_root_uri, S3_ROOT_URI)
      self.assertIsNone(notebook_step.parameters)
      self.assertIsNone(notebook_step.environment_variables)
      self.assertIsNone(notebook_step.initialization_script)
      self.assertIsNone(notebook_step.s3_kms_key)
      self.assertEqual(notebook_step.instance_type, "ml.m5.large")
      self.assertEqual(notebook_step.volume_size, 30)
      self.assertIsNone(notebook_step.volume_kms_key)
      self.assertTrue(notebook_step.encrypt_inter_container_traffic)
      self.assertIsNone(notebook_step.security_group_ids)
      self.assertIsNone(notebook_step.subnets)
      self.assertEqual(notebook_step.max_retry_attempts, 1)
      self.assertEqual(
          notebook_step.max_runtime_in_seconds, 2 * 24 * 60 * 60
      )
      self.assertEqual(notebook_step.role, ROLE)
      self.assertIsNone(notebook_step.tags)
      self.assertIsNone(notebook_step.additional_dependencies)
      # ConfigurableRetryStep added default value as []
      self.assertEqual(notebook_step.retry_policies, [])
      self.assertIsNone(notebook_step.depends_on)
  
imports: from __future__ import absolute_import
  import unittest
  from mock import Mock, patch
  from sagemaker.workflow.notebook_job_step import NotebookJobStep
  from sagemaker.workflow.functions import Join
label_desc: Use image node_id 3 for calling the TestNotebookJobStep obj's underlying member method code with example usage: obj.test_initialization_for_optional_fields(mock_name_from_base) without return types