URL: https://github.com/freeipa/freeipa/pull/1944
Author: Rezney
 Title: #1944: [Backport][ipa-4-6] Extend WebUI test_krbpolicy automation suite
Action: opened

PR body:
"""
This PR was opened automatically because PR #1923 was pushed to master and 
backport to ipa-4-6 is required.
"""

To pull the PR as Git branch:
git remote add ghfreeipa https://github.com/freeipa/freeipa
git fetch ghfreeipa pull/1944/head:pr1944
git checkout pr1944
From fb678d3b1e064b7d8ae0d4c720759c6b5d7c4745 Mon Sep 17 00:00:00 2001
From: Varun Mylaraiah <mva...@redhat.com>
Date: Mon, 14 May 2018 12:54:57 +0530
Subject: [PATCH] Extend WebUI test_krbpolicy suite with the following test
 cases: test_verifying_button (verify button's action in various scenarios)
 test_negative_value (verify invalid values) test_verifying_measurement_unit

https://pagure.io/freeipa/issue/7540

Signed-off-by: Varun Mylaraiah <mva...@redhat.com>
---
 ipatests/test_webui/test_krbtpolicy.py | 96 ++++++++++++++++++++++++++++++++++
 1 file changed, 96 insertions(+)

diff --git a/ipatests/test_webui/test_krbtpolicy.py b/ipatests/test_webui/test_krbtpolicy.py
index 2bfb964827..5ccdddf6c1 100644
--- a/ipatests/test_webui/test_krbtpolicy.py
+++ b/ipatests/test_webui/test_krbtpolicy.py
@@ -55,3 +55,99 @@ def test_mod(self):
 
         self.mod_record(ENTITY, DATA)
         self.mod_record(ENTITY, DATA2)
+
+    @screenshot
+    def test_verifying_button(self):
+        """
+        verifying Revert, Refresh and Undo button
+        """
+        self.init_app()
+        self.navigate_to_entity(ENTITY)
+
+        # verifying Revert, Refresh and Undo button for max renewable age
+        self.button_reset('krbmaxrenewableage', '444800')
+
+        # verifying Revert, Refresh and Undo button for max ticket age
+        self.button_reset('krbmaxticketlife', '46400')
+
+    def button_reset(self, field, value):
+        """
+        testing "Revert", "Refresh" and "Undo" button
+        """
+        # verifying undo button
+        self.fill_textbox(field, value)
+        facet = self.get_facet()
+        s = ".input-group button[name='undo']"
+        self._button_click(s, facet)
+        self.verify_btn_action(field, value)
+        self.wait_for_request(n=2)
+
+        # verifying revert button
+        self.fill_textbox(field, value)
+        self.facet_button_click('revert')
+        self.verify_btn_action(field, value)
+        self.wait_for_request(n=2)
+
+        # verifying refresh button
+        self.fill_textbox(field, value)
+        self.facet_button_click('refresh')
+        self.verify_btn_action(field, value)
+        self.wait_for_request(n=2)
+
+    def verify_btn_action(self, field, mod_value, negative=True):
+        """
+        comparing current value with modified value
+        """
+        current_value = self.get_field_value(field, element="input")
+        if negative:
+            assert current_value != mod_value
+        else:
+            assert current_value == mod_value
+
+    @screenshot
+    def test_negative_value(self):
+        """
+        Negative test for Max renew
+        """
+        self.init_app()
+        self.navigate_to_entity(ENTITY)
+
+        # string used instead of integer
+        expected_error = 'Must be an integer'
+        value = 'nonInteger'
+        self.modify_policy(expected_error, value)
+
+        # bigger than max value
+        expected_error = 'Maximum value is 2147483647'
+        value = '2147483649'
+        self.modify_policy(expected_error, value)
+
+        # smaller than max value
+        expected_error = 'Minimum value is 1'
+        value = '-1'
+        self.modify_policy(expected_error, value)
+
+    def modify_policy(self, expected_error, value):
+        """
+        modifying kerberos policy values and asserting expected error
+        """
+        self.fill_textbox('krbmaxrenewableage', value)
+        self.wait_for_request()
+        self.assert_field_validation(expected_error)
+        self.facet_button_click('revert')
+        self.fill_textbox('krbmaxticketlife', value)
+        self.wait_for_request()
+        self.assert_field_validation(expected_error, field='krbmaxticketlife')
+        self.facet_button_click('revert')
+
+    @screenshot
+    def test_verify_measurement_unit(self):
+        """
+        verifying measurement unit for Max renew and Max life
+        """
+        self.init_app()
+        self.navigate_to_entity(ENTITY)
+        krbmaxrenewableage = self.get_text('label[name="krbmaxrenewableage"]')
+        krbmaxticketlife = self.get_text('label[name="krbmaxticketlife"]')
+        assert "Max renew (seconds)" in krbmaxrenewableage
+        assert "Max life (seconds)" in krbmaxticketlife
_______________________________________________
FreeIPA-devel mailing list -- freeipa-devel@lists.fedorahosted.org
To unsubscribe send an email to freeipa-devel-le...@lists.fedorahosted.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/freeipa-devel@lists.fedorahosted.org/message/GZOOR3NFUFSAALWUNDTYOTJVQHKPARN7/

Reply via email to