浏览代码

[desktop and beeswax] Fix the beeswax redaction tests

Erick Tryzelaar 10 年之前
父节点
当前提交
b417522
共有 2 个文件被更改,包括 19 次插入11 次删除
  1. 15 10
      apps/beeswax/src/beeswax/tests.py
  2. 4 1
      desktop/core/src/desktop/redaction/tests.py

+ 15 - 10
apps/beeswax/src/beeswax/tests.py

@@ -41,6 +41,7 @@ from django.db import transaction
 
 from desktop import redaction
 from desktop.redaction import logfilter
+from desktop.redaction.engine import RedactionPolicy, RedactionRule
 from desktop.lib.django_test_util import make_logged_in_client, assert_equal_mod_whitespace
 from desktop.lib.test_utils import grant_access, add_to_group
 from desktop.lib.security_util import get_localhost_name
@@ -1527,10 +1528,12 @@ for x in sys.stdin:
   def test_redacting_queries(self):
     c = make_logged_in_client()
 
-    rule = r'ssn=::ssn=\d{3}-\d{2}-\d{4}::ssn=XXX-XX-XXXX'
-    old_rules = redaction.global_redaction_engine.rules
-    redaction.global_redaction_engine.rules = []
-    redaction.global_redaction_engine.add_rules_from_string(rule)
+    old_policies = redaction.global_redaction_engine.policies
+    redaction.global_redaction_engine.policies = [
+      RedactionPolicy([
+        RedactionRule('', 'ssn=\d{3}-\d{2}-\d{4}', 'ssn=XXX-XX-XXXX'),
+      ])
+    ]
 
     logfilter.add_log_redaction_filter_to_logger(redaction.global_redaction_engine, logging.root)
 
@@ -1557,7 +1560,7 @@ for x in sys.stdin:
       assert_equal(history.query, expected_query)
       assert_false(history.is_redacted)
     finally:
-      redaction.global_redaction_engine.rules = old_rules
+      redaction.global_redaction_engine.policies = old_policies
 
 
 def test_import_gzip_reader():
@@ -2165,10 +2168,12 @@ class TestWithMockedServer(object):
     assert_false(sql in resp.content, resp.content)
 
   def test_redact_saved_design(self):
-    rule = r'ssn=::ssn=\d{3}-\d{2}-\d{4}::ssn=XXX-XX-XXXX'
-    old_rules = redaction.global_redaction_engine.rules
-    redaction.global_redaction_engine.rules = []
-    redaction.global_redaction_engine.add_rules_from_string(rule)
+    old_policies = redaction.global_redaction_engine.policies
+    redaction.global_redaction_engine.policies = [
+      RedactionPolicy([
+        RedactionRule('', 'ssn=\d{3}-\d{2}-\d{4}', 'ssn=XXX-XX-XXXX'),
+      ])
+    ]
 
     logfilter.add_log_redaction_filter_to_logger(redaction.global_redaction_engine, logging.root)
 
@@ -2201,7 +2206,7 @@ class TestWithMockedServer(object):
       assert_equal(data['query']['query'], expected_query)
       assert_false(design.is_redacted)
     finally:
-      redaction.global_redaction_engine.rules = old_rules
+      redaction.global_redaction_engine.policies = old_policies
 
 
 class TestDesign():

+ 4 - 1
desktop/core/src/desktop/redaction/tests.py

@@ -20,6 +20,7 @@ import logging
 import tempfile
 
 from desktop.redaction.engine import RedactionEngine, \
+                                     RedactionPolicy, \
                                      RedactionRule, \
                                      parse_redaction_policy_from_file
 from desktop.redaction.logfilter import add_log_redaction_filter_to_logger
@@ -137,11 +138,13 @@ class TestRedactionLogFilter(object):
     cls.handler = MockLoggingHandler()
     cls.logger.addHandler(cls.handler)
 
-    engine = RedactionEngine([
+    policy = RedactionPolicy([
       RedactionRule('password=', 'password=".*"', 'password="???"'),
       RedactionRule('ssn=', 'ssn=\d{3}-\d{2}-\d{4}', 'ssn=XXX-XX-XXXX'),
     ])
 
+    engine = RedactionEngine([policy])
+
     add_log_redaction_filter_to_logger(engine, cls.logger)
 
   @classmethod