[tor-commits] [nyx/master] Test _draw_exit_policy()

atagar at torproject.org atagar at torproject.org
Mon Apr 18 20:23:16 UTC 2016


commit 09c23a7433d4710c8c88962c7b4acc3f21dcc5d0
Author: Damian Johnson <atagar at torproject.org>
Date:   Sun Apr 10 13:00:53 2016 -0700

    Test _draw_exit_policy()
---
 nyx/panel/header.py  | 57 ++++++++++++++++++++++++++--------------------------
 test/panel/header.py |  6 ++++++
 2 files changed, 35 insertions(+), 28 deletions(-)

diff --git a/nyx/panel/header.py b/nyx/panel/header.py
index 00d4794..96b8383 100644
--- a/nyx/panel/header.py
+++ b/nyx/panel/header.py
@@ -195,7 +195,7 @@ class HeaderPanel(nyx.panel.Panel, threading.Thread):
       if vals.is_relay:
         _draw_fingerprint_and_fd_usage(subwindow, left_width, 1, right_width, vals)
         _draw_flags(subwindow, 0, 2, vals.flags)
-        self._draw_exit_policy(subwindow, left_width, 2, right_width, vals)
+        _draw_exit_policy(subwindow, left_width, 2, vals.exit_policy)
       elif vals.is_connected:
         self._draw_newnym_option(subwindow, left_width, 1, right_width, vals)
     else:
@@ -213,33 +213,6 @@ class HeaderPanel(nyx.panel.Panel, threading.Thread):
     else:
       subwindow.addstr(0, subwindow.height - 1, 'Paused', HIGHLIGHT)
 
-  def _draw_exit_policy(self, subwindow, x, y, width, vals):
-    """
-    Presents our exit policy...
-
-      exit policy: reject *:*
-    """
-
-    x = subwindow.addstr(x, y, 'exit policy: ')
-
-    if not vals.exit_policy:
-      return
-
-    rules = list(vals.exit_policy.strip_private().strip_default())
-
-    for i, rule in enumerate(rules):
-      policy_color = GREEN if rule.is_accept else RED
-      x = subwindow.addstr(x, y, str(rule), policy_color, BOLD)
-
-      if i < len(rules) - 1:
-        x = subwindow.addstr(x, y, ', ')
-
-    if vals.exit_policy.has_default():
-      if rules:
-        x = subwindow.addstr(x, y, ', ')
-
-      subwindow.addstr(x, y, '<default>', CYAN, BOLD)
-
   def _draw_newnym_option(self, subwindow, x, y, width, vals):
     """
     Provide a notice for requiesting a new identity, and time until it's next
@@ -563,3 +536,31 @@ def _draw_flags(subwindow, x, y, flags):
         x = subwindow.addstr(x, y, ', ')
   else:
     subwindow.addstr(x, y, 'none', CYAN, BOLD)
+
+
+def _draw_exit_policy(subwindow, x, y, exit_policy):
+  """
+  Presents our exit policy...
+
+    exit policy: reject *:*
+  """
+
+  x = subwindow.addstr(x, y, 'exit policy: ')
+
+  if not exit_policy:
+    return
+
+  rules = list(exit_policy.strip_private().strip_default())
+
+  for i, rule in enumerate(rules):
+    policy_color = GREEN if rule.is_accept else RED
+    x = subwindow.addstr(x, y, str(rule), policy_color, BOLD)
+
+    if i < len(rules) - 1:
+      x = subwindow.addstr(x, y, ', ')
+
+  if exit_policy.has_default():
+    if rules:
+      x = subwindow.addstr(x, y, ', ')
+
+    subwindow.addstr(x, y, '<default>', CYAN, BOLD)
diff --git a/test/panel/header.py b/test/panel/header.py
index 39982e0..9794644 100644
--- a/test/panel/header.py
+++ b/test/panel/header.py
@@ -6,6 +6,7 @@ import time
 import unittest
 
 import nyx.panel.header
+import stem.exit_policy
 import test
 
 from test import require_curses
@@ -162,3 +163,8 @@ class TestHeader(unittest.TestCase):
     self.assertEqual('flags: none', test.render(nyx.panel.header._draw_flags, 0, 0, []).content)
     self.assertEqual('flags: Guard', test.render(nyx.panel.header._draw_flags, 0, 0, ['Guard']).content)
     self.assertEqual('flags: Running, Exit', test.render(nyx.panel.header._draw_flags, 0, 0, ['Running', 'Exit']).content)
+
+  @require_curses
+  def test_draw_exit_policy(self):
+    self.assertEqual('exit policy: reject *:*', test.render(nyx.panel.header._draw_exit_policy, 0, 0, stem.exit_policy.ExitPolicy('reject *:*')).content)
+    self.assertEqual('exit policy: accept *:80, accept *:443, reject *:*', test.render(nyx.panel.header._draw_exit_policy, 0, 0, stem.exit_policy.ExitPolicy('accept *:80', 'accept *:443', 'reject *:*')).content)





More information about the tor-commits mailing list