class_docstr: Test class for GithubOutput
class_docstr_tok: ["Test","class","for","GithubOutput"]
docstr: GithubOutput - Dispatch Failure, Bad Request
docstr_tok: ["GithubOutput","-","Dispatch","Failure",",","Bad","Request"]
code: def test_dispatch_failure(self, url_mock, log_mock):
      """GithubOutput - Dispatch Failure, Bad Request"""
      json_error = {"message": "error message", "errors": ["error1"]}
      url_mock.return_value.json.return_value = json_error
      url_mock.return_value.status_code = 400
  
      assert_false(self._dispatcher.dispatch(get_alert(), self.OUTPUT))
  
      log_mock.assert_called_with(
          "Failed to send alert to %s:%s", self.SERVICE, self.DESCRIPTOR
      )
  
file_path: streamalert/tests/unit/streamalert/alert_processor/outputs/test_github.py
imports: import base64
  from mock import patch, Mock, MagicMock
  from nose.tools import assert_false, assert_true, assert_equal, assert_is_not_none
  from streamalert.alert_processor.outputs.github import GithubOutput
  from tests.unit.streamalert.alert_processor.helpers import get_alert
label_desc: Use image node_id 4 for calling the TestGithubOutput obj's underlying member method code with example usage: obj.test_dispatch_failure(url_mock, log_mock) without return types