[SSSD] [PATCH] Add integration tests

Nikolai Kondrashov Nikolai.Kondrashov at redhat.com
Tue May 5 14:00:53 UTC 2015


On 05/05/2015 04:30 PM, Lukas Slebodnik wrote:
> On (05/05/15 15:24), Michal Židek wrote:
>> On 05/04/2015 02:13 PM, Nikolai Kondrashov wrote:
>>> On 04/29/2015 05:58 PM, Michal Židek wrote:
>>>> On 04/29/2015 12:23 PM, Nikolai Kondrashov wrote:
>>>>> On 04/28/2015 05:49 PM, Michal Židek wrote:
>>>>>> On 04/27/2015 05:56 PM, Nikolai Kondrashov wrote:
>>>>>>>> On 04/24/2015 01:44 PM, Nikolai Kondrashov wrote:
>>>>> I understand your motivation to keep the interface accessible and
>>>>> safe, and
>>>>> I'm willing to implement it your way, if this message doesn't change
>>>>> your
>>>>> mind.
>>>>>
>>>>> May I suggest another solution, which might make it more palatable? What
>>>>> if we
>>>>> replace lists/tuples with functions or class constructors, which would
>>>>> annotate what's happening?
>>>>>
>>>>> So, instead of writing this rather unusual, but illustrative example:
>>>>>
>>>>>      pattern = (
>>>>>          {name='group1', gid=1001, mem=['userA', 'userB', 'userC']},
>>>>>          {name='group2', gid=1002, mem=('userX', 'userY')},
>>>>>      )
>>>>>      ent.group_assert(pattern)
>>>>>
>>>>> You would write something like this:
>>>>>
>>>>>      pattern = ent.some(
>>>>>          {name='group1', gid=1001, mem=ent.all('userA', 'userB',
>>>>> 'userC')},
>>>>>          {name='group2', gid=1002, mem=ent.some('userX', 'userY')}
>>>>>      )
>>>>>      ent.group_assert(pattern)
>>>>>
>>>>> Theoretically, we can also make a distinction of matching some/all of
>>>>> dictionary members, but I don't see that as useful ATM.
>>>>
>>>> This does not look bad to me. Please add example of usage to
>>>> the docstring of the "all" and "some" functions. So that
>>>> it is clear where and how the functions are to be used.
>>>> Also add reference to these functions to the diff function,
>>>> so that they are linked both ways (something along the
>>>> line "use this and that to create the list or tuple
>>>> and do not craft it manually"... of course better
>>>> wording is advised :) )
>>>>
>>>> Also I would rename the "some" to "contains" and "all"
>>>> to "contains_only". The "some" word misleads the reader
>>>> a little in the way that "some of the listed
>>>> users must match, but not all", which is not the case.
>>>> The "all" can mislead the reader in the way "all these
>>>> members must match, but we do not care if there are some
>>>> others", which is also not how it works.
>>>
>>> Alright. Do you mind if I replace "contains" with the shorter "has"?
>>> I.e. make that "has" and "has_only"?
>>>
>>
>> "has" and "has_only" is also good IMO.
>>
> I prefer longer version.
>
> So we can read test as a novel without looking into function
> and we will exactly know what it does.

Since Michal seems OK with either and I don't care much, I'll use the longer
version.

Nick



More information about the sssd-devel mailing list