class_docstr: Test class for SESOutput
docstr: Create the dispatcher and the mock SES queue.
docstr_tok: ["Create","the","dispatcher","and","the","mock","SES","queue","."]
code: def setup(self, provider_constructor):
      """Create the dispatcher and the mock SES queue."""
      provider = MagicMock()
      provider_constructor.return_value = provider
      provider.load_credentials = Mock(
          side_effect=lambda x: self.CREDS
          if x == self.DESCRIPTOR
          else None
      )
  
      # Setup SES client and verify email addresses for tests
      ses = boto3.client("ses", region_name=REGION)
      ses.verify_email_identity(EmailAddress="to@example.com")
      ses.verify_email_identity(EmailAddress="to_2@example.com")
      ses.verify_email_identity(EmailAddress="from@example.com")
  
      self._dispatcher = SESOutput(CONFIG)
      self._provider = provider
  
imports: from email.mime.application import MIMEApplication
  from email.mime.text import MIMEText
  import boto3
  from mock import MagicMock, Mock, patch
  from moto import mock_kinesis, mock_s3, mock_sns, mock_sqs, mock_ses
  from nose.tools import assert_equal, assert_false, assert_is_not_none, assert_true
  from streamalert.alert_processor.helpers import compose_alert
  from streamalert.alert_processor.outputs.output_base import OutputProperty
  from streamalert.alert_processor.outputs import aws
  from streamalert.alert_processor.outputs.aws import AWSOutput, KinesisFirehoseOutput, LambdaOutput, S3Output, SESOutput, SNSOutput, SQSOutput, CloudwatchLogOutput, LambdaOutputV2
  from tests.unit.streamalert.alert_processor import CONFIG, MOCK_ENV, REGION
  from tests.unit.streamalert.alert_processor.helpers import get_alert, get_random_alert
label_desc: Use image node_id 1 for calling the TestSESOutput obj's underlying member method code with example usage: obj.setup(provider_constructor) without return types