class_docstr: Tests for ThreatIntel
class_docstr_tok: ["Tests","for","ThreatIntel"]
docstr: ThreatIntel - Remove Unprocessed Keys
docstr_tok: ["ThreatIntel","-","Remove","Unprocessed","Keys"]
code: def test_remove_processed_keys(self):
      """ThreatIntel - Remove Unprocessed Keys"""
      query_values = {
          "1.1.1.1",
          "2.2.2.2",
          "09bb8985ca0a702907dbcfad511d138e",
          "02907dbcfad38e511d109bb8985ca0a7",
      }
  
      unprocesed_keys = [
          {"ioc_value": {"S": "2.2.2.2"}, "sub_type": {"S": "mal_ip"}},
          {
              "ioc_value": {"S": "09bb8985ca0a702907dbcfad511d138e"},
              "sub_type": {"S": "mal_md5"},
          },
      ]
  
      expected_result = {"2.2.2.2", "09bb8985ca0a702907dbcfad511d138e"}
  
      ThreatIntel._remove_processed_keys(query_values, unprocesed_keys)
      assert_equal(query_values, expected_result)
  
imports: from botocore.exceptions import ClientError, ParamValidationError
  from mock import Mock, patch
  from netaddr import IPNetwork
  from nose.tools import assert_equal
  from streamalert.rules_engine.threat_intel import ThreatIntel
label_desc: Use image node_id 16 for calling the TestThreatIntel obj's underlying member method code with example usage: obj.test_remove_processed_keys() without return types