Environment: Fedora 23 with IPA build from master branch: efe8f26
Packages:
Failure:
test_xmlrpc/test_cert_plugin.py ..F >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> traceback >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> self = <ipatests.test_xmlrpc.test_cert_plugin.test_cert object at 0x7f2ee8bc4b90> def test_0003_service_show(self): """ Verify that service-show has the right certificate using service-show. """ global cert res = api.Command['service_show'](self.service_princ)['result'] > assert base64.b64encode(res['usercertificate'][0]) == cert E KeyError: 'usercertificate' /usr/lib/python2.7/site-packages/ipatests/test_xmlrpc/test_cert_plugin.py:162: KeyError >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> entering PDB >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > /usr/lib/python2.7/site-packages/ipatests/test_xmlrpc/test_cert_plugin.py(162)test_0003_service_show() -> assert base64.b64encode(res['usercertificate'][0]) == cert (Pdb) c F >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> traceback >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> self = <ipatests.test_xmlrpc.test_cert_plugin.test_cert object at 0x7f2ee8bcf690> def test_0004_service_find(self): """ Verify that service-find has the right certificate using service-find. """ global cert # Assume there is only one service res = api.Command['service_find'](self.service_princ)['result'] > assert base64.b64encode(res[0]['usercertificate'][0]) == cert E KeyError: 'usercertificate' /usr/lib/python2.7/site-packages/ipatests/test_xmlrpc/test_cert_plugin.py:172: KeyError >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> entering PDB >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > /usr/lib/python2.7/site-packages/ipatests/test_xmlrpc/test_cert_plugin.py(172)test_0004_service_find() -> assert base64.b64encode(res[0]['usercertificate'][0]) == cert .F >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> traceback >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> self = <ipatests.test_xmlrpc.test_cert_plugin.test_cert object at 0x7f2ee8b5d850> def test_0006_service_show(self): """ Verify the new certificate with service-show. """ global cert, newcert res = api.Command['service_show'](self.service_princ)['result'] # Both the old and the new certs should be listed as certificates now > certs_encoded = (base64.b64encode(cert) for cert in res['usercertificate']) E KeyError: 'usercertificate' /usr/lib/python2.7/site-packages/ipatests/test_xmlrpc/test_cert_plugin.py:195: KeyError >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> entering PDB >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > /usr/lib/python2.7/site-packages/ipatests/test_xmlrpc/test_cert_plugin.py(195)test_0006_service_show() -> certs_encoded = (base64.b64encode(cert) for cert in res['usercertificate']) (Pdb) c ......F >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> traceback >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> self = <ipatests.test_xmlrpc.test_cert_plugin.test_cert_find object at 0x7f2ee8b91bd0> def test_0006_find_this_short_host_exact(self): """ Find all certificates for this IPA server short name (exact) """ res = api.Command['cert_find'](subject=self.short, exactly=True) > assert 'count' in res and res['count'] == 0 E assert ('count' in {'count': 9, 'result': ({'serial_number': 3, 'serial_number_hex': '0x3', 'status': 'VALID', 'subject': 'CN=vm-058-076....dhat.com,O=DOM-058-076.ABC.IDM.LAB.ENG.BRQ.REDHAT.COM'}, ...), 'summary': '9 certificates matched', 'truncated': False} and 9 == 0) /usr/lib/python2.7/site-packages/ipatests/test_xmlrpc/test_cert_plugin.py:272: AssertionError >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> entering PDB >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > /usr/lib/python2.7/site-packages/ipatests/test_xmlrpc/test_cert_plugin.py(272)test_0006_find_this_short_host_exact() -> assert 'count' in res and res['count'] == 0 test_xmlrpc/test_certprofile_plugin.py F [84/1866] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> traceback >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> self = <ipatests.test_xmlrpc.test_certprofile_plugin.TestDefaultProfile object at 0x7f2ee8bcd0d0> default_profile = <ipatests.test_xmlrpc.test_certprofile_plugin.CertprofileTracker object at 0x7f2ee8bcdd10> def test_default_profile_present(self, default_profile): > default_profile.retrieve() /usr/lib/python2.7/site-packages/ipatests/test_xmlrpc/test_certprofile_plugin.py:227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python2.7/site-packages/ipatests/test_xmlrpc/ldaptracker.py:252: in retrieve self.check_retrieve(result, all=all, raw=raw) /usr/lib/python2.7/site-packages/ipatests/test_xmlrpc/test_certprofile_plugin.py:115: in check_retrieve ), result) /usr/lib/python2.7/site-packages/ipatests/util.py:361: in assert_deepequal assert_deepequal(e_sub, g_sub, doc, stack + (key,)) /usr/lib/python2.7/site-packages/ipatests/util.py:361: in assert_deepequal assert_deepequal(e_sub, g_sub, doc, stack + (key,)) /usr/lib/python2.7/site-packages/ipatests/util.py:349: in assert_deepequal assert_deepequal(e_sub, g_sub, doc, stack + (i,)) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ expected = 'TRUE', got = 'FALSE', doc = '', stack = ('result', 'ipacertprofilestoreissued', 0) def assert_deepequal(expected, got, doc='', stack=tuple()): """ Recursively check for type and equality. If a value in expected is callable then it will used as a callback to test for equality on the got value. The callback is passed the got value and returns True if equal, False otherwise. If the tests fails, it will raise an ``AssertionError`` with detailed information, including the path to the offending value. For example: >>> expected = [u'Hello', dict(world=u'how are you?')] >>> got = [u'Hello', dict(world='how are you?')] >>> expected == got True >>> assert_deepequal(expected, got, doc='Testing my nested data') Traceback (most recent call last): ... [42/1866] AssertionError: assert_deepequal: type(expected) is not type(got). Testing my nested data type(expected) = <type 'unicode'> type(got) = <type 'str'> expected = u'how are you?' got = 'how are you?' path = (0, 'world') Note that lists and tuples are considered equivalent, and the order of their elements does not matter. """ if isinstance(expected, tuple): expected = list(expected) if isinstance(got, tuple): got = list(got) if isinstance(expected, DN): if isinstance(got, six.string_types): got = DN(got) if not (isinstance(expected, Fuzzy) or callable(expected) or type(expected) is type(got)): raise AssertionError( TYPE % (doc, type(expected), type(got), expected, got, stack) ) if isinstance(expected, (list, tuple)): if len(expected) != len(got): raise AssertionError( LEN % (doc, len(expected), len(got), expected, got, stack) ) # Sort list elements, unless they are dictionaries if expected and isinstance(expected[0], dict): s_got = got s_expected = expected else: try: s_got = sorted(got) except TypeError: s_got = got try: s_expected = sorted(expected) except TypeError: s_expected = expected for (i, e_sub) in enumerate(s_expected): g_sub = s_got[i] assert_deepequal(e_sub, g_sub, doc, stack + (i,)) elif isinstance(expected, dict): missing = set(expected).difference(got) extra = set(got).difference(expected) if missing or extra: raise AssertionError(KEYS % ( doc, sorted(missing), sorted(extra), expected, got, stack ) ) for key in sorted(expected): e_sub = expected[key] g_sub = got[key] assert_deepequal(e_sub, g_sub, doc, stack + (key,)) elif callable(expected): if not expected(got): raise AssertionError( VALUE % (doc, expected, got, stack) ) elif expected != got: raise AssertionError( > VALUE % (doc, expected, got, stack) ) E AssertionError: assert_deepequal: expected != got. E E expected = u'TRUE' E got = u'FALSE' E path = ('result', 'ipacertprofilestoreissued', 0) /usr/lib/python2.7/site-packages/ipatests/util.py:369: AssertionError >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> entering PDB >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > /usr/lib/python2.7/site-packages/ipatests/util.py(369)assert_deepequal() -> VALUE % (doc, expected, got, stack)
I cannot reproduce it on F23
[root@vm-091 ~]# ipa-run-tests test_xmlrpc/test_cert_plugin.py =============================================================================================== test session starts =============================================================================================== platform linux2 -- Python 2.7.10 -- py-1.4.30 -- pytest-2.7.3 rootdir: /usr/lib/python2.7/site-packages/ipatests, inifile: pytest.ini plugins: sourceorder, multihost collected 38 items test_xmlrpc/test_cert_plugin.py ...................................... =========================================================================================== 38 passed in 15.25 seconds ============================================================================================ [root@vm-091 ~]# ipa-run-tests test_xmlrpc/test_certprofile_plugin.py =============================================================================================== test session starts =============================================================================================== platform linux2 -- Python 2.7.10 -- py-1.4.30 -- pytest-2.7.3 rootdir: /usr/lib/python2.7/site-packages/ipatests, inifile: pytest.ini plugins: sourceorder, multihost collected 18 items test_xmlrpc/test_certprofile_plugin.py .................. =========================================================================================== 18 passed in 16.05 seconds ============================================================================================
closing according to Martin's assessment
Metadata Update from @pspacek: - Issue assigned to someone - Issue set to the milestone: 0.0 NEEDS_TRIAGE
Login to comment on this ticket.