<feed xmlns='http://www.w3.org/2005/Atom'>
<title>freeipa.git/tests/test_ipalib, branch master</title>
<subtitle>FreeIPA project</subtitle>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/abbra/public_git/freeipa.git/'/>
<entry>
<title>ticket 1600 - convert unittests to use DN objects</title>
<updated>2011-08-17T03:52:26+00:00</updated>
<author>
<name>John Dennis</name>
<email>jdennis@redhat.com</email>
</author>
<published>2011-08-10T01:21:56+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/abbra/public_git/freeipa.git/commit/?id=2673782aec632e84e89e8963b59cca8f62dafd47'/>
<id>2673782aec632e84e89e8963b59cca8f62dafd47</id>
<content type='text'>
We have a larger goal of replacing all DN creation via string
formatting/concatenation with DN object operations because string
operations are not a safe way to form a DN nor to compare a DN. This
work needs to be broken into smaller chunks for easier review and
testing.

Addressing the unit tests first makes sense because we don't want to
be modifying both the core code and the tests used to verify the core
code simultaneously. If we modify the unittests first with existing
core code and no regressions are found then we can move on to
modifying parts of the core code with the belief the unittests can
validate the changes in the core code. Also by doing the unittests
first we also help to validate the DN objects are working correctly
(although they do have an extensive unittest).

The fundamental changes are:

* replace string substitution &amp; concatenation with DN object
  constructor

* when comparing dn's the comparision is done after promotion
  to a DN object, then two DN objects are compared

* when a list of string dn's are to be compared a new list is
  formed where each string dn is replaced by a DN object

* because the unittest framework accepts a complex data structure of
  expected values where dn's are represeted as strings the unittest
  needs to express the expected value of a dn as a callable object
  (e.g. a lambda expression) which promotes the dn string to a DN
  object in order to do the comparision.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We have a larger goal of replacing all DN creation via string
formatting/concatenation with DN object operations because string
operations are not a safe way to form a DN nor to compare a DN. This
work needs to be broken into smaller chunks for easier review and
testing.

Addressing the unit tests first makes sense because we don't want to
be modifying both the core code and the tests used to verify the core
code simultaneously. If we modify the unittests first with existing
core code and no regressions are found then we can move on to
modifying parts of the core code with the belief the unittests can
validate the changes in the core code. Also by doing the unittests
first we also help to validate the DN objects are working correctly
(although they do have an extensive unittest).

The fundamental changes are:

* replace string substitution &amp; concatenation with DN object
  constructor

* when comparing dn's the comparision is done after promotion
  to a DN object, then two DN objects are compared

* when a list of string dn's are to be compared a new list is
  formed where each string dn is replaced by a DN object

* because the unittest framework accepts a complex data structure of
  expected values where dn's are represeted as strings the unittest
  needs to express the expected value of a dn as a callable object
  (e.g. a lambda expression) which promotes the dn string to a DN
  object in order to do the comparision.
</pre>
</div>
</content>
</entry>
<entry>
<title>ticket 1569 - Test DN object non-latin Unicode support</title>
<updated>2011-08-17T03:28:31+00:00</updated>
<author>
<name>John Dennis</name>
<email>jdennis@redhat.com</email>
</author>
<published>2011-08-03T23:26:19+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/abbra/public_git/freeipa.git/commit/?id=b6006f78f0e513b719ccf11831b8008516e0ef5e'/>
<id>b6006f78f0e513b719ccf11831b8008516e0ef5e</id>
<content type='text'>
The DN unittest was lacking a test for i18n. The unittest was
updated to store "Hello" in Arabic with both utf-8 and unicode
and verify the values could be properly retrieved and converted
to dn string syntax.

During the testing a few problems were discovered and corrected.

* passing in utf-8 caused an ASCII decode error becuase of Python's
  silly default encoding of ASCII. The fix was to explictly use
  the utf-8 codec.

* there were a couple of places where encode/decode were not
  called correctly.

* the internal attr and value members of the AVA class were renamed
  to explicitly show they are stored as unicode.

Of course the unittest was updated as well.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The DN unittest was lacking a test for i18n. The unittest was
updated to store "Hello" in Arabic with both utf-8 and unicode
and verify the values could be properly retrieved and converted
to dn string syntax.

During the testing a few problems were discovered and corrected.

* passing in utf-8 caused an ASCII decode error becuase of Python's
  silly default encoding of ASCII. The fix was to explictly use
  the utf-8 codec.

* there were a couple of places where encode/decode were not
  called correctly.

* the internal attr and value members of the AVA class were renamed
  to explicitly show they are stored as unicode.

Of course the unittest was updated as well.
</pre>
</div>
</content>
</entry>
<entry>
<title>ticket 1568 - DN objects should support the insert method</title>
<updated>2011-08-17T03:25:01+00:00</updated>
<author>
<name>John Dennis</name>
<email>jdennis@redhat.com</email>
</author>
<published>2011-08-03T23:14:51+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/abbra/public_git/freeipa.git/commit/?id=fae07f8154c9794fa94e94faf3eb1ad56fe01928'/>
<id>fae07f8154c9794fa94e94faf3eb1ad56fe01928</id>
<content type='text'>
Add dn.insert() and update unittest
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add dn.insert() and update unittest
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix message in test case for checking minimum values</title>
<updated>2011-07-28T06:03:56+00:00</updated>
<author>
<name>Rob Crittenden</name>
<email>rcritten@redhat.com</email>
</author>
<published>2011-07-28T06:03:56+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/abbra/public_git/freeipa.git/commit/?id=324777d67c991c7d082e6e9a7dbb80ca9bf8631c'/>
<id>324777d67c991c7d082e6e9a7dbb80ca9bf8631c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Make AVA, RDN &amp; DN comparison case insensitive. No need for lowercase normalization.</title>
<updated>2011-07-28T00:58:48+00:00</updated>
<author>
<name>John Dennis</name>
<email>jdennis@redhat.com</email>
</author>
<published>2011-07-26T20:55:12+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/abbra/public_git/freeipa.git/commit/?id=264ed38fa206537d7b160ea5d7586d071575c610'/>
<id>264ed38fa206537d7b160ea5d7586d071575c610</id>
<content type='text'>
Replace deepcopy with constructor (i.e. type call)
Can now "clone" with configuration changes by passing object
of the same type to it's constructor, e.g.
dn1 = DN(('cn', 'foo'))
dn2 = DN(dn1)
dn2 = DN(dn1, first_key_match=False)

Remove pairwise grouping for RDN's. Had previously removed it
for DN's, left it in for RDN's because it seemed to make sense
because of the way RDN's work but consistency is a higher goal.

Add keyword constructor parameters to pass configuration options.

Make first_key_match a configuration keyword.

Updated documentation.

Updated unit test.

FWIW, I noticed the unittest is now running 2x faster, not sure why,
removal of deepcopy? Anyway, hard to argue with performance doubling.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Replace deepcopy with constructor (i.e. type call)
Can now "clone" with configuration changes by passing object
of the same type to it's constructor, e.g.
dn1 = DN(('cn', 'foo'))
dn2 = DN(dn1)
dn2 = DN(dn1, first_key_match=False)

Remove pairwise grouping for RDN's. Had previously removed it
for DN's, left it in for RDN's because it seemed to make sense
because of the way RDN's work but consistency is a higher goal.

Add keyword constructor parameters to pass configuration options.

Make first_key_match a configuration keyword.

Updated documentation.

Updated unit test.

FWIW, I noticed the unittest is now running 2x faster, not sure why,
removal of deepcopy? Anyway, hard to argue with performance doubling.
</pre>
</div>
</content>
</entry>
<entry>
<title>Ticket 1485 - DN pairwise grouping</title>
<updated>2011-07-21T04:29:38+00:00</updated>
<author>
<name>John Dennis</name>
<email>jdennis@redhat.com</email>
</author>
<published>2011-07-20T23:39:05+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/abbra/public_git/freeipa.git/commit/?id=ad3cf68ac222bb288945e7e3d1c549ce8b49c02c'/>
<id>ad3cf68ac222bb288945e7e3d1c549ce8b49c02c</id>
<content type='text'>
The pairwise grouping used to form RDN's and AVA's proved to be
confusing in practice, this patch removes that functionality thus
requiring programmers to explicitly pair attr,value using a tuple or
list.

In addition it was discovered additional functionality was needed to
support some DN operations in freeipa. DN objects now support
startswith(), endswith() and the "in" membership test. These functions
and operators will accept either a DN or RDN.

The unittest was modified to remove the pairwise tests and add new
explicit tests. The unittest was augmented to test the new
functionality. In addition the unittest was cleaned up a bit to use
common utilty functions for improved readabilty and robustness.

The documentation was updated.

fix test_role_plugin use of DN to avoid pairwise grouping
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The pairwise grouping used to form RDN's and AVA's proved to be
confusing in practice, this patch removes that functionality thus
requiring programmers to explicitly pair attr,value using a tuple or
list.

In addition it was discovered additional functionality was needed to
support some DN operations in freeipa. DN objects now support
startswith(), endswith() and the "in" membership test. These functions
and operators will accept either a DN or RDN.

The unittest was modified to remove the pairwise tests and add new
explicit tests. The unittest was augmented to test the new
functionality. In addition the unittest was cleaned up a bit to use
common utilty functions for improved readabilty and robustness.

The documentation was updated.

fix test_role_plugin use of DN to avoid pairwise grouping
</pre>
</div>
</content>
</entry>
<entry>
<title>Set a default minimum value for class Int, handle long values better.</title>
<updated>2011-07-20T00:32:00+00:00</updated>
<author>
<name>Rob Crittenden</name>
<email>rcritten@redhat.com</email>
</author>
<published>2011-07-20T02:10:22+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/abbra/public_git/freeipa.git/commit/?id=e8c7eaf260d4515b9e31e8423d143a1e13e840cb'/>
<id>e8c7eaf260d4515b9e31e8423d143a1e13e840cb</id>
<content type='text'>
Allow a long to get as far as the min/max constraints where we can
compare it to min/max int values and reject with a proper error message.

https://fedorahosted.org/freeipa/ticket/1494
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Allow a long to get as far as the min/max constraints where we can
compare it to min/max int values and reject with a proper error message.

https://fedorahosted.org/freeipa/ticket/1494
</pre>
</div>
</content>
</entry>
<entry>
<title>Add ability to specify DNS reverse zone name by IP network address.</title>
<updated>2011-07-15T06:21:23+00:00</updated>
<author>
<name>Jan Cholasta</name>
<email>jcholast@redhat.com</email>
</author>
<published>2011-06-21T12:07:19+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/abbra/public_git/freeipa.git/commit/?id=b203756a886f8d3a16079bea7c047e595b221121'/>
<id>b203756a886f8d3a16079bea7c047e595b221121</id>
<content type='text'>
In order for this to work, chaining of parameters through
default_from is made possible.

ticket 1474
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In order for this to work, chaining of parameters through
default_from is made possible.

ticket 1474
</pre>
</div>
</content>
</entry>
<entry>
<title>Let the framework be able to override the hostname.</title>
<updated>2011-06-23T06:11:34+00:00</updated>
<author>
<name>Rob Crittenden</name>
<email>rcritten@redhat.com</email>
</author>
<published>2011-06-23T06:06:49+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/abbra/public_git/freeipa.git/commit/?id=8810758c11df8afb5fb7ddf97a71c55a431edfd2'/>
<id>8810758c11df8afb5fb7ddf97a71c55a431edfd2</id>
<content type='text'>
The hostname is passed in during the server installation. We should use
this hostname for the resulting server as well. It was being discarded
and we always used the system hostname value.

Important changes:
- configure ipa_hostname in sssd on masters
- set PKI_HOSTNAME so the hostname is passed to dogtag installer
- set the hostname when doing ldapi binds

This also reorders some things in the dogtag installer to eliminate an
unnecessary restart. We were restarting the service twice in a row with
very little time in between and this could result in a slew of reported
errors, though the server installed ok.

ticket 1052
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The hostname is passed in during the server installation. We should use
this hostname for the resulting server as well. It was being discarded
and we always used the system hostname value.

Important changes:
- configure ipa_hostname in sssd on masters
- set PKI_HOSTNAME so the hostname is passed to dogtag installer
- set the hostname when doing ldapi binds

This also reorders some things in the dogtag installer to eliminate an
unnecessary restart. We were restarting the service twice in a row with
very little time in between and this could result in a slew of reported
errors, though the server installed ok.

ticket 1052
</pre>
</div>
</content>
</entry>
<entry>
<title>Module for DN objects plus unit test</title>
<updated>2011-06-22T05:05:44+00:00</updated>
<author>
<name>John Dennis</name>
<email>jdennis@redhat.com</email>
</author>
<published>2011-06-15T12:39:21+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/abbra/public_git/freeipa.git/commit/?id=1a7d05cc0f8c06a6f59d0db75361fa1a06189bee'/>
<id>1a7d05cc0f8c06a6f59d0db75361fa1a06189bee</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
