docstr: Credentials - Plaintext Credentials - Encrypt
  
  Doubly-encrypting the credentials should do nothing.
docstr_tok: ["Credentials","-","Plaintext","Credentials","-","Encrypt","Doubly-encrypting","the","credentials","should","do","nothing","."]
code: def test_encrypt(self):
      """Credentials - Plaintext Credentials - Encrypt
  
      Doubly-encrypting the credentials should do nothing.
      """
      self._credentials.encrypt(REGION, KMS_ALIAS)
  
      assert_true(self._credentials.is_encrypted())
  
      # moto changed from simply base64 encoding data to actually
      # doing proper encryption/decryption. See here:
      # https://github.com/earlrob/moto/commit/98581b9196768ad8d5eaa1e02ca744c0c3b2098e
      assert_not_equal(
          self._credentials.data(), "plaintext credentials"
      )
  
imports: import json
  import os
  from collections import OrderedDict
  from botocore.exceptions import ClientError
  from mock import patch, MagicMock
  from moto import mock_kms, mock_ssm
  from nose.tools import assert_equal, assert_false, assert_is_instance, assert_is_none, assert_is_not_none, assert_not_equal, assert_true
  from streamalert.alert_processor.outputs.output_base import OutputProperty
  from streamalert.alert_processor.outputs.credentials.provider import SSMDriver, LocalFileDriver, Credentials, OutputCredentialsProvider, EphemeralUnencryptedDriver, SpooledTempfileDriver, get_formatted_output_credentials_name
  from tests.unit.streamalert.alert_processor import PREFIX, CONFIG, KMS_ALIAS, REGION, MOCK_ENV
  from tests.unit.streamalert.alert_processor.helpers import encrypt_with_kms, setup_mock_kms
label_desc: Use image node_id 6 for calling the TestCredentialsUnencrypted obj's underlying member method code with example usage: obj.test_encrypt() without return types