From 7d41cadc99532906253a98d8ef8867889af21380 Mon Sep 17 00:00:00 2001 From: James Kasten Date: Mon, 16 Mar 2015 22:58:33 -0700 Subject: [PATCH 1/3] make _path_satisfied conform to API --- letsencrypt/client/auth_handler.py | 4 +++- letsencrypt/client/tests/auth_handler_test.py | 7 +++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/letsencrypt/client/auth_handler.py b/letsencrypt/client/auth_handler.py index 4e3b5f68f..980a7d7cd 100644 --- a/letsencrypt/client/auth_handler.py +++ b/letsencrypt/client/auth_handler.py @@ -203,7 +203,9 @@ class AuthHandler(object): # pylint: disable=too-many-instance-attributes def _path_satisfied(self, dom): """Returns whether a path has been completely satisfied.""" - return all(self.responses[dom][i] is not None for i in self.paths[dom]) + return all( + self.responses[dom][i] is not None and + self.responses[dom][i] is not False for i in self.paths[dom]) def _get_chall_pref(self, domain): """Return list of challenge preferences. diff --git a/letsencrypt/client/tests/auth_handler_test.py b/letsencrypt/client/tests/auth_handler_test.py index 91874dc0c..734f4cc65 100644 --- a/letsencrypt/client/tests/auth_handler_test.py +++ b/letsencrypt/client/tests/auth_handler_test.py @@ -481,7 +481,7 @@ class PathSatisfiedTest(unittest.TestCase): self.handler.responses[dom[0]] = [None, "sat", "sat2", None] self.handler.paths[dom[1]] = [0] - self.handler.responses[dom[1]] = ["sat", None, None, None] + self.handler.responses[dom[1]] = ["sat", None, None, False] self.handler.paths[dom[2]] = [0] self.handler.responses[dom[2]] = ["sat"] @@ -496,7 +496,7 @@ class PathSatisfiedTest(unittest.TestCase): self.assertTrue(self.handler._path_satisfied(dom[i])) def test_not_satisfied(self): - dom = ["0", "1", "2"] + dom = ["0", "1", "2", "3"] self.handler.paths[dom[0]] = [1, 2] self.handler.responses[dom[0]] = ["sat1", None, "sat2", None] @@ -506,6 +506,9 @@ class PathSatisfiedTest(unittest.TestCase): self.handler.paths[dom[2]] = [0] self.handler.responses[dom[2]] = [None] + self.handler.paths[dom[2]] = [0] + self.handler.responses[dom[2]] = [False] + for i in xrange(3): self.assertFalse(self.handler._path_satisfied(dom[i])) From b47cc8eb8f27b3f5f56b15afdcf425f195ac94c7 Mon Sep 17 00:00:00 2001 From: James Kasten Date: Mon, 16 Mar 2015 23:00:31 -0700 Subject: [PATCH 2/3] fix _path_satisfied test --- letsencrypt/client/tests/auth_handler_test.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/letsencrypt/client/tests/auth_handler_test.py b/letsencrypt/client/tests/auth_handler_test.py index 734f4cc65..e0169ab15 100644 --- a/letsencrypt/client/tests/auth_handler_test.py +++ b/letsencrypt/client/tests/auth_handler_test.py @@ -506,8 +506,8 @@ class PathSatisfiedTest(unittest.TestCase): self.handler.paths[dom[2]] = [0] self.handler.responses[dom[2]] = [None] - self.handler.paths[dom[2]] = [0] - self.handler.responses[dom[2]] = [False] + self.handler.paths[dom[3]] = [0] + self.handler.responses[dom[3]] = [False] for i in xrange(3): self.assertFalse(self.handler._path_satisfied(dom[i])) From 8e3a496b8b3f7be3e934d7b0ce1d87971862ab24 Mon Sep 17 00:00:00 2001 From: James Kasten Date: Tue, 24 Mar 2015 16:21:09 -0700 Subject: [PATCH 3/3] simplify path_satisfied test --- letsencrypt/client/auth_handler.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/letsencrypt/client/auth_handler.py b/letsencrypt/client/auth_handler.py index 41c7a9f68..05f3722cf 100644 --- a/letsencrypt/client/auth_handler.py +++ b/letsencrypt/client/auth_handler.py @@ -203,9 +203,8 @@ class AuthHandler(object): # pylint: disable=too-many-instance-attributes def _path_satisfied(self, dom): """Returns whether a path has been completely satisfied.""" - return all( - self.responses[dom][i] is not None and - self.responses[dom][i] is not False for i in self.paths[dom]) + # Make sure that there are no 'None' or 'False' entries along path. + return all(self.responses[dom][i] for i in self.paths[dom]) def _get_chall_pref(self, domain): """Return list of challenge preferences.