class_docstr: Tests for RulesEngine
class_docstr_tok: ["Tests","for","RulesEngine"]
docstr: RulesEngine - Load Rule Table, Refresh
docstr_tok: ["RulesEngine","-","Load","Rule","Table",",","Refresh"]
code: def test_load_rule_table_refresh(self, log_mock):
      """RulesEngine - Load Rule Table, Refresh"""
      config = mock_conf()
      config["global"]["infrastructure"]["rule_staging"][
          "cache_refresh_minutes"
      ] = 5
  
      fake_date_now = datetime.utcnow()
  
      RulesEngine._RULE_TABLE_LAST_REFRESH = fake_date_now - timedelta(
          minutes=6
      )
      RulesEngine._rule_table = "table"
      with patch(
          "streamalert.rules_engine.rules_engine.datetime"
      ) as date_mock, patch.object(
          rules_engine_module, "RuleTable"
      ) as rule_table_mock:
          rule_table_mock.return_value = "new_table"
          date_mock.utcnow.return_value = fake_date_now
          self._rules_engine._load_rule_table(config)
          assert_equal(
              self._rules_engine._rule_table == "new_table", True
          )
          assert_equal(
              self._rules_engine._RULE_TABLE_LAST_REFRESH, fake_date_now
          )
          log_mock.assert_called()
  
imports: from datetime import datetime, timedelta
  from mock import Mock, patch, PropertyMock
  from nose.tools import assert_equal, assert_false, assert_true
  from publishers.community.generic import remove_internal_fields
  from streamalert.shared.publisher import AlertPublisher, Register, DefaultPublisher
  import streamalert.rules_engine.rules_engine
  from streamalert.rules_engine.rules_engine import RulesEngine
label_desc: Use image node_id 5 for calling the TestRulesEngine obj's underlying member method code with example usage: obj.test_load_rule_table_refresh(log_mock) without return types