Re: [Freeipa-devel] [PATCH 0004] Refactor test_attr

2016-01-26 Thread Milan Kubík

On 01/12/2016 03:03 PM, Milan Kubík wrote:

On 12/07/2015 01:25 PM, Filip Škola wrote:

Now the tier marker have lost somewhere on the way... which is
corrected in this patch.

/me apologizes for the noise

F.

On Mon, 7 Dec 2015 13:00:41 +0100
Filip Škola  wrote:


Self-NACK, resubmitting with the last commit which includes
UserTracker from the right location...

F.

On Fri, 4 Dec 2015 16:24:16 +0100
Filip Škola  wrote:


Hi,

sending a new version of test_attr.

F.
Hello, tha patch doesn't work. The tests fail on mismatches in 
expected and actual result.

NACK.


My mistake, the code just needed earlier patch. ACK.

--
Milan Kubik

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

Re: [Freeipa-devel] [PATCH 0004] Refactor test_attr

2016-01-26 Thread Martin Basti



On 26.01.2016 18:38, Milan Kubík wrote:

On 01/12/2016 03:03 PM, Milan Kubík wrote:

On 12/07/2015 01:25 PM, Filip Škola wrote:

Now the tier marker have lost somewhere on the way... which is
corrected in this patch.

/me apologizes for the noise

F.

On Mon, 7 Dec 2015 13:00:41 +0100
Filip Škola  wrote:


Self-NACK, resubmitting with the last commit which includes
UserTracker from the right location...

F.

On Fri, 4 Dec 2015 16:24:16 +0100
Filip Škola  wrote:


Hi,

sending a new version of test_attr.

F.
Hello, tha patch doesn't work. The tests fail on mismatches in 
expected and actual result.

NACK.


My mistake, the code just needed earlier patch. ACK.


Pushed to:
master: ec75b01f17e759f3a1bba2d8bb63e09d65fec051
ipa-4-3: 0b04242e3478eab45121893db676cbe3829edb7c

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

Re: [Freeipa-devel] [PATCH 0004] Refactor test_attr

2015-12-07 Thread Filip Škola
Now the tier marker have lost somewhere on the way... which is
corrected in this patch.

/me apologizes for the noise

F.

On Mon, 7 Dec 2015 13:00:41 +0100
Filip Škola  wrote:

> Self-NACK, resubmitting with the last commit which includes
> UserTracker from the right location...
> 
> F.
> 
> On Fri, 4 Dec 2015 16:24:16 +0100
> Filip Škola  wrote:
> 
> > Hi,
> > 
> > sending a new version of test_attr.
> > 
> > F.

>From 13af34b6f8fa4d419673578cfd55c9f87fd651fc Mon Sep 17 00:00:00 2001
From: Filip Skola 
Date: Fri, 27 Nov 2015 15:41:47 +0100
Subject: [PATCH] Refactor test_attr

---
 ipatests/test_xmlrpc/test_attr.py | 667 --
 1 file changed, 280 insertions(+), 387 deletions(-)

diff --git a/ipatests/test_xmlrpc/test_attr.py b/ipatests/test_xmlrpc/test_attr.py
index 9248ce0448cfd08fcfe194d402c6819a283c2c07..83a51b56b82731d55c5fbdfa2b4f3a1097ebc340 100644
--- a/ipatests/test_xmlrpc/test_attr.py
+++ b/ipatests/test_xmlrpc/test_attr.py
@@ -1,5 +1,6 @@
 # Authors:
 #   Rob Crittenden 
+#   Filip Skola 
 #
 # Copyright (C) 2010  Red Hat
 # see file 'COPYING' for use and warranty information
@@ -22,397 +23,289 @@ Test --setattr and --addattr and other attribute-specific issues
 """
 
 from ipalib import errors
-from ipatests.test_xmlrpc.xmlrpc_test import Declarative
-from ipatests.test_xmlrpc.test_user_plugin import get_user_result
+from ipatests.test_xmlrpc.xmlrpc_test import XMLRPC_test, raises_exact
+from ipatests.test_xmlrpc.tracker.user_plugin import UserTracker
 import pytest
 
-user1=u'tuser1'
+
+@pytest.fixture(scope='class')
+def user(request):
+tracker = UserTracker(name=u'user1', givenname=u'Test', sn=u'User1')
+return tracker.make_fixture(request)
+
+
+@pytest.mark.tier1
+class TestAttrOnUser(XMLRPC_test):
+def test_add_user_with_singlevalue_addattr(self):
+""" Try to add a user with single-value attribute
+set via option and --addattr """
+user = UserTracker(name=u'user', givenname=u'Test', sn=u'User1',
+   addattr=u'sn=User2')
+command = user.make_create_command()
+with raises_exact(errors.OnlyOneValueAllowed(attr='sn')):
+command()
+
+def test_create_user(self, user):
+""" Create a test user """
+user.ensure_exists()
+
+def test_change_givenname_add_mail_user(self, user):
+""" Change givenname, add mail to user """
+user.ensure_exists()
+user.update(
+dict(setattr=(u'givenname=Finkle', u'mail=t...@example.com')),
+dict(givenname=[u'Finkle'], mail=[u't...@example.com'], setattr='')
+)
+
+def test_add_another_mail_user(self, user):
+""" Add another mail to user """
+user.ensure_exists()
+update = u'te...@example.com'
+user.attrs['mail'].append(update)
+user.update(dict(addattr='mail='+update),
+dict(addattr=''))
+
+def test_add_two_phone_numbers_at_once_user(self, user):
+""" Add two phone numbers at once to user """
+user.ensure_exists()
+update1 = u'410-555-1212'
+update2 = u'301-555-1212'
+user.update(
+dict(setattr=u'telephoneNumber='+update1,
+ addattr=u'telephoneNumber='+update2),
+dict(addattr='', setattr='',
+ telephonenumber=[update1, update2]))
+
+def test_go_from_two_phone_numbers_to_one(self, user):
+""" Go from two phone numbers to one for user """
+update = u'301-555-1212'
+user.ensure_exists()
+user.update(dict(setattr=u'telephoneNumber='+update),
+dict(setattr='', telephonenumber=[update]))
+
+def test_add_two_more_phone_numbers(self, user):
+""" Add two more phone numbers to user """
+user.ensure_exists()
+update1 = u'703-555-1212'
+update2 = u'202-888-9833'
+user.attrs['telephonenumber'].extend([update1, update2])
+user.update(dict(addattr=(u'telephoneNumber='+update1,
+  u'telephoneNumber='+update2)),
+dict(addattr=''))
+
+def test_delete_one_phone_number(self, user):
+""" Delete one phone number for user """
+user.ensure_exists()
+update = u'301-555-1212'
+user.attrs['telephonenumber'].remove(update)
+user.update(dict(delattr=u'telephoneNumber='+update), dict(delattr=''))
+
+def test_delete_the_number_again(self, user):
+""" Try deleting the number again for user """
+user.ensure_exists()
+update = u'301-555-1212'
+command = user.make_update_command(
+dict(delattr=u'telephoneNumber='+update))
+with raises_exact(errors.AttrValueNotFound(
+attr=u'telephonenumber', value=update)):
+command()
+
+def 

Re: [Freeipa-devel] [PATCH 0004] Refactor test_attr

2015-12-07 Thread Filip Škola
Self-NACK, resubmitting with the last commit which includes UserTracker
from the right location...

F.

On Fri, 4 Dec 2015 16:24:16 +0100
Filip Škola  wrote:

> Hi,
> 
> sending a new version of test_attr.
> 
> F.
>From 786b0004f3793bb557b8c9b2b7e034784969da8e Mon Sep 17 00:00:00 2001
From: Filip Skola 
Date: Fri, 27 Nov 2015 15:41:47 +0100
Subject: [PATCH] Refactor test_attr

---
 ipatests/test_xmlrpc/test_attr.py | 671 --
 1 file changed, 281 insertions(+), 390 deletions(-)

diff --git a/ipatests/test_xmlrpc/test_attr.py b/ipatests/test_xmlrpc/test_attr.py
index 9248ce0448cfd08fcfe194d402c6819a283c2c07..cb5c47910794852dcd7202ca73b0e9b9b5961573 100644
--- a/ipatests/test_xmlrpc/test_attr.py
+++ b/ipatests/test_xmlrpc/test_attr.py
@@ -1,5 +1,6 @@
 # Authors:
 #   Rob Crittenden 
+#   Filip Skola 
 #
 # Copyright (C) 2010  Red Hat
 # see file 'COPYING' for use and warranty information
@@ -22,397 +23,287 @@ Test --setattr and --addattr and other attribute-specific issues
 """
 
 from ipalib import errors
-from ipatests.test_xmlrpc.xmlrpc_test import Declarative
-from ipatests.test_xmlrpc.test_user_plugin import get_user_result
+from ipatests.test_xmlrpc.xmlrpc_test import XMLRPC_test, raises_exact
+from ipatests.test_xmlrpc.tracker.user_plugin import UserTracker
 import pytest
 
-user1=u'tuser1'
-
-
-@pytest.mark.tier1
-class test_attr(Declarative):
-
-cleanup_commands = [
-('user_del', [user1], {}),
-]
-
-tests = [
-
-dict(
-desc='Try to add user %r with single-value attribute set via '
- 'option and --addattr' % user1,
-command=(
-'user_add', [user1], dict(givenname=u'Test', sn=u'User1',
-addattr=u'sn=User2')
-),
-expected=errors.OnlyOneValueAllowed(attr='sn'),
-),
-
-dict(
-desc='Create %r' % user1,
-command=(
-'user_add', [user1], dict(givenname=u'Test', sn=u'User1',
-setattr=None)
-),
-expected=dict(
-value=user1,
-summary=u'Added user "tuser1"',
-result=get_user_result(user1, u'Test', u'User1', 'add'),
-),
-),
-
-
-dict(
-desc='Change givenname, add mail %r' % user1,
-command=(
-'user_mod', [user1], dict(setattr=(u'givenname=Finkle', u'mail=t...@example.com'))
-),
-expected=dict(
-result=get_user_result(
-user1, u'Finkle', u'User1', 'mod',
-mail=[u't...@example.com'],
-),
-summary=u'Modified user "tuser1"',
-value=user1,
-),
-),
-
-
-dict(
-desc='Add another mail %r' % user1,
-command=(
-'user_mod', [user1], dict(addattr=u'mail=te...@example.com')
-),
-expected=dict(
-result=get_user_result(
-user1, u'Finkle', u'User1', 'mod',
-mail=[u't...@example.com', u'te...@example.com'],
-),
-summary=u'Modified user "tuser1"',
-value=user1,
-),
-),
-
-
-dict(
-desc='Add two phone numbers at once %r' % user1,
-command=(
-'user_mod', [user1], dict(setattr=u'telephoneNumber=410-555-1212', addattr=u'telephoneNumber=301-555-1212')
-),
-expected=dict(
-result=get_user_result(
-user1, u'Finkle', u'User1', 'mod',
-mail=[u't...@example.com', u'te...@example.com'],
-telephonenumber=[u'410-555-1212', u'301-555-1212'],
-),
-summary=u'Modified user "tuser1"',
-value=user1,
-),
-),
-
-
-dict(
-desc='Go from two phone numbers to one %r' % user1,
-command=(
-'user_mod', [user1], dict(setattr=u'telephoneNumber=301-555-1212')
-),
-expected=dict(
-result=get_user_result(
-user1, u'Finkle', u'User1', 'mod',
-mail=[u't...@example.com', u'te...@example.com'],
-telephonenumber=[u'301-555-1212'],
-),
-summary=u'Modified user "tuser1"',
-value=user1,
-),
-),
-
-
-dict(
-desc='Add two more phone numbers %r' % user1,
-command=(
-'user_mod', [user1], dict(addattr=(u'telephoneNumber=703-555-1212', u'telephoneNumber=202-888-9833'))
-),
-expected=dict(
-result=get_user_result(
-user1, u'Finkle', u'User1', 'mod',
-