Incoming API test fails with "TypeError: Incorrect padding"
From: https://0xacab.org/drebs/soledad/-/jobs/23154
=================================== FAILURES ===================================
IncomingOnCouchServerTestCase.test_put_incoming_creates_a_blob_using_filesystem
result = 1
g = <generator object test_put_incoming_creates_a_blob_using_filesystem at 0x7efdcdc2fd70>
deferred = <Deferred at 0x7efdce991368 current result: None>
def _inlineCallbacks(result, g, deferred):
"""
See L{inlineCallbacks}.
"""
# This function is complicated by the need to prevent unbounded recursion
# arising from repeatedly yielding immediately ready deferreds. This while
# loop and the waiting variable solve that by manually unfolding the
# recursion.
waiting = [True, # waiting for result?
None] # result
while 1:
try:
# Send the last result back as the result of the yield expression.
isFailure = isinstance(result, failure.Failure)
if isFailure:
result = result.throwExceptionIntoGenerator(g)
else:
> result = g.send(result)
.tox/py27/local/lib/python2.7/site-packages/twisted/internet/defer.py:1386:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/server/test_incoming_server.py:92: in test_put_incoming_creates_a_blob_using_filesystem
expected_preamble = decode_preamble(expected_preamble, True)
src/leap/soledad/common/blobs/preamble.py:87: in decode_preamble
encoded_preamble = base64.b64decode(encoded_preamble)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
s = 'EzcCAwAAAAAym-RZAAAAAAAAAAAAAAAAAAAAAAAAAAAgOTkyZDNiNzdjNzIwNDY0Nzg3MjE3YWZmYWEwOTBlMGMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAA'
altchars = None
def b64decode(s, altchars=None):
"""Decode a Base64 encoded string.
s is the string to decode. Optional altchars must be a string of at least
length 2 (additional characters are ignored) which specifies the
alternative alphabet used instead of the '+' and '/' characters.
The decoded string is returned. A TypeError is raised if s were
incorrectly padded or if there are non-alphabet characters present in the
string.
"""
if altchars is not None:
s = _translate(s, {altchars[0]: '+', altchars[1]: '/'})
try:
return binascii.a2b_base64(s)
except binascii.Error, msg:
# Transform this exception for consistency
> raise TypeError(msg)
E TypeError: Incorrect padding
/usr/lib/python2.7/base64.py:76: TypeError
!!!!!!!!!!!!!!!!!!!! Interrupted: stopping after 1 failures !!!!!!!!!!!!!!!!!!!!