diff --git a/letsencrypt/client/acme.py b/letsencrypt/client/acme.py index f51fae296..58dd0bc9b 100644 --- a/letsencrypt/client/acme.py +++ b/letsencrypt/client/acme.py @@ -63,21 +63,20 @@ def pretty(json_string): return json.dumps(json.loads(json_string), indent=4) -def challenge_request(names): +def challenge_request(name): """Create ACME "challengeRequest message. - TODO: Temporarily only enabling one name - - :param names: TODO - :type names: list + :param name: Domain name + :type name: unicode :returns: ACME "challengeRequest" message. :rtype: dict """ + return { "type": "challengeRequest", - "identifier": names[0], + "identifier": name, } diff --git a/letsencrypt/client/acme_test.py b/letsencrypt/client/acme_test.py index 9c4dc6e1e..f51a40d08 100644 --- a/letsencrypt/client/acme_test.py +++ b/letsencrypt/client/acme_test.py @@ -53,6 +53,19 @@ class PrettyTest(unittest.TestCase): self._call('{"foo": {"bar": "baz"}}'), '{\n "foo": {\n "bar": "baz"\n }\n}') +class ChallengeRequestTest(unittest.TestCase): + """Tests for letsencrypt.client.acme.challenge_request_test""" + + def test_supports_unicode(self): + """Test support unicode parameter""" + from letsencrypt.client.acme import challenge_request + self.assertEqual( + challenge_request(u'unicode'), + { + "type": "challengeRequest", + "identifier": u'unicode', + } + ) if __name__ == '__main__': unittest.main() diff --git a/letsencrypt/client/client.py b/letsencrypt/client/client.py index a23e7ee1b..2adc7f1ce 100644 --- a/letsencrypt/client/client.py +++ b/letsencrypt/client/client.py @@ -157,13 +157,12 @@ class Client(object): def acme_challenge(self): """Handle ACME "challenge" phase. - + TODO: Handle more than one domain name in self.names :returns: ACME "challenge" message. :rtype: dict - """ return self.send_and_receive_expected( - acme.challenge_request(self.names), "challenge") + acme.challenge_request(self.names[0]), "challenge") def acme_authorization(self, challenge_msg, chal_objs, responses): """Handle ACME "authorization" phase.