[Freeipa-devel] [PATCH] 0002 New User Role Tests
Lenka Doudova
ldoudova at redhat.com
Mon Aug 8 06:18:21 UTC 2016
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.
>
> Regards,
> Peter
>
> [1] http://etherpad.corp.redhat.com/Vk3tRLaPSK
Hi,
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.
Lenka
>
>
> ----- Original Message -----
> From: "Martin Basti" <mbasti at redhat.com>
> To: "Peter Lacko" <placko at redhat.com>
> Cc: freeipa-devel at 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.
>>
>> Peter
>>
>> ----- Original Message -----
>> From: "Martin Basti" <mbasti at redhat.com>
>> To: "Peter Lacko" <placko at redhat.com>
>> Cc: freeipa-devel at 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
>> https://git.fedorahosted.org/cgit/freeipa.git/commit/?id=5f42b42bd4557a669ab5cfcf1af6596f1a2535f1
>>
>> Martin^2
>>
>>
>> On 02.06.2016 11:49, Peter Lacko wrote:
>>> Sorry for late response, I wasn't working these days.
>>> Fixed patch is in attachment.
>>>
>>> Peter
>>>
>>>
>>> ----- Original Message -----
>>> From: "Martin Basti" <mbasti at redhat.com>
>>> To: "Peter Lacko" <placko at redhat.com>, freeipa-devel at 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.
>>>>
>>>> Martin^2
>>>>
>>> Nope, sorry, I temporarily forgot how to python
>>>
>>> instead of pylint disable use this
>>>
>>> if six.PY3:
>>> unicode =str
>>>
>>> and keep unicode there. Sorry
>>>
>>> Martin^2
> Hi,
>
> 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.
>
> Martin^2
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/freeipa-devel/attachments/20160808/e81a34e8/attachment.htm>
More information about the Freeipa-devel
mailing list