class_docstr: Normalizer tests
class_docstr_tok: ["Normalizer","tests"]
docstr: Normalizer - Normalize
docstr_tok: ["Normalizer","-","Normalize"]
code: def test_normalize(self):
      """Normalizer - Normalize"""
      log_type = "cloudtrail"
      Normalizer._types_config = {
          log_type: {
              "region": self._normalized_type_region(),
              "ipv4": self._normalized_type_ip(),
          }
      }
      record = self._test_record()
      Normalizer.normalize(record, log_type)
  
      expected_record = {
          "account": 123456,
          "region": "region_name",
          "detail": {
              "awsRegion": "region_name",
              "source": "1.1.1.2",
              "userIdentity": {
                  "userName": "Alice",
                  "invokedBy": "signin.amazonaws.com",
              },
          },
          "sourceIPAddress": "1.1.1.3",
          "streamalert_normalization": {
              "streamalert_record_id": MOCK_RECORD_ID,
              "region": [
                  {"values": ["region_name"], "function": "AWS region"},
                  {"values": ["region_name"], "function": "AWS region"},
              ],
              "ipv4": [
                  {
                      "values": ["1.1.1.3"],
                      "function": "source ip address",
                  },
                  {
                      "values": ["1.1.1.2"],
                      "function": "source ip address",
                  },
              ],
          },
      }
  
      assert_equal(record, expected_record)
  
imports: from mock import Mock, patch
  from nose.tools import assert_equal, assert_false, assert_raises, assert_true
  from streamalert.shared.exceptions import ConfigError
  from streamalert.shared.normalize import Normalizer, NormalizedType
  from tests.unit.streamalert.shared.test_utils import MOCK_RECORD_ID
label_desc: Use image node_id 9 for calling the TestNormalizer obj's underlying member method code with example usage: obj.test_normalize() without return types