class_docstr: Test class for Metrics class
class_docstr_tok: ["Test","class","for","Metrics","class"]
docstr: Metrics - Invalid Metric Name
docstr_tok: ["Metrics","-","Invalid","Metric","Name"]
code: def test_invalid_metric_name(self, log_mock):
      """Metrics - Invalid Metric Name"""
      shared.metrics.MetricLogger.log_metric(
          "classifier", "FailedParsed", ""
      )
  
      assert_equal(
          log_mock.call_args[0][0],
          "Metric name ('%s') not defined for "
          "'%s' function. Options are: %s",
      )
      assert_equal(log_mock.call_args[0][1], "FailedParsed")
      assert_equal(log_mock.call_args[0][2], "classifier")
  
file_path: streamalert/tests/unit/streamalert/shared/test_metrics.py
imports: import os
  import importlib
  from mock import patch, ANY
  from nose.tools import assert_equal
  from streamalert import shared
label_desc: Use image node_id 2 for calling the TestMetrics obj's underlying member method code with example usage: obj.test_invalid_metric_name(log_mock) without return types