class_docstr: TestResult contains information useful for tracking test results
class_docstr_tok: ["TestResult","contains","information","useful","for","tracking","test","results"]
docstr: Returns True if all publisher tests were passed
  
  Also returns False if publisher tests were not run
docstr_tok: ["Returns","True","if","all","publisher","tests","were","passed","Also","returns","False","if","publisher","tests","were","not","run"]
code: def publisher_tests_passed(self):
      """Returns True if all publisher tests were passed
  
      Also returns False if publisher tests were not run
      """
      if not self.publisher_tests_were_run:
          return False
  
      for result in self._publication_results:
          if not result["success"]:
              return False
  
      return True
  
imports: from collections import defaultdict
  import textwrap
  from streamalert.shared import rule
  from streamalert.shared.logger import get_logger
  from streamalert_cli.test.event import TestEvent
  from streamalert_cli.test.format import format_green, format_red, format_underline
label_desc: Use image node_id 21 for calling the TestResult obj's underlying member method code with example usage: obj.publisher_tests_passed() and returns: True, False, False