#9190 ipatests.test_ipaserver.test_secure_ajp_connector failing with python 3.6.8 with: TypeError: a bytes-like object is required, not 'str'
Closed: fixed by frenaud. Opened by rcritten.

Issue

Tests data0, data2, data4 and data6 are all failing with similar output. The reason is these tests expect an update to be written it's in re-reading server.xml that the error is thrown.

self =
mock_parse =
mock_chown =
mock_getpwnam =
test_data = (True, '\n\n\n \n \n\n', ('secret',), ('testing_ajp_secret',), ('requiredSecret',), True)

@patch("ipaplatform.base.constants.pwd.getpwnam")
@patch("ipaplatform.base.constants.os.chown")
@patch("ipaserver.install.dogtaginstance.lxml.etree.parse")
@pytest.mark.parametrize("test_data", test_data)
def test_connecter(self, mock_parse, mock_chown, mock_getpwnam, test_data):
is_newer, data, secret, expect, ex_secret, rewrite = test_data
mock_chown.return_value = None
mock_parse.return_value = mock_etree_parse(data)
mock_getpwnam.return_value = mock_pkiuser_entity()

dogtag = MyDogtagInstance(is_newer)
with patch('ipaserver.install.dogtaginstance.open', mock_open()) \
as mocked_file:
dogtag.secure_ajp_connector()
if rewrite:
newdata = mocked_file().write.call_args.args

f = BytesIO(newdata[0])
E TypeError: a bytes-like object is required, not 'str'

data = '\n\n\n \n ...JP/1.3" redirectPort="443"\n address="localhost" requiredSecret="testing_ajp_secret" />\n \n\n'
dogtag =
ex_secret = ('requiredSecret',)
expect = ('testing_ajp_secret',)
is_newer = True
mock_chown =
mock_getpwnam =
mock_parse =
mocked_file =
newdata = args
rewrite = True
secret = ('secret',)
self =
test_data = (True, '\n\n\n \n \n\n', ('secret',), ('testing_ajp_secret',), ('requiredSecret',), True)

test_ipaserver/test_secure_ajp_connector.py:218: TypeError

Steps to Reproduce

  1. PYTHONPATH=. ipatests/ipa-run-tests -sv test_ipaserver/test_secure_ajp_connector.py

PR https://github.com/freeipa/freeipa/pull/6336

master:

  • 9a97f9b40c98acadc496737b291c8c7837645d28 Fix test_secure_ajp_connector.py failing with Python 3.6.8

ipa-4-9:

  • de64d6724e028a1882c3a8be31c2752bebdd41fd Fix test_secure_ajp_connector.py failing with Python 3.6.8

Metadata Update from @frenaud:
- Issue close_status updated to: fixed
- Issue status updated to: Closed (was: Open)

Metadata