code: def test_get_first_key():
      """Utils - Get First Key"""
      data = {
          "path": "ABC",
          "details": {
              "parent": {
                  "path": "DEF",
              }
          },
          "empty_dict": {},
          "empty_list": [],
          "events": [{"path": "GHI"}],
      }
      # 'path' is a top-level key and so should always be returned first
      assert_equal("ABC", utils.get_first_key(data, "path"))
  
      # dicts and lists can be returned as well
      assert_equal(
          data["details"], utils.get_first_key(data, "details")
      )
  
      # None is returned by default if no value is found
      assert_equal(None, utils.get_first_key(data, "no-key-found"))
  
      # Custom default value is returned if specified
      assert_equal({}, utils.get_first_key(data, "no-key-found", {}))
  
file_path: streamalert/tests/unit/streamalert/shared/test_utils.py
imports: import json
  from nose.tools import assert_equal, assert_false
  from streamalert.shared import utils
  from streamalert.shared.normalize import Normalizer
label_desc: Use image node_id 5 for calling a global function with example usage: test_get_first_key() without return types