aboutsummaryrefslogtreecommitdiffstats
path: root/tests/uiTests/test_detailed_view.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/uiTests/test_detailed_view.py')
-rw-r--r--tests/uiTests/test_detailed_view.py292
1 files changed, 292 insertions, 0 deletions
diff --git a/tests/uiTests/test_detailed_view.py b/tests/uiTests/test_detailed_view.py
new file mode 100644
index 0000000..cc95d7c
--- /dev/null
+++ b/tests/uiTests/test_detailed_view.py
@@ -0,0 +1,292 @@
+
+# ============LICENSE_START==========================================
+# org.onap.vvp/test-engine
+# ===================================================================
+# Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+# ===================================================================
+#
+# Unless otherwise specified, all software contained herein is licensed
+# under the Apache License, Version 2.0 (the “License”);
+# you may not use this software except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+#
+#
+# Unless otherwise specified, all documentation contained herein is licensed
+# under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
+# you may not use this documentation except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://creativecommons.org/licenses/by/4.0/
+#
+# Unless required by applicable law or agreed to in writing, documentation
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# ============LICENSE_END============================================
+#
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+import uuid
+
+from iceci.decorator.exception_decor import exception
+from services.constants import Constants
+from services.helper import Helper
+from services.logging_service import LoggingServiceFactory
+from services.session import session
+from services.types import API, DB, Frontend
+from tests.uiTests.test_ui_base import TestUiBase
+
+
+logger = LoggingServiceFactory.get_logger()
+
+
+class TestDetailedView(TestUiBase):
+ '''
+ Name: test_detailed_view
+ Steps:
+ Create new User via SignUp request-->Login with This One--> build "activationUrl"-->
+ Validation of successful activate-->
+ close Wizard --> Logout-->login-->Open Wizard--> fill all fields in all Tab's(4)-->
+ build inviteURL from email--> reopen browser with inviteURL-->
+ Validate fields filled's in SignUp form
+ '''
+
+ user_content = None
+
+ @classmethod
+ def setUpClass(cls):
+ super(TestDetailedView, cls).setUpClass()
+ cls.user_content = API.VirtualFunction.create_engagement(
+ wait_for_gitlab=False)
+
+ @exception()
+ def test_detailed_view(self):
+ Frontend.User.login(
+ self.user_content['el_email'], Constants.Default.Password.TEXT)
+ Frontend.DetailedView.search_vf_and_go_to_detailed_view(self.user_content['engagement_manual_id'],
+ self.user_content['vfName'])
+ Frontend.DetailedView.validate_all_titles_on_dv_form()
+ logger.debug("Add Deployment Target")
+ Frontend.DetailedView.add_deployment_target(self.user_content)
+ logger.debug("Add VFC no.1")
+ Frontend.DetailedView.add_vfcs("djoni", "loka")
+ Frontend.DetailedView.remove_vfc(self.user_content)
+
+ @exception()
+ def test_update_aic_version(self):
+ Frontend.User.login(
+ self.user_content['email'], Constants.Default.Password.TEXT)
+ Frontend.DetailedView.search_vf_and_go_to_detailed_view(
+ self.user_content['engagement_manual_id'], self.user_content['vfName'])
+ Frontend.DetailedView.update_aic_version()
+ Frontend.DetailedView.validate_aic_version()
+
+ @exception()
+ def test_update_vf_version(self):
+ Frontend.User.login(
+ self.user_content['email'], Constants.Default.Password.TEXT)
+ Frontend.DetailedView.search_vf_and_go_to_detailed_view(
+ self.user_content['engagement_manual_id'], self.user_content['vfName'])
+ newVFVersionName = Frontend.DetailedView.update_vf_version()
+ Frontend.DetailedView.validate_vf_version(newVFVersionName)
+
+ '''
+ Add new ECOMP release to DB, go to detailed view and change ECOMP release and AIC version.
+ Verify changes are saved and presented in UI.
+ '''
+ @exception()
+ def test_edit_ecomp_release(self):
+ try:
+ EcompUuid = uuid.uuid4()
+ EcompName = Helper.rand_string("randomString")
+ DB.VirtualFunction.insert_ecomp_release(EcompUuid, EcompName)
+ Frontend.User.login(
+ self.user_content['email'], Constants.Default.Password.TEXT)
+ Frontend.DetailedView.search_vf_and_go_to_detailed_view(
+ self.user_content['engagement_manual_id'], self.user_content['vfName'])
+ Frontend.DetailedView.update_ecomp_release(EcompName)
+ Frontend.DetailedView.validate_ecomp_version()
+ finally:
+ DB.VirtualFunction.delete_ecomp_release(EcompUuid, EcompName)
+
+ @exception()
+ def test_role_for_deployment_targets(self):
+ users = [self.user_content['pr_email'],
+ self.user_content['el_email'], Constants.Users.Admin.EMAIL]
+ Frontend.DetailedView.validate_deployment_targets(
+ self.user_content, users)
+
+ @exception()
+ def test_add_and_remove_deployment_targets(self):
+ users = [self.user_content['el_email'], Constants.Users.Admin.EMAIL]
+ Frontend.DetailedView.add_remove_deployment_targets(
+ self.user_content, users)
+
+ @exception()
+ def test_negative_role_for_deployment_targets(self):
+ users = [self.user_content['email'], Constants.Users.AdminRO.EMAIL]
+ Frontend.DetailedView.validate_negative_role_for_deployment_targets(
+ self.user_content, users)
+
+ @exception()
+ def test_change_target_lab_entry(self):
+ Frontend.User.login(Constants.Users.Admin.EMAIL,
+ Constants.Default.Password.TEXT)
+ Frontend.DetailedView.search_vf_and_go_to_detailed_view(
+ self.user_content['engagement_manual_id'], self.user_content['vfName'])
+ date = Frontend.DetailedView.update_target_lab_entry()
+ Frontend.DetailedView.validate_target_lab_entry(date)
+
+ @exception()
+ def test_change_target_lab_entry_via_standard_user(self):
+ Frontend.User.login(
+ self.user_content['email'], Constants.Default.Password.TEXT)
+ Frontend.DetailedView.search_vf_and_go_to_detailed_view(
+ self.user_content['engagement_manual_id'], self.user_content['vfName'])
+ date = Frontend.DetailedView.update_target_lab_entry()
+ Frontend.DetailedView.validate_target_lab_entry(date)
+
+ @exception()
+ def test_aic_dropdown_ordering(self):
+ new_aic_version = None
+ try:
+ DB.VirtualFunction.change_aic_version_weight(10, 0)
+ new_aic_version = DB.VirtualFunction.insert_aic_version()
+ Frontend.User.login(
+ self.user_content['el_email'], Constants.Default.Password.TEXT)
+ Frontend.DetailedView.search_vf_and_go_to_detailed_view(self.user_content['engagement_manual_id'],
+ self.user_content['vfName'])
+ Frontend.DetailedView.click_on_update_aic_version()
+ Helper.internal_assert(Frontend.General.get_meta_order_of_element(
+ Constants.Dashboard.DetailedView.AIC.Dropdown.UniversalVersion.ID % new_aic_version['version']), 0)
+ finally:
+ if new_aic_version:
+ DB.VirtualFunction.delete_aic_version(new_aic_version['uuid'])
+ DB.VirtualFunction.change_aic_version_weight(0, 10)
+
+ @exception()
+ def test_ecomp_dropdown_ordering(self):
+ new_ecomp_release = None
+ try:
+ new_ecomp_release = {
+ "uuid": uuid.uuid4(), "name": Helper.rand_string()}
+ DB.VirtualFunction.change_ecomp_release_weight(10, 0)
+ DB.VirtualFunction.insert_ecomp_release(
+ new_ecomp_release['uuid'], new_ecomp_release['name'])
+ Frontend.User.login(
+ self.user_content['el_email'], Constants.Default.Password.TEXT)
+ Frontend.DetailedView.search_vf_and_go_to_detailed_view(
+ self.user_content['engagement_manual_id'], self.user_content['vfName'])
+ Frontend.DetailedView.click_on_update_ecomp_release()
+ Helper.internal_assert(Frontend.General.get_meta_order_of_element(
+ Constants.Dashboard.DetailedView.ECOMP.Dropdown.UniversalRelease.ID % new_ecomp_release['name']), 0)
+ finally:
+ if new_ecomp_release:
+ DB.VirtualFunction.delete_ecomp_release(
+ new_ecomp_release['uuid'], new_ecomp_release['name'])
+ DB.VirtualFunction.change_ecomp_release_weight(0, 10)
+
+ @exception()
+ def test_retire_aic_version(self):
+ new_aic_version = None
+ try:
+ new_aic_version = DB.VirtualFunction.insert_aic_version("FALSE")
+ Frontend.User.login(
+ self.user_content['el_email'], Constants.Default.Password.TEXT)
+ Frontend.DetailedView.search_vf_and_go_to_detailed_view(
+ self.user_content['engagement_manual_id'], self.user_content['vfName'])
+ Frontend.DetailedView.click_on_update_aic_version()
+ session.run_negative(lambda: Frontend.General.get_meta_order_of_element(
+ Constants.Dashboard.DetailedView.AIC.Dropdown.UniversalVersion.ID % new_aic_version['version']),
+ "New AIC version was found in dropdown.")
+ finally:
+ if new_aic_version:
+ DB.VirtualFunction.delete_aic_version(new_aic_version['uuid'])
+
+ @exception()
+ def test_retire_ecomp_release(self):
+ new_ecomp_release = None
+ try:
+ new_ecomp_release = {
+ "uuid": uuid.uuid4(), "name": Helper.rand_string(), "ui_visibility": "FALSE"}
+ DB.VirtualFunction.insert_ecomp_release(
+ new_ecomp_release['uuid'], new_ecomp_release['name'], new_ecomp_release['ui_visibility'])
+ Frontend.User.login(
+ self.user_content['el_email'], Constants.Default.Password.TEXT)
+ Frontend.DetailedView.search_vf_and_go_to_detailed_view(
+ self.user_content['engagement_manual_id'], self.user_content['vfName'])
+ Frontend.DetailedView.click_on_update_ecomp_release()
+ session.run_negative(lambda: Frontend.General.get_meta_order_of_element(
+ Constants.Dashboard.DetailedView.ECOMP.Dropdown.UniversalRelease.ID % new_ecomp_release['name']), "New ECOMP release was found in dropdown.")
+ finally:
+ if new_ecomp_release:
+ DB.VirtualFunction.delete_ecomp_release(
+ new_ecomp_release['uuid'], new_ecomp_release['name'])
+
+ @exception()
+ def test_retire_selected_aic_version(self):
+ old_aic_version_uuid = new_aic_version = None
+ try:
+ old_aic_version_uuid = DB.VirtualFunction.select_aic_version_uuid(
+ self.user_content['target_aic'])
+ new_aic_version = DB.VirtualFunction.insert_aic_version("FALSE")
+ self.user_content['session_token'] = "token " + \
+ API.User.login_user(self.user_content['el_email'])
+ API.VirtualFunction.update_aic_version(
+ self.user_content['engagement_uuid'], new_aic_version['uuid'], self.user_content['session_token'])
+ Frontend.User.login(
+ self.user_content['el_email'], Constants.Default.Password.TEXT)
+ Frontend.DetailedView.search_vf_and_go_to_detailed_view(
+ self.user_content['engagement_manual_id'], self.user_content['vfName'])
+ Frontend.DetailedView.compare_aic_selected_version(
+ new_aic_version['version'])
+ Frontend.DetailedView.click_on_update_aic_version()
+ Frontend.DetailedView.validate_deprecated_aic_version_in_dropdown(
+ new_aic_version['version'])
+ finally:
+ if old_aic_version_uuid:
+ API.VirtualFunction.update_aic_version(
+ self.user_content['engagement_uuid'], old_aic_version_uuid, self.user_content['session_token'])
+ if new_aic_version:
+ DB.VirtualFunction.delete_aic_version(
+ new_aic_version['uuid'])
+
+ @exception()
+ def test_retire_selected_ecomp_release(self):
+ old_ecomp_release_uuid = new_ecomp_release = None
+ try:
+ old_ecomp_release_uuid = DB.VirtualFunction.select_ecomp_release_uuid(
+ self.user_content['ecomp_release'])
+ new_ecomp_release = {"uuid": str(
+ uuid.uuid4()), "name": Helper.rand_string(), "ui_visibility": "FALSE"}
+ DB.VirtualFunction.insert_ecomp_release(
+ new_ecomp_release['uuid'], new_ecomp_release['name'], new_ecomp_release['ui_visibility'])
+ self.user_content['session_token'] = "token " + \
+ API.User.login_user(self.user_content['el_email'])
+ API.VirtualFunction.update_ecomp_release(
+ self.user_content['engagement_uuid'], new_ecomp_release['uuid'], self.user_content['session_token'])
+ Frontend.User.login(
+ self.user_content['el_email'], Constants.Default.Password.TEXT)
+ Frontend.DetailedView.search_vf_and_go_to_detailed_view(
+ self.user_content['engagement_manual_id'], self.user_content['vfName'])
+ Frontend.DetailedView.compare_selected_ecomp_release(
+ new_ecomp_release['name'])
+ Frontend.DetailedView.click_on_update_ecomp_release()
+ Frontend.DetailedView.validate_deprecated_ecomp_release_in_dropdown(
+ new_ecomp_release['name'])
+ finally:
+ if self.user_content and old_ecomp_release_uuid:
+ API.VirtualFunction.update_ecomp_release(
+ self.user_content['engagement_uuid'], old_ecomp_release_uuid, self.user_content['session_token'])
+ DB.VirtualFunction.delete_ecomp_release(
+ new_ecomp_release['uuid'], new_ecomp_release['name'])