Merge ~cjwatson/launchpad:py3-unique-hex-string-text into launchpad:master

Proposed by Colin Watson
Status: Merged
Approved by: Colin Watson
Approved revision: a3b3f00bfa326bb708f6d0e701215f773e10fc17
Merge reported by: Otto Co-Pilot
Merged at revision: not available
Proposed branch: ~cjwatson/launchpad:py3-unique-hex-string-text
Merge into: launchpad:master
Diff against target: 66 lines (+10/-8)
2 files modified
lib/lp/services/signing/tests/helpers.py (+8/-6)
lib/lp/testing/factory.py (+2/-2)
Reviewer Review Type Date Requested Status
Ioana Lasc (community) Approve
Review via email: mp+386712@code.launchpad.net

Commit message

Make getUniqueHexString return Unicode

Description of the change

This is a better default, although some call sites do require bytes so now need to encode the return value.

To post a comment you must log in.
Revision history for this message
Ioana Lasc (ilasc) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/lib/lp/services/signing/tests/helpers.py b/lib/lp/services/signing/tests/helpers.py
index 5675bc6..447f62c 100644
--- a/lib/lp/services/signing/tests/helpers.py
+++ b/lib/lp/services/signing/tests/helpers.py
@@ -12,7 +12,6 @@ __all__ = [
1212
13import fixtures13import fixtures
14from nacl.public import PrivateKey14from nacl.public import PrivateKey
15from six import text_type
1615
17from lp.services.compat import mock16from lp.services.compat import mock
18from lp.services.signing.interfaces.signingserviceclient import (17from lp.services.signing.interfaces.signingserviceclient import (
@@ -49,23 +48,26 @@ class SigningServiceClientFixture(fixtures.Fixture):
49 def _generate(self, key_type, description):48 def _generate(self, key_type, description):
50 key = bytes(PrivateKey.generate().public_key)49 key = bytes(PrivateKey.generate().public_key)
51 data = {50 data = {
52 "fingerprint": text_type(self.factory.getUniqueHexString(40)),51 "fingerprint": self.factory.getUniqueHexString(40),
53 "public-key": key}52 "public-key": key,
53 }
54 self.generate_returns.append((key_type, data))54 self.generate_returns.append((key_type, data))
55 return data55 return data
5656
57 def _sign(self, key_type, fingerprint, message_name, message, mode):57 def _sign(self, key_type, fingerprint, message_name, message, mode):
58 key = bytes(PrivateKey.generate().public_key)58 key = bytes(PrivateKey.generate().public_key)
59 signed_msg = "signed with key_type={}".format(key_type.name)59 signed_msg = (
60 "signed with key_type={}".format(key_type.name).encode("UTF-8"))
60 data = {61 data = {
61 'public-key': key,62 'public-key': key,
62 'signed-message': signed_msg}63 'signed-message': signed_msg,
64 }
63 self.sign_returns.append((key_type, data))65 self.sign_returns.append((key_type, data))
64 return data66 return data
6567
66 def _inject(self, key_type, private_key, public_key, description,68 def _inject(self, key_type, private_key, public_key, description,
67 created_at):69 created_at):
68 data = {'fingerprint': text_type(self.factory.getUniqueHexString(40))}70 data = {'fingerprint': self.factory.getUniqueHexString(40)}
69 self.inject_returns.append(data)71 self.inject_returns.append(data)
70 return data72 return data
7173
diff --git a/lib/lp/testing/factory.py b/lib/lp/testing/factory.py
index 03487e1..87ca1bc 100644
--- a/lib/lp/testing/factory.py
+++ b/lib/lp/testing/factory.py
@@ -455,7 +455,7 @@ class ObjectFactory(
455 don't care.455 don't care.
456 :return: A hexadecimal string, with 'a'-'f' in lower case.456 :return: A hexadecimal string, with 'a'-'f' in lower case.
457 """457 """
458 hex_number = '%x' % self.getUniqueInteger()458 hex_number = u'%x' % self.getUniqueInteger()
459 if digits is not None:459 if digits is not None:
460 hex_number = hex_number.zfill(digits)460 hex_number = hex_number.zfill(digits)
461 return hex_number461 return hex_number
@@ -4205,7 +4205,7 @@ class BareLaunchpadObjectFactory(ObjectFactory):
4205 if fingerprint is None:4205 if fingerprint is None:
4206 fingerprint = self.getUniqueUnicode('fingerprint')4206 fingerprint = self.getUniqueUnicode('fingerprint')
4207 if public_key is None:4207 if public_key is None:
4208 public_key = self.getUniqueHexString(64)4208 public_key = self.getUniqueHexString(64).encode('ASCII')
4209 store = IMasterStore(SigningKey)4209 store = IMasterStore(SigningKey)
4210 signing_key = SigningKey(4210 signing_key = SigningKey(
4211 key_type=key_type, fingerprint=fingerprint, public_key=public_key,4211 key_type=key_type, fingerprint=fingerprint, public_key=public_key,

Subscribers

People subscribed via source and target branches

to status/vote changes: