class_docstr: Test class for SlackOutput
class_docstr_tok: ["Test","class","for","SlackOutput"]
docstr: SlackOutput - Format Single Message - Custom Text
docstr_tok: ["SlackOutput","-","Format","Single","Message","-","Custom","Text"]
code: def test_format_message_custom_text(self):
      """SlackOutput - Format Single Message - Custom Text"""
      rule_name = "test_rule_single"
      alert = get_random_alert(25, rule_name)
      output = MagicMock(spec=SlackOutput)
      alert_publication = compose_alert(alert, output, "asdf")
      alert_publication["@slack.text"] = "Lorem ipsum foobar"
  
      loaded_message = SlackOutput._format_message(
          alert, alert_publication
      )
  
      # tests
      assert_set_equal(
          set(loaded_message.keys()), {"text", "mrkdwn", "attachments"}
      )
      assert_equal(loaded_message["text"], "Lorem ipsum foobar")
      assert_equal(len(loaded_message["attachments"]), 1)
  
imports: from collections import Counter, OrderedDict
  from mock import patch, Mock, MagicMock
  from nose.tools import assert_equal, assert_false, assert_true, assert_set_equal
  from streamalert.alert_processor.helpers import compose_alert
  from streamalert.alert_processor.outputs.slack import SlackOutput
  from tests.unit.streamalert.alert_processor.helpers import get_random_alert, get_alert
label_desc: Use image node_id 3 for calling the TestSlackOutput obj's underlying member method code with example usage: obj.test_format_message_custom_text() without return types