class_docstr: Tests for RulesEngine
class_docstr_tok: ["Tests","for","RulesEngine"]
docstr: RulesEngine - _configure_publishers, Mixed Single
docstr_tok: ["RulesEngine","-","_configure_publishers",",","Mixed","Single"]
code: def test_configure_publishers_mixed_single(self):
      """RulesEngine - _configure_publishers, Mixed Single"""
      outputs = {"slack:test", "demisto:test"}
      rule = Mock(
          outputs_set=outputs,
          publishers={
              "demisto": "streamalert.shared.publisher.DefaultPublisher",
              "slack": that_publisher,
              "slack:test": ThisPublisher,
          },
      )
  
      publishers = self._rules_engine._configure_publishers(
          rule, outputs
      )
      expectation = {
          "slack:test": [
              "tests.unit.streamalert.rules_engine.test_rules_engine.that_publisher",
              "tests.unit.streamalert.rules_engine.test_rules_engine.ThisPublisher",
          ],
          "demisto:test": [
              "streamalert.shared.publisher.DefaultPublisher"
          ],
      }
  
      assert_equal(publishers, expectation)
  
imports: from datetime import datetime, timedelta
  from mock import Mock, patch, PropertyMock
  from nose.tools import assert_equal, assert_false, assert_true
  from publishers.community.generic import remove_internal_fields
  from streamalert.shared.publisher import AlertPublisher, Register, DefaultPublisher
  import streamalert.rules_engine.rules_engine
  from streamalert.rules_engine.rules_engine import RulesEngine
label_desc: Use image node_id 40 for calling the TestRulesEngine obj's underlying member method code with example usage: obj.test_configure_publishers_mixed_single() without return types