On 07/20/2016 05:31 PM, Peter Lacko wrote:
Sorry for late reply, I was waiting how the discussion with tracker improvement 
will end, but since there's no progress and I'm leaving soon, I'm attaching new 
patch. I also created mapping between old and new tests [1], to make life of 
reviewer easier. Number in first column denotes line number in original file, 
followed by line number in new tests file and its name. Tests that are not 
mentioned in there extend previous coverage.


[1] http://etherpad.corp.redhat.com/Vk3tRLaPSK


review notes:

1) code related:

 * leftover PEP8 error:
   ./ipatests/test_xmlrpc/test_role_plugin.py:696:1: W391 blank line at
   end of file
 * in PrivilegeTracker:
     o creating privilege with description does not work properly,
       since there's a hardcoded value in track_create method
     o the check_retrieve method expects 'description' to be returned
       only when privilege is member of a role, but to the extent of my
       knowledge that value is returned always
 * in RoleTracker:
     o global variable 'member_types' is used only inside the class, so
       it should be a class variable rather than global
     o 'check_add_duplicate_member' method uses oneliner to create
       basis of expected value - suggest to use this more in other
       methods that do it 'literally' (e.g. check_add_member)
     o 'update_tracker' method - the main else statement should be
       investigated more, I'm not sure the try-except part is valid (if
       I expect the tracker to delete an attribute, but that attribute
       is not present, it's a pass? Doesn't sound right.)
     o 'update' method is needlessly simple - look at the same method
       in BaseTracker, which contains more method calls. Result of the
       simplicity is that in actual role tests, these other methods
       like 'check_update' etc. are called outside the 'update' method,
       when they can just as well be part of the method and save
       repeating same code over and over. This goes for 'retrieve' and
       'find' methods as well.
 * in role tests (ipatests/test_xmlrpc/test_role_plugin.py):
     o in class TestDeleredRole, there's unused method setUpClass

2) other:

 * I strongly suggest to go through all documentation comments, since
   some of them are vague, or even straight misleading (e.g. in
   RoleTracker, method 'find_tracker_roles': comment says, that it
   performs find command, but nothing like that happens!)
 * similarly as in previous note, please go through all parameter
   descriptions in the documentation - e.g. in RoleTracker, method
   'update_tracker': ":param expected_updates: Dictionary of other
   attributes" - such description is quite unsatisfactory)
 * when doing previous two, there are some typos that could be eliminated
 * some test cases in ipatests/test_xmlrpc/test_role_plugin.py seem
   incorrectly classified, e.g. method 'test_create_invalid' verifying
   attempt to create role with invalid name in TestNonexistentRole
   class that performes operations like role-show, role-delete on
   nonexistent entries
 * for future patches, it might be nice to have separate patches for
   each tracker and the tests

Also, since the author Peter Lacko left the company, fixing this patch will be a task for Ganna.


----- Original Message -----
From: "Martin Basti" <mba...@redhat.com>
To: "Peter Lacko" <pla...@redhat.com>
Cc: freeipa-devel@redhat.com
Sent: Monday, June 6, 2016 12:29:29 PM
Subject: Re: [Freeipa-devel] [PATCH] 0002 New User Role Tests

On 02.06.2016 16:16, Peter Lacko wrote:
Rebased with updated tests.


----- Original Message -----
From: "Martin Basti" <mba...@redhat.com>
To: "Peter Lacko" <pla...@redhat.com>
Cc: freeipa-devel@redhat.com
Sent: Thursday, June 2, 2016 1:50:06 PM
Subject: Re: [Freeipa-devel] [PATCH] 0002 New User Role Tests

Your patch doesn't apply anymore on master, there were changes in role
test and patch have to be updated and rebased

Please look at this for new changes in test_role_plugin.py


On 02.06.2016 11:49, Peter Lacko wrote:
Sorry for late response, I wasn't working these days.
Fixed patch is in attachment.


----- Original Message -----
From: "Martin Basti" <mba...@redhat.com>
To: "Peter Lacko" <pla...@redhat.com>, freeipa-devel@redhat.com
Sent: Monday, May 9, 2016 1:06:08 PM
Subject: Re: [Freeipa-devel] [PATCH] 0002 New User Role Tests

On 09.05.2016 13:04, Martin Basti wrote:
On 09.05.2016 12:19, Peter Lacko wrote:
+# pylint: disable=unicode-builtin
I'm not doing complete review, just the line above hit my eyes.

unicode() is not in Py3 because all strings there are unicode, thus
you cannot use it directly, you need something like

if six.PY2:
       str = unicode

and use str() everywhere and remove that #pylint line

FYI all enabled pylint checks are there for a good reason, be careful
with disabling it (mainly disabling it for a whole module) rather ask
before if you are not sure.


Nope, sorry, I temporarily forgot how to python

instead of pylint disable use this

if six.PY3:
        unicode =str

and keep unicode there. Sorry


I don't have time to continue with full review, maybe somebody else can
continue instead of me, but anyway NACK, because using str(unicode()) or
unicode(str()) is bad in both ways, it should be just unicode() in case
of strings (with correct mapping unicode=str in Py3). I just  I noticed
this by reading code, but I didn't do deeper review, so there might be
more mistakes.


Manage your subscription for the Freeipa-devel mailing list:
Contribute to FreeIPA: http://www.freeipa.org/page/Contribute/Code

Reply via email to