class_docstr: Test shared Alert class.
docstr: Alert Class - Output Dict
docstr_tok: ["Alert","Class","-","Output","Dict"]
code: def test_output_dict(self):
      """Alert Class - Output Dict"""
      alert = self._basic_alert()
      result = alert.output_dict()
      # Ensure result is JSON-serializable (no sets)
      assert_is_instance(json.dumps(result), str)
      # Ensure result is Athena compatible (no None values)
      assert_not_in(None, list(result.values()))
  
imports: import copy
  from datetime import datetime, timedelta
  import json
  from nose.tools import assert_equal, assert_false, assert_is_instance, assert_not_in, assert_raises, assert_true
  from streamalert.shared.alert import Alert, AlertCreationError
label_desc: Use image node_id 14 for calling the TestAlert obj's underlying member method code with example usage: obj.test_output_dict() without return types