code: def test_valid_notebook_job_name(self):
      self._do_test_for_valid_notebook_job_name("NotebookJob123")
      self._do_test_for_valid_notebook_job_name("Notebo---okJob-123--")
      self._do_test_for_valid_notebook_job_name("Notebo___okJob_123__")
      self._do_test_for_valid_notebook_job_name("notebookjob1234567890")
  
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 9 for calling the TestNotebookJobStep obj's underlying member method code with example usage: obj.test_valid_notebook_job_name() without return types