Re: [Freeipa-devel] [PATCH] 801-806 webui-ci: otptoken tests
On 05/12/2015 01:57 PM, Petr Vobornik wrote: On 05/11/2015 01:25 PM, Milan Kubik wrote: On 05/07/2015 01:38 PM, Petr Vobornik wrote: On 02/19/2015 03:51 PM, Petr Vobornik wrote: https://fedorahosted.org/freeipa/ticket/4307 For ipa-4-1 apply: - patch 800 (different thread) - patches 801-806 For master apply: - patch 800 (different thread) - patch 807 (different thread) - patch 801-master - patches 802-806 Patch 801 allows to use ipalib rpc client in Web UI test suite. Patches 802-805 are various ui_driver fixes to allow stuff in patch 806. == [PATCH] 806 webui-ci: otptoken tests == Basic otptoken Web UI CI coverage. tests: * crud for otptokens as admin * crud for normal users * checks fields of adder dialog for both token types and user role (admin/user) * token actions as admin (enable, disable, delete) * token actions as normal user (delete) * login as normal user with hotp and totp token * sync token hotp and totp token as normal user and then login https://fedorahosted.org/freeipa/ticket/4307 == [PATCH] 805 webui-ci: allow custom names for disable/enable actions == Not all disable and enable actions are called 'disable' and 'enable'. == [PATCH] 804 webui-ci: allow to update pkey in post-add in basic-crud tests == == [PATCH] 803 webui-ci: add post_add_action == post add action allows to fill autogenerated values, e.g. a pkey of new otptoken. This value can be then used in other subsequent test which would depend on it - like crud tests. == [PATCH] 802 webui-ci: fix negative visibility check == Allow to define, that element doesn't have to be present on a page for negative visible checks. E.g. if element is added only if it's displayed and is removed otherwise. == [PATCH] 801 webui-ci: support direct IPA API calls == Add IPA API support to ui_driver. It leverages new ipalib RPC client's forms based authentication. It then allows to call an IPA API while the machine is not an IPA client nor is kerberized. api's environment values are taken from test configuration and therefore duplication in ~/.ipa/default.conf is not required. Since the machine doesn't have to be IPA client, it then also doesn't have nss database with IPA's CA certificate. Therefore on each API initialization a new NSS database is created with a CA certificate downloaded from IPA. This db is deleted in tearDown phase. Usage: 1. as admin one can immediately call rpc commands, api will be initialized upon first request and is available under self.api (assuming self is ui_driver): self.api.Command.user_del(USER_ID, **{'continue': True}) 2. to reconnect as other user: self.reconnect_api(USER_ID, USER_PW) 3. reconnect back as admin: self.reconnect_api() Patch #803 needed rebase. Hi, thanks for the patches. Please, fix pep8 complaints in 803, 805 and 806. $ git diff HEAD~6 -U0 | pep8 --diff returns 20x E501 line too long IMO, it's better this way for better code readability. Also, change the header in 806 to the shorter version, please. Fixed, patches were regenerated. # # Copyright (C) 2015 FreeIPA Contributors see COPYING for license # Patches 801, 802 and 804 look good to me. The test cases in 806 look good to me as well. Milan I have reviewed the pep8 complaints closely and yes, readability would suffer a little. nicpick-alertI don't like the line 317 after patch 806./nicpick-alert Fix it at your discretion. Otherwise ACK. Thanks, Milan -- 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] 801-806 webui-ci: otptoken tests
On 05/11/2015 01:25 PM, Milan Kubik wrote: On 05/07/2015 01:38 PM, Petr Vobornik wrote: On 02/19/2015 03:51 PM, Petr Vobornik wrote: https://fedorahosted.org/freeipa/ticket/4307 For ipa-4-1 apply: - patch 800 (different thread) - patches 801-806 For master apply: - patch 800 (different thread) - patch 807 (different thread) - patch 801-master - patches 802-806 Patch 801 allows to use ipalib rpc client in Web UI test suite. Patches 802-805 are various ui_driver fixes to allow stuff in patch 806. == [PATCH] 806 webui-ci: otptoken tests == Basic otptoken Web UI CI coverage. tests: * crud for otptokens as admin * crud for normal users * checks fields of adder dialog for both token types and user role (admin/user) * token actions as admin (enable, disable, delete) * token actions as normal user (delete) * login as normal user with hotp and totp token * sync token hotp and totp token as normal user and then login https://fedorahosted.org/freeipa/ticket/4307 == [PATCH] 805 webui-ci: allow custom names for disable/enable actions == Not all disable and enable actions are called 'disable' and 'enable'. == [PATCH] 804 webui-ci: allow to update pkey in post-add in basic-crud tests == == [PATCH] 803 webui-ci: add post_add_action == post add action allows to fill autogenerated values, e.g. a pkey of new otptoken. This value can be then used in other subsequent test which would depend on it - like crud tests. == [PATCH] 802 webui-ci: fix negative visibility check == Allow to define, that element doesn't have to be present on a page for negative visible checks. E.g. if element is added only if it's displayed and is removed otherwise. == [PATCH] 801 webui-ci: support direct IPA API calls == Add IPA API support to ui_driver. It leverages new ipalib RPC client's forms based authentication. It then allows to call an IPA API while the machine is not an IPA client nor is kerberized. api's environment values are taken from test configuration and therefore duplication in ~/.ipa/default.conf is not required. Since the machine doesn't have to be IPA client, it then also doesn't have nss database with IPA's CA certificate. Therefore on each API initialization a new NSS database is created with a CA certificate downloaded from IPA. This db is deleted in tearDown phase. Usage: 1. as admin one can immediately call rpc commands, api will be initialized upon first request and is available under self.api (assuming self is ui_driver): self.api.Command.user_del(USER_ID, **{'continue': True}) 2. to reconnect as other user: self.reconnect_api(USER_ID, USER_PW) 3. reconnect back as admin: self.reconnect_api() Patch #803 needed rebase. Hi, thanks for the patches. Please, fix pep8 complaints in 803, 805 and 806. $ git diff HEAD~6 -U0 | pep8 --diff returns 20x E501 line too long IMO, it's better this way for better code readability. Also, change the header in 806 to the shorter version, please. Fixed, patches were regenerated. # # Copyright (C) 2015 FreeIPA Contributors see COPYING for license # Patches 801, 802 and 804 look good to me. The test cases in 806 look good to me as well. Milan -- Petr Vobornik From 84ced4fce411836a5b27ac352ea540faceb52c41 Mon Sep 17 00:00:00 2001 From: Petr Vobornik pvobo...@redhat.com Date: Wed, 7 Jan 2015 13:56:07 +0100 Subject: [PATCH] webui-ci: otptoken tests Basic otptoken Web UI CI coverage. tests: * crud for otptokens as admin * crud for normal users * checks fields of adder dialog for both token types and user role (admin/user) * token actions as admin (enable, disable, delete) * token actions as normal user (delete) * login as normal user with hotp and totp token * sync token hotp and totp token as normal user and then login https://fedorahosted.org/freeipa/ticket/4307 --- ipatests/test_webui/test_otptoken.py | 359 +++ ipatests/test_webui/ui_driver.py | 2 + 2 files changed, 361 insertions(+) create mode 100644 ipatests/test_webui/test_otptoken.py diff --git a/ipatests/test_webui/test_otptoken.py b/ipatests/test_webui/test_otptoken.py new file mode 100644 index ..63e212459c2261d9fc7b069f58652aae94adb56d --- /dev/null +++ b/ipatests/test_webui/test_otptoken.py @@ -0,0 +1,359 @@ +# +# Copyright (C) 2015 FreeIPA Contributors see COPYING for license +# + + +OTP Token Web UI Tests + + +import base64 +import hashlib +import hmac +import struct +import re +import time +from urlparse import urlparse + +from ipatests.test_webui.ui_driver import UI_driver +from ipatests.test_webui.ui_driver import screenshot +import ipatests.test_webui.data_user as user + +ENTITY = 'otptoken' +TOKEN_RE = r'otpauth://(hotp|totp)/.*:(?Ptokenid.*)\?' + +USER_ID = u'tuser1' +USER_PW = u'Secret123' +USER_ADD_DATA = { +'givenname': u'test', +'sn': u'user1', +'userpassword': USER_PW +} + + +class Token(dict): +''' +Simplified Copy Pasted class from OTP API CI tests. Works
Re: [Freeipa-devel] [PATCH] 801-806 webui-ci: otptoken tests
On 05/07/2015 01:38 PM, Petr Vobornik wrote: On 02/19/2015 03:51 PM, Petr Vobornik wrote: https://fedorahosted.org/freeipa/ticket/4307 For ipa-4-1 apply: - patch 800 (different thread) - patches 801-806 For master apply: - patch 800 (different thread) - patch 807 (different thread) - patch 801-master - patches 802-806 Patch 801 allows to use ipalib rpc client in Web UI test suite. Patches 802-805 are various ui_driver fixes to allow stuff in patch 806. == [PATCH] 806 webui-ci: otptoken tests == Basic otptoken Web UI CI coverage. tests: * crud for otptokens as admin * crud for normal users * checks fields of adder dialog for both token types and user role (admin/user) * token actions as admin (enable, disable, delete) * token actions as normal user (delete) * login as normal user with hotp and totp token * sync token hotp and totp token as normal user and then login https://fedorahosted.org/freeipa/ticket/4307 == [PATCH] 805 webui-ci: allow custom names for disable/enable actions == Not all disable and enable actions are called 'disable' and 'enable'. == [PATCH] 804 webui-ci: allow to update pkey in post-add in basic-crud tests == == [PATCH] 803 webui-ci: add post_add_action == post add action allows to fill autogenerated values, e.g. a pkey of new otptoken. This value can be then used in other subsequent test which would depend on it - like crud tests. == [PATCH] 802 webui-ci: fix negative visibility check == Allow to define, that element doesn't have to be present on a page for negative visible checks. E.g. if element is added only if it's displayed and is removed otherwise. == [PATCH] 801 webui-ci: support direct IPA API calls == Add IPA API support to ui_driver. It leverages new ipalib RPC client's forms based authentication. It then allows to call an IPA API while the machine is not an IPA client nor is kerberized. api's environment values are taken from test configuration and therefore duplication in ~/.ipa/default.conf is not required. Since the machine doesn't have to be IPA client, it then also doesn't have nss database with IPA's CA certificate. Therefore on each API initialization a new NSS database is created with a CA certificate downloaded from IPA. This db is deleted in tearDown phase. Usage: 1. as admin one can immediately call rpc commands, api will be initialized upon first request and is available under self.api (assuming self is ui_driver): self.api.Command.user_del(USER_ID, **{'continue': True}) 2. to reconnect as other user: self.reconnect_api(USER_ID, USER_PW) 3. reconnect back as admin: self.reconnect_api() Patch #803 needed rebase. Hi, thanks for the patches. Please, fix pep8 complaints in 803, 805 and 806. Also, change the header in 806 to the shorter version, please. # # Copyright (C) 2015 FreeIPA Contributors see COPYING for license # Patches 801, 802 and 804 look good to me. The test cases in 806 look good to me as well. Milan -- 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] 801-806 webui-ci: otptoken tests
On 02/19/2015 03:51 PM, Petr Vobornik wrote: https://fedorahosted.org/freeipa/ticket/4307 For ipa-4-1 apply: - patch 800 (different thread) - patches 801-806 For master apply: - patch 800 (different thread) - patch 807 (different thread) - patch 801-master - patches 802-806 Patch 801 allows to use ipalib rpc client in Web UI test suite. Patches 802-805 are various ui_driver fixes to allow stuff in patch 806. == [PATCH] 806 webui-ci: otptoken tests == Basic otptoken Web UI CI coverage. tests: * crud for otptokens as admin * crud for normal users * checks fields of adder dialog for both token types and user role (admin/user) * token actions as admin (enable, disable, delete) * token actions as normal user (delete) * login as normal user with hotp and totp token * sync token hotp and totp token as normal user and then login https://fedorahosted.org/freeipa/ticket/4307 == [PATCH] 805 webui-ci: allow custom names for disable/enable actions == Not all disable and enable actions are called 'disable' and 'enable'. == [PATCH] 804 webui-ci: allow to update pkey in post-add in basic-crud tests == == [PATCH] 803 webui-ci: add post_add_action == post add action allows to fill autogenerated values, e.g. a pkey of new otptoken. This value can be then used in other subsequent test which would depend on it - like crud tests. == [PATCH] 802 webui-ci: fix negative visibility check == Allow to define, that element doesn't have to be present on a page for negative visible checks. E.g. if element is added only if it's displayed and is removed otherwise. == [PATCH] 801 webui-ci: support direct IPA API calls == Add IPA API support to ui_driver. It leverages new ipalib RPC client's forms based authentication. It then allows to call an IPA API while the machine is not an IPA client nor is kerberized. api's environment values are taken from test configuration and therefore duplication in ~/.ipa/default.conf is not required. Since the machine doesn't have to be IPA client, it then also doesn't have nss database with IPA's CA certificate. Therefore on each API initialization a new NSS database is created with a CA certificate downloaded from IPA. This db is deleted in tearDown phase. Usage: 1. as admin one can immediately call rpc commands, api will be initialized upon first request and is available under self.api (assuming self is ui_driver): self.api.Command.user_del(USER_ID, **{'continue': True}) 2. to reconnect as other user: self.reconnect_api(USER_ID, USER_PW) 3. reconnect back as admin: self.reconnect_api() Patch #803 needed rebase. -- Petr Vobornik From 643564ca13fac71f303bba9147914aa42a17153b Mon Sep 17 00:00:00 2001 From: Petr Vobornik pvobo...@redhat.com Date: Wed, 7 Jan 2015 13:56:07 +0100 Subject: [PATCH] webui-ci: otptoken tests Basic otptoken Web UI CI coverage. tests: * crud for otptokens as admin * crud for normal users * checks fields of adder dialog for both token types and user role (admin/user) * token actions as admin (enable, disable, delete) * token actions as normal user (delete) * login as normal user with hotp and totp token * sync token hotp and totp token as normal user and then login https://fedorahosted.org/freeipa/ticket/4307 --- ipatests/test_webui/test_otptoken.py | 374 +++ ipatests/test_webui/ui_driver.py | 2 + 2 files changed, 376 insertions(+) create mode 100644 ipatests/test_webui/test_otptoken.py diff --git a/ipatests/test_webui/test_otptoken.py b/ipatests/test_webui/test_otptoken.py new file mode 100644 index ..465dc8da0e3a5de224cf9266829aadb7968eaab5 --- /dev/null +++ b/ipatests/test_webui/test_otptoken.py @@ -0,0 +1,374 @@ +# Authors: +# Petr Vobornik pvobo...@redhat.com +# +# Copyright (C) 2014 Red Hat +# see file 'COPYING' for use and warranty information +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. + + +OTP Token Web UI Tests + + +import base64 +import hashlib +import hmac +import struct +import re +import time +from urlparse import urlparse + +from ipatests.test_webui.ui_driver import UI_driver +from ipatests.test_webui.ui_driver import screenshot +import ipatests.test_webui.data_user as user + +ENTITY = 'otptoken' +TOKEN_RE = r'otpauth://(hotp|totp)/.*:(?Ptokenid.*)\?' + +USER_ID = u'tuser1' +USER_PW = u'Secret123' +USER_ADD_DATA = { +'givenname': u'test', +'sn':
[Freeipa-devel] [PATCH] 801-806 webui-ci: otptoken tests
https://fedorahosted.org/freeipa/ticket/4307 For ipa-4-1 apply: - patch 800 (different thread) - patches 801-806 For master apply: - patch 800 (different thread) - patch 807 (different thread) - patch 801-master - patches 802-806 Patch 801 allows to use ipalib rpc client in Web UI test suite. Patches 802-805 are various ui_driver fixes to allow stuff in patch 806. == [PATCH] 806 webui-ci: otptoken tests == Basic otptoken Web UI CI coverage. tests: * crud for otptokens as admin * crud for normal users * checks fields of adder dialog for both token types and user role (admin/user) * token actions as admin (enable, disable, delete) * token actions as normal user (delete) * login as normal user with hotp and totp token * sync token hotp and totp token as normal user and then login https://fedorahosted.org/freeipa/ticket/4307 == [PATCH] 805 webui-ci: allow custom names for disable/enable actions == Not all disable and enable actions are called 'disable' and 'enable'. == [PATCH] 804 webui-ci: allow to update pkey in post-add in basic-crud tests == == [PATCH] 803 webui-ci: add post_add_action == post add action allows to fill autogenerated values, e.g. a pkey of new otptoken. This value can be then used in other subsequent test which would depend on it - like crud tests. == [PATCH] 802 webui-ci: fix negative visibility check == Allow to define, that element doesn't have to be present on a page for negative visible checks. E.g. if element is added only if it's displayed and is removed otherwise. == [PATCH] 801 webui-ci: support direct IPA API calls == Add IPA API support to ui_driver. It leverages new ipalib RPC client's forms based authentication. It then allows to call an IPA API while the machine is not an IPA client nor is kerberized. api's environment values are taken from test configuration and therefore duplication in ~/.ipa/default.conf is not required. Since the machine doesn't have to be IPA client, it then also doesn't have nss database with IPA's CA certificate. Therefore on each API initialization a new NSS database is created with a CA certificate downloaded from IPA. This db is deleted in tearDown phase. Usage: 1. as admin one can immediately call rpc commands, api will be initialized upon first request and is available under self.api (assuming self is ui_driver): self.api.Command.user_del(USER_ID, **{'continue': True}) 2. to reconnect as other user: self.reconnect_api(USER_ID, USER_PW) 3. reconnect back as admin: self.reconnect_api() -- Petr Vobornik From c7deab1ddc95908abdf953b42ee29c87c392c065 Mon Sep 17 00:00:00 2001 From: Petr Vobornik pvobo...@redhat.com Date: Wed, 7 Jan 2015 13:56:07 +0100 Subject: [PATCH] webui-ci: otptoken tests Basic otptoken Web UI CI coverage. tests: * crud for otptokens as admin * crud for normal users * checks fields of adder dialog for both token types and user role (admin/user) * token actions as admin (enable, disable, delete) * token actions as normal user (delete) * login as normal user with hotp and totp token * sync token hotp and totp token as normal user and then login https://fedorahosted.org/freeipa/ticket/4307 --- ipatests/test_webui/test_otptoken.py | 374 +++ ipatests/test_webui/ui_driver.py | 2 + 2 files changed, 376 insertions(+) create mode 100644 ipatests/test_webui/test_otptoken.py diff --git a/ipatests/test_webui/test_otptoken.py b/ipatests/test_webui/test_otptoken.py new file mode 100644 index ..465dc8da0e3a5de224cf9266829aadb7968eaab5 --- /dev/null +++ b/ipatests/test_webui/test_otptoken.py @@ -0,0 +1,374 @@ +# Authors: +# Petr Vobornik pvobo...@redhat.com +# +# Copyright (C) 2014 Red Hat +# see file 'COPYING' for use and warranty information +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. + + +OTP Token Web UI Tests + + +import base64 +import hashlib +import hmac +import struct +import re +import time +from urlparse import urlparse + +from ipatests.test_webui.ui_driver import UI_driver +from ipatests.test_webui.ui_driver import screenshot +import ipatests.test_webui.data_user as user + +ENTITY = 'otptoken' +TOKEN_RE = r'otpauth://(hotp|totp)/.*:(?Ptokenid.*)\?' + +USER_ID = u'tuser1' +USER_PW = u'Secret123' +USER_ADD_DATA = { +'givenname': u'test', +'sn': u'user1', +'userpassword': USER_PW +} + + +class Token(dict): +''' +