aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/__init__.py38
-rw-r--r--tests/apiTests/__init__.py38
-rw-r--r--tests/apiTests/test_api_base.py114
-rw-r--r--tests/apiTests/test_negative_requests.py320
-rw-r--r--tests/signalTests/__init__.py38
-rw-r--r--tests/signalTests/test_checklist_signal.py68
-rw-r--r--tests/signalTests/test_git_signal.py381
-rw-r--r--tests/signalTests/test_signal_base.py116
-rw-r--r--tests/uiTests/__init__.py38
-rw-r--r--tests/uiTests/geckodriver.log392
-rw-r--r--tests/uiTests/test_admin_dropdown.py197
-rw-r--r--tests/uiTests/test_admin_section.py81
-rw-r--r--tests/uiTests/test_bucket_e2e.py150
-rw-r--r--tests/uiTests/test_bucket_url.py75
-rw-r--r--tests/uiTests/test_checklist_validations.py333
-rw-r--r--tests/uiTests/test_cms_news_and_announcementsion.py174
-rw-r--r--tests/uiTests/test_dashboard_feature.py164
-rw-r--r--tests/uiTests/test_detailed_view.py338
-rw-r--r--tests/uiTests/test_edit_checklist_template.py110
-rw-r--r--tests/uiTests/test_export_excel.py73
-rw-r--r--tests/uiTests/test_feedback_modal.py67
-rw-r--r--tests/uiTests/test_invitations_and_throttle_logic.py194
-rw-r--r--tests/uiTests/test_left_nav_panel.py219
-rw-r--r--tests/uiTests/test_login_with_new_user.py650
-rw-r--r--tests/uiTests/test_next_step.py262
-rw-r--r--tests/uiTests/test_notification_for_new_user.py109
-rw-r--r--tests/uiTests/test_overview.py69
-rw-r--r--tests/uiTests/test_portal_homepage.py56
-rw-r--r--tests/uiTests/test_progress_bar.py95
-rw-r--r--tests/uiTests/test_rados_perms.py113
-rw-r--r--tests/uiTests/test_remove_user_from_eng.py154
-rw-r--r--tests/uiTests/test_reset_password.py85
-rw-r--r--tests/uiTests/test_rgwa_credentials.py80
-rw-r--r--tests/uiTests/test_sanity.py194
-rw-r--r--tests/uiTests/test_set_stage.py160
-rw-r--r--tests/uiTests/test_ssh_key.py97
-rw-r--r--tests/uiTests/test_ui_base.py167
-rw-r--r--tests/uiTests/test_user_profile_settings.py78
-rw-r--r--tests/uiTests/test_validate_signup.py113
39 files changed, 0 insertions, 6200 deletions
diff --git a/tests/__init__.py b/tests/__init__.py
deleted file mode 100644
index 32b601a..0000000
--- a/tests/__init__.py
+++ /dev/null
@@ -1,38 +0,0 @@
-
-# ============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.
diff --git a/tests/apiTests/__init__.py b/tests/apiTests/__init__.py
deleted file mode 100644
index 32b601a..0000000
--- a/tests/apiTests/__init__.py
+++ /dev/null
@@ -1,38 +0,0 @@
-
-# ============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.
diff --git a/tests/apiTests/test_api_base.py b/tests/apiTests/test_api_base.py
deleted file mode 100644
index 5fad138..0000000
--- a/tests/apiTests/test_api_base.py
+++ /dev/null
@@ -1,114 +0,0 @@
-
-# ============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 logging
-import sys
-from timeit import default_timer as timer
-
-from django.test import TestCase
-import requests
-from requests.packages.urllib3.exceptions import InsecureRequestWarning
-
-from iceci.decorator.logFuncEntry import logFuncEntry
-from services.database.db_general import DBGeneral
-from services.helper import Helper
-from services.logging_service import LoggingServiceFactory
-from services.session import session
-
-
-requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
-
-
-logger = LoggingServiceFactory.get_logger()
-stream_handler = logging.StreamHandler(sys.stdout)
-
-
-class TestApiBase(TestCase, Helper):
-
- @logFuncEntry
- def setUp(self):
- logger.addHandler(stream_handler)
- self.fullClassName = __name__
- self.className = self.__class__.__name__
- logger.debug("---------------------- TestCase " +
- self.className + " ----------------------")
-
- self.startTime = timer()
- self.funcName = self._testMethodName
- self.testName = self.funcName
-
- @logFuncEntry
- def tearDown(self):
- self.endTime = timer()
- self.testDuration = str(self.endTime - self.startTime)
- self.results()
- logger.debug("---------------------- TestCase " +
- self.className + " ----------------------\n\n")
- try:
- logging.getLogger().info("BB")
- finally:
- logger.removeHandler(stream_handler)
- session.errorList = ""
- session.errorCounter = 0
-
- @logFuncEntry
- def results(self):
- params = {
- "testType": "E2E Test",
- "testFeature": self.className,
- "testResult": "PASS",
- "testName": self.funcName,
- "duration": self.testDuration}
- if (session.errorCounter == 0):
- DBGeneral.insert_results(
- params["testType"],
- params["testFeature"],
- params["testResult"],
- params["testName"],
- params['duration'])
- else:
- params["testResult"] = "FAIL" # Mark test as fail.
- # Add the errors to notes column in table.
- params["notes"] = session.errorList
- DBGeneral.insert_results(
- params["testType"],
- params["testFeature"],
- params["testResult"],
- params["testName"],
- params['duration'],
- params["notes"])
diff --git a/tests/apiTests/test_negative_requests.py b/tests/apiTests/test_negative_requests.py
deleted file mode 100644
index 9efb69e..0000000
--- a/tests/apiTests/test_negative_requests.py
+++ /dev/null
@@ -1,320 +0,0 @@
-
-# ============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.
-from django.conf import settings
-
-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.types import API
-from tests.apiTests.test_api_base import TestApiBase
-
-
-logger = LoggingServiceFactory.get_logger()
-
-
-class TestNegativeRequests(TestApiBase, Helper):
-
- @exception()
- def test_negative_invite_member(self):
- logger.debug(
- "This negative test will try to invite team " +
- "member to an engagement using other auth token.")
- user_a = API.VirtualFunction.create_engagement()
- user_b = API.VirtualFunction.create_engagement()
- user_a['session_token'] = user_b['session_token']
- try:
- logger.debug(
- "About to invite team member to the engagement of user " +
- user_a['full_name'])
- API.VirtualFunction.invite_team_member(user_a)
- raise Exception(
- user_a['full_name'] +
- " has invited user using other auth token.")
- except BaseException:
- logger.debug(
- "Success! Test failed to invite user using other auth token.")
-
- @exception()
- def test_negative_add_contact(self):
- logger.debug(
- "This negative test will try to add contact to " +
- "an engagement using other auth token.")
- user_a = API.VirtualFunction.create_engagement()
- user_b = API.VirtualFunction.create_engagement()
- user_a['session_token'] = user_b['session_token']
- try:
- logger.debug(
- "About to invite contact to the engagement of user " +
- user_a['full_name'])
- API.VirtualFunction.add_contact(user_a)
- raise Exception(
- user_a['full_name'] +
- " has invited contact user using other auth token.")
- except BaseException:
- logger.debug(
- "Success! Test failed to invite contact " +
- "user using other auth token.")
-
- @exception()
- def test_negative_add_next_step(self):
- logger.debug(
- "This negative test will try to add a next step to engagement " +
- "using PR / standard user / admin_ro auth token.")
- user_content = API.VirtualFunction.create_engagement()
- users = [user_content['email'], user_content[
- 'pr_email'], Constants.Users.AdminRO.EMAIL]
- for user in users:
- token = "token " + API.User.login_user(user)
- user_content['session_token'] = token
- try:
- logger.debug(
- "About to add a next step to VF " +
- user_content['vfName'] +
- " using " +
- user +
- " token.")
- API.VirtualFunction.add_next_step(user_content)
- raise Exception(
- "Next step was added to VF " +
- user_content['vfName'] +
- " using " +
- user +
- " token.")
- except BaseException:
- logger.debug(
- "Success! Test failed to add a new next step to the " +
- "engagement using other auth token.")
-
- @exception()
- def test_negative_edit_next_step(self):
- logger.debug(
- "This negative test will try to edit a next step using PR / " +
- "standard user / admin_ro auth token.")
- user_content = API.VirtualFunction.create_engagement()
- token = "token " + API.User.login_user(user_content['el_email'])
- user_content['session_token'] = token
- ns_uuid = API.VirtualFunction.add_next_step(user_content)
- users = [user_content['email'], user_content[
- 'pr_email'], Constants.Users.AdminRO.EMAIL]
- for user in users:
- token = "token " + API.User.login_user(user)
- user_content['session_token'] = token
- try:
- logger.debug(
- "About to edit a next step (ns uuid: " +
- ns_uuid +
- ") using " +
- user +
- " token.")
- API.VirtualFunction.edit_next_step(user_content, ns_uuid)
- raise Exception(
- "Next step was edited using " + user + " token.")
- except BaseException:
- logger.debug(
- "Success! Test failed to edit a next step using " +
- "other auth token.")
-
- @exception()
- def test_negative_create_checklist(self):
- user_content = API.VirtualFunction.create_engagement()
- logger.debug(
- "This negative test will try to create a checklist " +
- "using PR / standard user / admin_ro auth token.")
- users = [user_content['email'], user_content[
- 'pr_email'], Constants.Users.AdminRO.EMAIL]
- for user in users:
- token = "token " + API.User.login_user(user)
- user_content['session_token'] = token
- try:
- logger.debug(
- "About to create checklist for VF " +
- user_content['vfName'])
- API.Checklist.create_checklist(user_content)
- raise Exception(
- "Checklist was created using " + user + " token.")
- except BaseException:
- logger.debug(
- "Success! Test failed to create checklist using other " +
- "auth token.")
-
- @exception()
- def test_negative_update_checklist(self):
- user_content = API.VirtualFunction.create_engagement()
- API.GitLab.git_clone_push(user_content)
- logger.debug(
- "Create checklist with engagement lead (next: try to edit " +
- "checklist with PR and standard user)")
- token = "token " + API.User.login_user(user_content['el_email'])
- user_content['session_token'] = token
- cl_content = API.Checklist.create_checklist(user_content)
- logger.debug(
- "This negative test will try to create a checklist using PR / " +
- "standard user / admin_ro auth token.")
- users = [user_content['email'], user_content[
- 'pr_email'], Constants.Users.AdminRO.EMAIL]
- for user in users:
- token = "token " + API.User.login_user(user)
- user_content['session_token'] = token
- try:
- logger.debug(
- "About to update checklist for VF " +
- user_content['vfName'])
- API.Checklist.update_checklist(
- user_content, cl_content['uuid'])
- raise Exception(
- "Checklist was created using " + user + " token.")
- except BaseException:
- logger.debug(
- "Success! Test failed to create checklist using other " +
- "auth token.")
-
- @exception()
- def test_negative_set_checklist_state(self):
- user_content = API.VirtualFunction.create_engagement()
- API.GitLab.git_clone_push(user_content)
- logger.debug(
- "Create checklist with engagement lead (next: try to change " +
- "checklist state with PR, standard user and admin_ro)")
- token = "token " + API.User.login_user(user_content['el_email'])
- user_content['session_token'] = token
- cl_content = API.Checklist.create_checklist(user_content)
- logger.debug(
- "This negative test will try to change checklist state using " +
- "PR / standard user / admin_ro auth token.")
- users = [user_content['email'], user_content[
- 'pr_email'], Constants.Users.AdminRO.EMAIL]
- for user in users:
- try:
- logger.debug(
- "About to change checklist state for VF " +
- user_content['vfName'])
- API.Checklist.jump_state(cl_content['uuid'], user)
- raise Exception(
- "Checklist state was changed using " + user + " token.")
- except BaseException:
- logger.debug(
- "Success! Test failed to change checklist state using " +
- "other auth token.")
-
- @exception()
- def test_add_checklist_audit_log(self):
- user_content = API.VirtualFunction.create_engagement()
- logger.debug(
- "Create checklist with engagement lead (next: try to add audit " +
- "log to checklist with standard user and admin_ro)")
- token = "token " + API.User.login_user(user_content['el_email'])
- user_content['session_token'] = token
- cl_content = API.Checklist.create_checklist(user_content, files=[])
- logger.debug(
- "This negative test will try to add audit log to checklist " +
- "using standard user / admin_ro auth token.")
- users = [user_content['email'], Constants.Users.AdminRO.EMAIL]
- for user in users:
- token = "token " + API.User.login_user(user)
- user_content['session_token'] = token
- try:
- logger.debug(
- "About to add audit log to checklist uuid " +
- cl_content['uuid'])
- API.Checklist.add_checklist_audit_log(
- user_content, cl_content['uuid'])
- raise Exception(
- "Audit log was added to checklist using " +
- user +
- " token.")
- except BaseException:
- logger.debug(
- "Success! Test failed to add audit log to checklist " +
- "using other auth token.")
-
- @exception()
- def test_add_checklist_next_step(self):
- user_content = API.VirtualFunction.create_engagement()
- API.GitLab.git_clone_push(user_content)
- logger.debug(
- "Create checklist with engagement lead (next: try to add " +
- "checklist next step with PR, standard user and admin_ro)")
- token = "token " + API.User.login_user(user_content['el_email'])
- user_content['session_token'] = token
- cl_content = API.Checklist.create_checklist(user_content)
- logger.debug(
- "This negative test will try to add checklist next step using " +
- "PR / standard user / admin_ro auth token.")
- users = [user_content['email'], user_content[
- 'pr_email'], Constants.Users.AdminRO.EMAIL]
- for user in users:
- token = "token " + API.User.login_user(user)
- user_content['session_token'] = token
- try:
- logger.debug(
- "About to add next step to checklist uuid " +
- cl_content['uuid'])
- API.Checklist.add_checklist_next_step(
- user_content, cl_content['uuid'])
- raise Exception(
- "Next step was added to checklist using " +
- user +
- " token.")
- except BaseException:
- logger.debug(
- "Success! Test failed to add next steps to checklist " +
- "using other auth token.")
-
- @exception()
- def test_negative_checklist_files(self):
- # Can't run this test locally since locally we have files by default.
- if settings.DATABASE_TYPE == 'local':
- logger.debug("Local environment, skipping test...")
- else: # Test starts here #
- user_content = API.VirtualFunction.create_engagement()
- logger.debug(
- "Trying to create checklist with associated files when " +
- "git repo is empty")
- token = "token " + API.User.login_user(user_content['el_email'])
- user_content['session_token'] = token
- try:
- API.Checklist.create_checklist(user_content)
- raise Exception(
- "Checklist was created with associated files while " +
- "git repo is empty.")
- except BaseException:
- logger.debug(
- "Success! Test failed to create checklist with " +
- "associated files while git repo is empty.")
diff --git a/tests/signalTests/__init__.py b/tests/signalTests/__init__.py
deleted file mode 100644
index 32b601a..0000000
--- a/tests/signalTests/__init__.py
+++ /dev/null
@@ -1,38 +0,0 @@
-
-# ============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.
diff --git a/tests/signalTests/test_checklist_signal.py b/tests/signalTests/test_checklist_signal.py
deleted file mode 100644
index 0e84140..0000000
--- a/tests/signalTests/test_checklist_signal.py
+++ /dev/null
@@ -1,68 +0,0 @@
-# ============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.
-
-
-from django.conf import settings
-
-from iceci.decorator.exception_decor import exception
-from services.constants import Constants
-from services.logging_service import LoggingServiceFactory
-from services.types import API, DB
-from tests.signalTests.test_signal_base import TestSignalBase
-
-
-logger = LoggingServiceFactory.get_logger()
-
-
-class TestChecklistSignal(TestSignalBase):
-
- @exception()
- def test_archive_checklist_after_editing_files(self):
- if settings.DATABASE_TYPE == 'local':
- logger.debug("Local environment, skipping test...")
- else:
- user_content = API.VirtualFunction.create_engagement()
- API.GitLab.git_clone_push(user_content)
- token = "token " + API.User.login_user(user_content['el_email'])
- user_content['session_token'] = token
- cl_content = API.Checklist.create_checklist(user_content)
- API.GitLab.git_push_commit(user_content)
- DB.Checklist.state_changed(
- "uuid",
- cl_content['uuid'],
- Constants.ChecklistStates.Archive.TEXT)
diff --git a/tests/signalTests/test_git_signal.py b/tests/signalTests/test_git_signal.py
deleted file mode 100644
index ada7db2..0000000
--- a/tests/signalTests/test_git_signal.py
+++ /dev/null
@@ -1,381 +0,0 @@
-
-# ============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.
-'''
-Created on 16 Nov 2016
-
-'''
-from django.conf import settings
-from iceci.decorator.exception_decor import exception
-from services.api.api_virtual_function import APIVirtualFunction
-from services.constants import Constants, ServiceProvider
-from services.logging_service import LoggingServiceFactory
-from services.types import API
-from tests.signalTests.test_signal_base import TestSignalBase
-
-
-logger = LoggingServiceFactory.get_logger()
-
-
-class TestGitSignal(TestSignalBase):
-
- @exception()
- def test_create_eng(self):
-
- if settings.DATABASE_TYPE == 'local':
- logger.debug("Local environment, skipping test...")
- else:
- user_content = API.VirtualFunction.create_engagement()
- path_with_namespace = user_content[
- 'engagement_manual_id'] + "%2F" + user_content['vfName']
- API.GitLab.get_git_project(path_with_namespace)
- if not API.GitLab.validate_git_project_members(
- path_with_namespace, user_content['el_email']):
- logger.error("Couldn't find user in GitLab response.")
- raise
- logger.debug(
- "Project was created successfully on GitLab. ELs included")
- try:
- job_name = user_content[
- 'vfName'] + "_" + user_content['engagement_manual_id']
- API.Jenkins.get_jenkins_job(job_name)
- except Exception as e:
- logger.error(
- "_-_-_-_- Unexpected error in test_create_eng: " + str(e))
- raise Exception("Job wasnt created on APIJenkins." + str(e))
-
- @exception()
- def test_update_account(self):
-
- if settings.DATABASE_TYPE == 'local':
- logger.debug("Local environment, skipping test...")
- else:
- user_content = API.VirtualFunction.create_engagement()
- sshKey = API.User.update_account(user_content)
- git_user = API.GitLab.get_git_user(user_content['email'])
- git_user_pub_key = API.GitLab.get_git_user_ssh_key(git_user['id'])
- if sshKey != git_user_pub_key:
- logger.error(
- "The SSH Key received does not " +
- "equal to the one provided! The key from GitLab:\n" +
- git_user_pub_key)
- raise
- logger.debug(
- "SSH Key for user " +
- user_content['full_name'] +
- " added to GitLab.")
-
- @exception()
- def test_set_ssh(self):
-
- if settings.DATABASE_TYPE == 'local':
- logger.debug("Local environment, skipping test...")
- else:
- user_content = API.VirtualFunction.create_engagement()
- sshKey = API.User.set_ssh(user_content)
- git_user = API.GitLab.get_git_user(user_content['email'])
- git_user_pub_key = API.GitLab.get_git_user_ssh_key(git_user['id'])
- if sshKey != git_user_pub_key:
- logger.error(
- "The SSH Key received does not equal" +
- " to the one provided! The key from GitLab:\n" +
- git_user_pub_key)
- raise
- logger.debug(
- "SSH Key for user " +
- user_content['full_name'] +
- " added to GitLab.")
-
- @exception()
- def test_invite_member(self):
- if settings.DATABASE_TYPE == 'local':
- logger.debug("Local environment, skipping test...")
- else:
- user_content = API.VirtualFunction.create_engagement()
- invited_email, invite_token,\
- invite_url = API.VirtualFunction.invite_team_member(
- user_content)
- second_user = API.User.signup_invited_user(
- user_content[
- 'vendor'], invited_email, invite_token, invite_url,
- user_content, activate=True)
- APIVirtualFunction.set_eng_stage(
- user_content, Constants.EngagementStages.ACTIVE)
- path_with_namespace = user_content[
- 'engagement_manual_id'] + "%2F" + user_content['vfName']
- if not API.GitLab.validate_git_project_members(
- path_with_namespace, user_content['email']):
- raise Exception(
- "Couldn't find the inviter user (%s) in GitLab." %
- user_content['email'])
- if not API.GitLab.validate_git_project_members(
- path_with_namespace, second_user['email']):
- raise Exception(
- "Couldn't find the inviter user (%s) in GitLab." %
- second_user['email'])
- logger.debug(
- "Inviter and invited users " +
- "were created successfully on GitLab!")
-
- @exception()
- def test_add_contact(self):
- if settings.DATABASE_TYPE == 'local':
- logger.debug("Local environment, skipping test...")
- else:
- user_content = API.VirtualFunction.create_engagement()
- APIVirtualFunction.set_eng_stage(
- user_content, Constants.EngagementStages.ACTIVE)
- path_with_namespace = user_content[
- 'engagement_manual_id'] + "%2F" + user_content['vfName']
- API.GitLab.get_git_project(path_with_namespace)
- if not API.GitLab.validate_git_project_members(
- path_with_namespace, user_content['email']):
- raise Exception(
- "Couldn't find the inviter user (%s) in GitLab." %
- user_content['email'])
- second_user_email, invite_token, \
- invite_url = API.VirtualFunction.add_contact(
- user_content)
- second_user = API.User.signup_invited_user(
- ServiceProvider.MainServiceProvider,
- second_user_email,
- invite_token,
- invite_url,
- user_content,
- "true",
- True)
- if API.GitLab.validate_git_project_members(
- path_with_namespace, second_user_email):
- logger.debug(
- "Invited contact user " +
- second_user['full_name'] +
- " found in GitLab.")
- else:
- raise Exception("Couldn't find the invited user in GitLab.")
- logger.debug(
- "Inviter and invited users were " +
- "created successfully on GitLab!")
-
- @exception()
- def test_join_of_staff_users_to_new_gitlab_repo(self):
- if settings.DATABASE_TYPE == 'local':
- logger.debug("Local environment, skipping test...")
- else:
- user_content = API.VirtualFunction.create_engagement()
- path_with_namespace = user_content[
- 'engagement_manual_id'] + "%2F" + user_content['vfName']
- eng_team_users_emails = [
- user_content['el_email'],
- user_content['pr_email'],
- Constants.Users.Admin.EMAIL]
- API.GitLab.are_all_list_users_registered_as_project_members(
- eng_team_users_emails, path_with_namespace)
- logger.debug("Staff users were added " +
- "successfully to GitLab repo!")
-
- @exception()
- def test_join_of_stn_users_to_new_rep_after_active(self):
- if settings.DATABASE_TYPE == 'local':
- logger.debug("Local environment, skipping test...")
- else:
- user_content = API.VirtualFunction.create_engagement()
- path_with_namespace = user_content[
- 'engagement_manual_id'] + "%2F" + user_content['vfName']
- # invite 2 new users in order to join standard users in the eng
- # team
- invited_email_address, invite_token, \
- invite_url = API.VirtualFunction.invite_team_member(
- user_content)
- invited_email_address = API.User.signup_invited_user(
- user_content['vendor'],
- invited_email_address,
- invite_token,
- invite_url,
- user_content)
-
- second_invited_email, second_invite_token, \
- second_invite_url = API.VirtualFunction.invite_team_member(
- user_content)
- second_invited_email = API.User.signup_invited_user(
- user_content['vendor'],
- second_invited_email,
- second_invite_token,
- second_invite_url,
- user_content)
-
- API.VirtualFunction.set_eng_stage(
- user_content, Constants.EngagementStages.ACTIVE)
- eng_team_users_emails = [
- invited_email_address['email'],
- second_invited_email['email'],
- user_content['email'],
- user_content['el_email'],
- user_content['pr_email'],
- Constants.Users.Admin.EMAIL]
-
- API.GitLab.are_all_list_users_registered_as_project_members(
- eng_team_users_emails, path_with_namespace)
- logger.debug(
- "Staff, Inviter and invited users were " +
- "added successfully to GitLab repo!")
-
- @exception()
- def test_rem_users_from_repo_after_active_and_validated(self):
- if settings.DATABASE_TYPE == 'local':
- logger.debug("Local environment, skipping test...")
- else:
- user_content = API.VirtualFunction.create_engagement()
- # invite 2 new users in order to join standard users in the eng
- # team
- invited_email_address, invite_token, invite_url\
- = API.VirtualFunction.invite_team_member(user_content)
- invited_email_address = API.User.signup_invited_user(
- user_content['vendor'],
- invited_email_address,
- invite_token,
- invite_url,
- user_content)
-
- second_invited_email, second_invite_token, \
- second_invite_url = API.VirtualFunction.invite_team_member(
- user_content)
- second_invited_email = API.User.signup_invited_user(
- user_content['vendor'],
- second_invited_email,
- second_invite_token,
- second_invite_url,
- user_content)
-
- # change eng stage in order to include all standard users in the
- # eng git lab repo
- API.VirtualFunction.set_eng_stage(
- user_content, Constants.EngagementStages.ACTIVE)
- API.VirtualFunction.set_eng_stage(
- user_content, Constants.EngagementStages.VALIDATED)
- path_with_namespace = user_content[
- 'engagement_manual_id'] + "%2F" + user_content['vfName']
-
- # check that all standard users, staff users and admin are in the
- # git lab repo
- API.GitLab.get_git_project(path_with_namespace)
- eng_team_users_emails = [
- user_content['el_email'],
- user_content['pr_email'],
- Constants.Users.Admin.EMAIL]
- should_not_be_in_repo_users_list = [
- invited_email_address['email'], user_content['email']]
- for email in eng_team_users_emails:
- if not API.GitLab.validate_git_project_members(
- path_with_namespace, email):
- if email not in should_not_be_in_repo_users_list:
- raise Exception(
- "Couldn't find the invited users: " + email +
- " in GitLab.")
-
- logger.debug(
- "Invited user: " +
- email +
- " and" +
- second_invited_email['full_name'] +
- " found in GitLab.")
- logger.debug(
- "Inviter and invited users were created " +
- "successfully on GitLab!")
-
- @exception()
- def test_rem_users_from_repo_after_completed(self):
- if settings.DATABASE_TYPE == 'local':
- logger.debug("Local environment, skipping test...")
- else:
- user_content = API.VirtualFunction.create_engagement()
- # invite 2 new users in order to join standard users in the eng
- # team
- invited_email, invite_token, \
- invite_url = API.VirtualFunction.invite_team_member(
- user_content)
- invited_email = API.User.signup_invited_user(
- user_content['vendor'], invited_email, invite_token,
- invite_url, user_content)
-
- second_invited_email, second_invite_token, \
- second_invite_url = API.VirtualFunction.invite_team_member(
- user_content)
- second_invited_email = API.User.signup_invited_user(
- user_content['vendor'],
- second_invited_email,
- second_invite_token,
- second_invite_url,
- user_content)
-
- # change eng stage in order to include all standard users in the
- # eng git lab repo
- API.VirtualFunction.set_eng_stage(
- user_content, Constants.EngagementStages.ACTIVE)
- API.VirtualFunction.set_eng_stage(
- user_content, Constants.EngagementStages.VALIDATED)
- API.VirtualFunction.set_eng_stage(
- user_content, Constants.EngagementStages.COMPLETED)
- path_with_namespace = user_content[
- 'engagement_manual_id'] + "%2F" + user_content['vfName']
-
- # check that all standard users, staff users and admin are in the
- # git lab repo
- API.GitLab.get_git_project(path_with_namespace)
- eng_team_users_emails = [
- user_content['el_email'],
- user_content['pr_email'],
- Constants.Users.Admin.EMAIL]
- should_not_be_in_repo_users_list = [
- invited_email['email'], user_content['email']]
- for email in eng_team_users_emails:
- if not API.GitLab.validate_git_project_members(
- path_with_namespace, email):
- if email not in should_not_be_in_repo_users_list:
- raise Exception(
- "Couldn't find the user: " +
- email + " in GitLab.")
-
- logger.debug(
- "Invited user: " +
- email +
- " and" +
- second_invited_email['full_name'] +
- " found in GitLab.")
- logger.debug(
- "Inviter and invited users were created " +
- "successfully on GitLab!")
diff --git a/tests/signalTests/test_signal_base.py b/tests/signalTests/test_signal_base.py
deleted file mode 100644
index 841a855..0000000
--- a/tests/signalTests/test_signal_base.py
+++ /dev/null
@@ -1,116 +0,0 @@
-
-# ============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.
-'''
-Created on 15 Nov 2016
-
-@author: tomerc
-'''
-import sys
-from timeit import default_timer as timer
-import unittest
-import logging
-import requests
-from requests.packages.urllib3.exceptions import InsecureRequestWarning
-
-from iceci.decorator.logFuncEntry import logFuncEntry
-from services.database.db_general import DBGeneral
-from services.helper import Helper
-from services.logging_service import LoggingServiceFactory
-from services.session import session
-
-
-requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
-
-
-logger = LoggingServiceFactory.get_logger()
-stream_handler = logging.StreamHandler(sys.stdout)
-
-
-class TestSignalBase(unittest.TestCase, Helper):
-
- def setUp(self):
- logger.addHandler(stream_handler)
- self.fullClassName = __name__
- self.className = self.__class__.__name__
- logger.debug("---------------------- TestCase " +
- self.className + " ----------------------")
-
- self.startTime = timer()
- self.funcName = self._testMethodName
- self.testName = self.funcName
-
- def tearDown(self):
- self.endTime = timer()
- self.testDuration = str(self.endTime - self.startTime)
- self.results()
- logger.debug("---------------------- TestCase " +
- self.className + " ----------------------\n\n")
- try:
- logging.getLogger().info("BB")
- finally:
- logger.removeHandler(stream_handler)
- session.errorList = ""
- session.errorCounter = 0
-
- @logFuncEntry
- def results(self):
- params = {
- "testType": "E2E Test",
- "testFeature": self.className,
- "testResult": "PASS",
- "testName": self.funcName,
- "duration": self.testDuration}
- if (session.errorCounter == 0):
- DBGeneral.insert_results(
- params["testType"],
- params["testFeature"],
- params["testResult"],
- params["testName"],
- params['duration'])
- else:
- params["testResult"] = "FAIL" # Mark test as fail.
- # Add the errors to notes column in table.
- params["notes"] = session.errorList
- DBGeneral.insert_results(
- params["testType"],
- params["testFeature"],
- params["testResult"],
- params["testName"],
- params['duration'],
- params["notes"])
diff --git a/tests/uiTests/__init__.py b/tests/uiTests/__init__.py
deleted file mode 100644
index 32b601a..0000000
--- a/tests/uiTests/__init__.py
+++ /dev/null
@@ -1,38 +0,0 @@
-
-# ============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.
diff --git a/tests/uiTests/geckodriver.log b/tests/uiTests/geckodriver.log
deleted file mode 100644
index bbbd105..0000000
--- a/tests/uiTests/geckodriver.log
+++ /dev/null
@@ -1,392 +0,0 @@
-1499152020601 geckodriver INFO Listening on 127.0.0.1:56804
-1499152021597 geckodriver::marionette INFO Starting browser /Applications/Firefox.app/Contents/MacOS/firefox-bin with args ["-marionette"]
-1499152023634 Marionette INFO Listening on port 56817
-1499152023758 Marionette WARN TLS certificate errors will be ignored for this session
-1499152023950 Marionette DEBUG loaded listener.js
-1499152024007 Marionette DEBUG Received DOM event "beforeunload" for "about:blank"
-1499152024010 Marionette DEBUG Received DOM event "pagehide" for "about:blank"
-1499152024010 Marionette DEBUG Received DOM event "unload" for "about:blank"
-1499152024014 Marionette DEBUG Received DOM event "DOMContentLoaded" for "about:blank"
-1499152024015 Marionette DEBUG Received DOM event "pageshow" for "about:blank"
-2017-07-04 02:07:04.043 plugin-container[13150:396681] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x9c3b, name = 'com.apple.tsm.portname'
-See /usr/include/servers/bootstrap_defs.h for the error codes.
-2017-07-04 02:07:04.048 plugin-container[13150:396681] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x9f03, name = 'com.apple.CFPasteboardClient'
-See /usr/include/servers/bootstrap_defs.h for the error codes.
-1499152024055 Marionette DEBUG Received DOM event "beforeunload" for "about:blank"
-1499152024066 Marionette DEBUG Received DOM event "pagehide" for "about:blank"
-1499152024066 Marionette DEBUG Received DOM event "unload" for "about:blank"
-1499152024689 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/login"
-1499152024752 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/login"
-1499152028171 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499152030426 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499152031027 Marionette DEBUG Received DOM event "hashchange" for "http://127.0.0.1:8181/#/admin"
-1499152032461 Marionette DEBUG Received DOM event "hashchange" for "http://127.0.0.1:8181/#/admin/admin/checklist-template"
-1499152033280 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499152034836 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499152035163 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499152035991 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499152036175 geckodriver INFO Listening on 127.0.0.1:57055
-1499152037160 geckodriver::marionette INFO Starting browser /Applications/Firefox.app/Contents/MacOS/firefox-bin with args ["-marionette"]
-1499152038852 Marionette INFO Listening on port 57069
-1499152038971 Marionette WARN TLS certificate errors will be ignored for this session
-1499152039156 Marionette DEBUG loaded listener.js
-1499152039183 Marionette DEBUG Received DOM event "beforeunload" for "about:blank"
-1499152039208 Marionette DEBUG Received DOM event "pagehide" for "about:blank"
-1499152039208 Marionette DEBUG Received DOM event "unload" for "about:blank"
-1499152039213 Marionette DEBUG Received DOM event "DOMContentLoaded" for "about:blank"
-1499152039215 Marionette DEBUG Received DOM event "pageshow" for "about:blank"
-2017-07-04 02:07:19.245 plugin-container[13266:398090] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x9c37, name = 'com.apple.tsm.portname'
-See /usr/include/servers/bootstrap_defs.h for the error codes.
-2017-07-04 02:07:19.250 plugin-container[13266:398090] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x9f03, name = 'com.apple.CFPasteboardClient'
-See /usr/include/servers/bootstrap_defs.h for the error codes.
-1499152039258 Marionette DEBUG Received DOM event "beforeunload" for "about:blank"
-1499152039265 Marionette DEBUG Received DOM event "pagehide" for "about:blank"
-1499152039265 Marionette DEBUG Received DOM event "unload" for "about:blank"
-1499152039925 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/login"
-1499152039990 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/login"
-1499152043357 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499152045536 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499152046138 Marionette DEBUG Received DOM event "hashchange" for "http://127.0.0.1:8181/#/admin"
-1499152047577 Marionette DEBUG Received DOM event "hashchange" for "http://127.0.0.1:8181/#/admin/admin/checklist-template"
-1499152047897 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499152049548 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499152050325 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499152050484 geckodriver INFO Listening on 127.0.0.1:57252
-1499152051476 geckodriver::marionette INFO Starting browser /Applications/Firefox.app/Contents/MacOS/firefox-bin with args ["-marionette"]
-1499152053142 Marionette INFO Listening on port 57265
-1499152053262 Marionette WARN TLS certificate errors will be ignored for this session
-1499152053485 Marionette DEBUG loaded listener.js
-1499152053532 Marionette DEBUG Received DOM event "beforeunload" for "about:blank"
-1499152053550 Marionette DEBUG Received DOM event "pagehide" for "about:blank"
-1499152053551 Marionette DEBUG Received DOM event "unload" for "about:blank"
-1499152053556 Marionette DEBUG Received DOM event "DOMContentLoaded" for "about:blank"
-1499152053559 Marionette DEBUG Received DOM event "pageshow" for "about:blank"
-2017-07-04 02:07:33.596 plugin-container[13295:399183] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x9c3b, name = 'com.apple.tsm.portname'
-See /usr/include/servers/bootstrap_defs.h for the error codes.
-2017-07-04 02:07:33.597 plugin-container[13295:399183] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0xa003, name = 'com.apple.CFPasteboardClient'
-See /usr/include/servers/bootstrap_defs.h for the error codes.
-1499152053611 Marionette DEBUG Received DOM event "beforeunload" for "about:blank"
-1499152053619 Marionette DEBUG Received DOM event "pagehide" for "about:blank"
-1499152053619 Marionette DEBUG Received DOM event "unload" for "about:blank"
-1499152054212 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/login"
-1499152054272 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/login"
-1499152077178 geckodriver INFO Listening on 127.0.0.1:57415
-1499152078176 geckodriver::marionette INFO Starting browser /Applications/Firefox.app/Contents/MacOS/firefox-bin with args ["-marionette"]
-1499152079886 Marionette INFO Listening on port 57424
-1499152080004 Marionette WARN TLS certificate errors will be ignored for this session
-1499152080192 Marionette DEBUG loaded listener.js
-2017-07-04 02:08:00.253 plugin-container[13340:400268] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x9c3b, name = 'com.apple.tsm.portname'
-See /usr/include/servers/bootstrap_defs.h for the error codes.
-2017-07-04 02:08:00.254 plugin-container[13340:400268] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x9f03, name = 'com.apple.CFPasteboardClient'
-See /usr/include/servers/bootstrap_defs.h for the error codes.
-1499152080885 Marionette DEBUG Received DOM event "beforeunload" for "about:blank"
-1499152080888 Marionette DEBUG Received DOM event "pagehide" for "about:blank"
-1499152080889 Marionette DEBUG Received DOM event "unload" for "about:blank"
-1499152080893 Marionette DEBUG Received DOM event "DOMContentLoaded" for "about:blank"
-1499152080894 Marionette DEBUG Received DOM event "pageshow" for "about:blank"
-1499152080913 Marionette DEBUG Received DOM event "beforeunload" for "about:blank"
-1499152080921 Marionette DEBUG Received DOM event "pagehide" for "about:blank"
-1499152080922 Marionette DEBUG Received DOM event "unload" for "about:blank"
-1499152081514 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/login"
-1499152081569 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/login"
-1499152082003 Marionette DEBUG Received DOM event "beforeunload" for "http://127.0.0.1:8181/#/login"
-1499152082008 Marionette DEBUG Received DOM event "pagehide" for "http://127.0.0.1:8181/#/login"
-1499152082008 Marionette DEBUG Received DOM event "unload" for "http://127.0.0.1:8181/#/login"
-1499152082015 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/login"
-1499152082017 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/login"
-1499152082030 Marionette DEBUG Received DOM event "beforeunload" for "http://127.0.0.1:8181/#/login"
-1499152082034 Marionette DEBUG Received DOM event "pagehide" for "http://127.0.0.1:8181/#/login"
-1499152082034 Marionette DEBUG Received DOM event "unload" for "http://127.0.0.1:8181/#/login"
-1499152082617 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/login"
-1499152082655 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/login"
-1499152086054 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499152090313 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499152092345 Marionette DEBUG Received DOM event "hashchange" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152093177 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499152093483 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499152094244 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499152155116 Marionette DEBUG Received DOM event "beforeunload" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152155119 Marionette DEBUG Received DOM event "pagehide" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152155120 Marionette DEBUG Received DOM event "unload" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152155126 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152155127 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152155145 Marionette DEBUG Received DOM event "beforeunload" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152155156 Marionette DEBUG Received DOM event "pagehide" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152155156 Marionette DEBUG Received DOM event "unload" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152155709 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/login"
-1499152155739 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/login"
-1499152155754 Marionette DEBUG Received DOM event "beforeunload" for "http://127.0.0.1:8181/#/login"
-1499152155758 Marionette DEBUG Received DOM event "pagehide" for "http://127.0.0.1:8181/#/login"
-1499152155758 Marionette DEBUG Received DOM event "unload" for "http://127.0.0.1:8181/#/login"
-1499152155791 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/login"
-1499152155793 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/login"
-1499152155799 Marionette DEBUG Received DOM event "beforeunload" for "http://127.0.0.1:8181/#/login"
-1499152155810 Marionette DEBUG Received DOM event "pagehide" for "http://127.0.0.1:8181/#/login"
-1499152155811 Marionette DEBUG Received DOM event "unload" for "http://127.0.0.1:8181/#/login"
-1499152156412 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/login"
-1499152156436 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/login"
-1499152159358 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499152163542 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499152165477 Marionette DEBUG Received DOM event "hashchange" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152166834 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499152167465 Marionette DEBUG Received DOM event "beforeunload" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152167468 Marionette DEBUG Received DOM event "pagehide" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152167469 Marionette DEBUG Received DOM event "unload" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152167479 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152167481 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152167489 Marionette DEBUG Received DOM event "beforeunload" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152167495 Marionette DEBUG Received DOM event "pagehide" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152167496 Marionette DEBUG Received DOM event "unload" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152168065 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/login"
-1499152168097 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/login"
-1499152168113 Marionette DEBUG Received DOM event "beforeunload" for "http://127.0.0.1:8181/#/login"
-1499152168115 Marionette DEBUG Received DOM event "pagehide" for "http://127.0.0.1:8181/#/login"
-1499152168115 Marionette DEBUG Received DOM event "unload" for "http://127.0.0.1:8181/#/login"
-1499152168134 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/login"
-1499152168137 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/login"
-1499152168163 Marionette DEBUG Received DOM event "beforeunload" for "http://127.0.0.1:8181/#/login"
-1499152168168 Marionette DEBUG Received DOM event "pagehide" for "http://127.0.0.1:8181/#/login"
-1499152168168 Marionette DEBUG Received DOM event "unload" for "http://127.0.0.1:8181/#/login"
-1499152168754 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/login"
-1499152168817 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/login"
-1499152171740 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499152175833 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499152177782 Marionette DEBUG Received DOM event "hashchange" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152179164 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499152180476 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499152181234 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499152182398 Marionette DEBUG Received DOM event "beforeunload" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152182401 Marionette DEBUG Received DOM event "pagehide" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152182405 Marionette DEBUG Received DOM event "unload" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152182431 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152182433 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152182440 Marionette DEBUG Received DOM event "beforeunload" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152182444 Marionette DEBUG Received DOM event "pagehide" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152182444 Marionette DEBUG Received DOM event "unload" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152183098 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/login"
-1499152183129 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/login"
-1499152183136 Marionette DEBUG Received DOM event "beforeunload" for "http://127.0.0.1:8181/#/login"
-1499152183138 Marionette DEBUG Received DOM event "pagehide" for "http://127.0.0.1:8181/#/login"
-1499152183138 Marionette DEBUG Received DOM event "unload" for "http://127.0.0.1:8181/#/login"
-1499152183157 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/login"
-1499152183158 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/login"
-1499152183167 Marionette DEBUG Received DOM event "beforeunload" for "http://127.0.0.1:8181/#/login"
-1499152183173 Marionette DEBUG Received DOM event "pagehide" for "http://127.0.0.1:8181/#/login"
-1499152183173 Marionette DEBUG Received DOM event "unload" for "http://127.0.0.1:8181/#/login"
-1499152183739 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/login"
-1499152183775 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/login"
-1499152186659 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499152190504 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499152192478 Marionette DEBUG Received DOM event "hashchange" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152193839 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499152195145 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499152195905 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499152197079 Marionette DEBUG Received DOM event "beforeunload" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152197082 Marionette DEBUG Received DOM event "pagehide" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152197084 Marionette DEBUG Received DOM event "unload" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152197091 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152197093 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152197104 Marionette DEBUG Received DOM event "beforeunload" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152197111 Marionette DEBUG Received DOM event "pagehide" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152197111 Marionette DEBUG Received DOM event "unload" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152197649 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/login"
-1499152197684 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/login"
-1499152197691 Marionette DEBUG Received DOM event "beforeunload" for "http://127.0.0.1:8181/#/login"
-1499152197693 Marionette DEBUG Received DOM event "pagehide" for "http://127.0.0.1:8181/#/login"
-1499152197693 Marionette DEBUG Received DOM event "unload" for "http://127.0.0.1:8181/#/login"
-1499152197713 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/login"
-1499152197714 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/login"
-1499152197725 Marionette DEBUG Received DOM event "beforeunload" for "http://127.0.0.1:8181/#/login"
-1499152197731 Marionette DEBUG Received DOM event "pagehide" for "http://127.0.0.1:8181/#/login"
-1499152197731 Marionette DEBUG Received DOM event "unload" for "http://127.0.0.1:8181/#/login"
-1499152198263 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/login"
-1499152198298 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/login"
-1499152201102 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499152205152 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499152207069 Marionette DEBUG Received DOM event "hashchange" for "http://127.0.0.1:8181/#/dashboard/detailedview"
-1499152209036 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499152209327 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499152210183 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499163847081 geckodriver INFO Listening on 127.0.0.1:64615
-1499163848065 geckodriver::marionette INFO Starting browser /Applications/Firefox.app/Contents/MacOS/firefox-bin with args ["-marionette"]
-1499163850042 Marionette INFO Listening on port 64626
-1499163850123 Marionette WARN TLS certificate errors will be ignored for this session
-1499163850330 Marionette DEBUG loaded listener.js
-2017-07-04 05:24:10.413 plugin-container[27347:830870] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x9e3b, name = 'com.apple.tsm.portname'
-See /usr/include/servers/bootstrap_defs.h for the error codes.
-2017-07-04 05:24:10.416 plugin-container[27347:830870] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0xa103, name = 'com.apple.CFPasteboardClient'
-See /usr/include/servers/bootstrap_defs.h for the error codes.
-1499163877275 geckodriver INFO Listening on 127.0.0.1:64761
-1499163878267 geckodriver::marionette INFO Starting browser /Applications/Firefox.app/Contents/MacOS/firefox-bin with args ["-marionette"]
-1499163880122 Marionette INFO Listening on port 64771
-1499163880198 Marionette WARN TLS certificate errors will be ignored for this session
-1499163880395 Marionette DEBUG loaded listener.js
-2017-07-04 05:24:40.477 plugin-container[27398:832466] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x9d3b, name = 'com.apple.tsm.portname'
-See /usr/include/servers/bootstrap_defs.h for the error codes.
-2017-07-04 05:24:40.480 plugin-container[27398:832466] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0xa103, name = 'com.apple.CFPasteboardClient'
-See /usr/include/servers/bootstrap_defs.h for the error codes.
-1499163881587 Marionette DEBUG Received DOM event "beforeunload" for "about:blank"
-1499163881591 Marionette DEBUG Received DOM event "pagehide" for "about:blank"
-1499163881591 Marionette DEBUG Received DOM event "unload" for "about:blank"
-1499163881595 Marionette DEBUG Received DOM event "DOMContentLoaded" for "about:blank"
-1499163881597 Marionette DEBUG Received DOM event "pageshow" for "about:blank"
-1499163881616 Marionette DEBUG Received DOM event "beforeunload" for "about:blank"
-1499163881625 Marionette DEBUG Received DOM event "pagehide" for "about:blank"
-1499163881626 Marionette DEBUG Received DOM event "unload" for "about:blank"
-1499163882259 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/login"
-1499163882316 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/login"
-1499163886432 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499163890603 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499163892524 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499163892835 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499163894379 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499163894489 Marionette DEBUG Received DOM event "beforeunload" for "http://127.0.0.1:8181/#/dashboard/overview"
-1499163894494 Marionette DEBUG Received DOM event "pagehide" for "http://127.0.0.1:8181/#/dashboard/overview"
-1499163894500 Marionette DEBUG Received DOM event "unload" for "http://127.0.0.1:8181/#/dashboard/overview"
-1499163894513 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/dashboard/overview"
-1499163894515 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/dashboard/overview"
-1499163894528 Marionette DEBUG Received DOM event "beforeunload" for "http://127.0.0.1:8181/#/dashboard/overview"
-1499163894534 Marionette DEBUG Received DOM event "pagehide" for "http://127.0.0.1:8181/#/dashboard/overview"
-1499163894535 Marionette DEBUG Received DOM event "unload" for "http://127.0.0.1:8181/#/dashboard/overview"
-1499163895106 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/login"
-1499163895134 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/login"
-1499163895154 Marionette DEBUG Received DOM event "beforeunload" for "http://127.0.0.1:8181/#/login"
-1499163895157 Marionette DEBUG Received DOM event "pagehide" for "http://127.0.0.1:8181/#/login"
-1499163895157 Marionette DEBUG Received DOM event "unload" for "http://127.0.0.1:8181/#/login"
-1499163895184 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/login"
-1499163895187 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/login"
-1499163895204 Marionette DEBUG Received DOM event "beforeunload" for "http://127.0.0.1:8181/#/login"
-1499163895226 Marionette DEBUG Received DOM event "pagehide" for "http://127.0.0.1:8181/#/login"
-1499163895226 Marionette DEBUG Received DOM event "unload" for "http://127.0.0.1:8181/#/login"
-1499163895851 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/login"
-1499163895895 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/login"
-1499163899489 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499163903430 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499163905198 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499163905517 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499163907094 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499163907202 Marionette DEBUG Received DOM event "beforeunload" for "http://127.0.0.1:8181/#/dashboard/overview"
-1499163907205 Marionette DEBUG Received DOM event "pagehide" for "http://127.0.0.1:8181/#/dashboard/overview"
-1499163907209 Marionette DEBUG Received DOM event "unload" for "http://127.0.0.1:8181/#/dashboard/overview"
-1499163907219 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/dashboard/overview"
-1499163907222 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/dashboard/overview"
-1499163907236 Marionette DEBUG Received DOM event "beforeunload" for "http://127.0.0.1:8181/#/dashboard/overview"
-1499163907247 Marionette DEBUG Received DOM event "pagehide" for "http://127.0.0.1:8181/#/dashboard/overview"
-1499163907247 Marionette DEBUG Received DOM event "unload" for "http://127.0.0.1:8181/#/dashboard/overview"
-1499163907874 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/login"
-1499163907905 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/login"
-1499163907915 Marionette DEBUG Received DOM event "beforeunload" for "http://127.0.0.1:8181/#/login"
-1499163907916 Marionette DEBUG Received DOM event "pagehide" for "http://127.0.0.1:8181/#/login"
-1499163907916 Marionette DEBUG Received DOM event "unload" for "http://127.0.0.1:8181/#/login"
-1499163907939 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/login"
-1499163907941 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/login"
-1499163907949 Marionette DEBUG Received DOM event "beforeunload" for "http://127.0.0.1:8181/#/login"
-1499163907962 Marionette DEBUG Received DOM event "pagehide" for "http://127.0.0.1:8181/#/login"
-1499163907962 Marionette DEBUG Received DOM event "unload" for "http://127.0.0.1:8181/#/login"
-1499163908599 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/login"
-1499163908769 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/login"
-1499163912416 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499163916378 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499163918004 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499163918277 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499163918558 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499163928608 Marionette DEBUG Received DOM event "beforeunload" for "http://127.0.0.1:8181/#/dashboard/overview"
-1499163928611 Marionette DEBUG Received DOM event "pagehide" for "http://127.0.0.1:8181/#/dashboard/overview"
-1499163928611 Marionette DEBUG Received DOM event "unload" for "http://127.0.0.1:8181/#/dashboard/overview"
-1499163928618 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/dashboard/overview"
-1499163928620 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/dashboard/overview"
-1499163928631 Marionette DEBUG Received DOM event "beforeunload" for "http://127.0.0.1:8181/#/dashboard/overview"
-1499163928638 Marionette DEBUG Received DOM event "pagehide" for "http://127.0.0.1:8181/#/dashboard/overview"
-1499163928638 Marionette DEBUG Received DOM event "unload" for "http://127.0.0.1:8181/#/dashboard/overview"
-1499163929238 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/login"
-1499163929286 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/login"
-1499163929299 Marionette DEBUG Received DOM event "beforeunload" for "http://127.0.0.1:8181/#/login"
-1499163929301 Marionette DEBUG Received DOM event "pagehide" for "http://127.0.0.1:8181/#/login"
-1499163929301 Marionette DEBUG Received DOM event "unload" for "http://127.0.0.1:8181/#/login"
-1499163929306 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/login"
-1499163929307 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/login"
-1499163929323 Marionette DEBUG Received DOM event "beforeunload" for "http://127.0.0.1:8181/#/login"
-1499163929331 Marionette DEBUG Received DOM event "pagehide" for "http://127.0.0.1:8181/#/login"
-1499163929331 Marionette DEBUG Received DOM event "unload" for "http://127.0.0.1:8181/#/login"
-1499163929911 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/login"
-1499163929942 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/login"
-1499163933589 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499163937477 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499163939417 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499164000086 Marionette DEBUG Received DOM event "beforeunload" for "http://127.0.0.1:8181/#/dashboard/overview"
-1499164000089 Marionette DEBUG Received DOM event "pagehide" for "http://127.0.0.1:8181/#/dashboard/overview"
-1499164000089 Marionette DEBUG Received DOM event "unload" for "http://127.0.0.1:8181/#/dashboard/overview"
-1499164000095 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/dashboard/overview"
-1499164000097 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/dashboard/overview"
-1499164000110 Marionette DEBUG Received DOM event "beforeunload" for "http://127.0.0.1:8181/#/dashboard/overview"
-1499164000118 Marionette DEBUG Received DOM event "pagehide" for "http://127.0.0.1:8181/#/dashboard/overview"
-1499164000118 Marionette DEBUG Received DOM event "unload" for "http://127.0.0.1:8181/#/dashboard/overview"
-1499164000733 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/login"
-1499164000775 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/login"
-1499164000796 Marionette DEBUG Received DOM event "beforeunload" for "http://127.0.0.1:8181/#/login"
-1499164000797 Marionette DEBUG Received DOM event "pagehide" for "http://127.0.0.1:8181/#/login"
-1499164000798 Marionette DEBUG Received DOM event "unload" for "http://127.0.0.1:8181/#/login"
-1499164000808 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/login"
-1499164000810 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/login"
-1499164000830 Marionette DEBUG Received DOM event "beforeunload" for "http://127.0.0.1:8181/#/login"
-1499164000835 Marionette DEBUG Received DOM event "pagehide" for "http://127.0.0.1:8181/#/login"
-1499164000835 Marionette DEBUG Received DOM event "unload" for "http://127.0.0.1:8181/#/login"
-1499164001442 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/login"
-1499164001473 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/login"
-1499164005002 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499164009125 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499164011222 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499164061184 geckodriver INFO Listening on 127.0.0.1:49840
-1499164062184 geckodriver::marionette INFO Starting browser /Applications/Firefox.app/Contents/MacOS/firefox-bin with args ["-marionette"]
-1499164063929 Marionette INFO Listening on port 49853
-1499164064005 Marionette WARN TLS certificate errors will be ignored for this session
-1499164064194 Marionette DEBUG loaded listener.js
-2017-07-04 05:27:44.263 plugin-container[27664:839177] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x9c3b, name = 'com.apple.tsm.portname'
-See /usr/include/servers/bootstrap_defs.h for the error codes.
-2017-07-04 05:27:44.265 plugin-container[27664:839177] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0xa003, name = 'com.apple.CFPasteboardClient'
-See /usr/include/servers/bootstrap_defs.h for the error codes.
-1499164064905 Marionette DEBUG Received DOM event "beforeunload" for "about:blank"
-1499164064908 Marionette DEBUG Received DOM event "pagehide" for "about:blank"
-1499164064909 Marionette DEBUG Received DOM event "unload" for "about:blank"
-1499164064912 Marionette DEBUG Received DOM event "DOMContentLoaded" for "about:blank"
-1499164064914 Marionette DEBUG Received DOM event "pageshow" for "about:blank"
-1499164064938 Marionette DEBUG Received DOM event "beforeunload" for "about:blank"
-1499164064945 Marionette DEBUG Received DOM event "pagehide" for "about:blank"
-1499164064945 Marionette DEBUG Received DOM event "unload" for "about:blank"
-1499164065588 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:8181/#/login"
-1499164065656 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:8181/#/login"
-1499164076153 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499164081161 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499164087611 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499164096907 Marionette DEBUG Canceled page load listener because no navigation has been detected
-1499164102838 Marionette DEBUG Canceled page load listener because no navigation has been detected
-*************************
-A coding exception was thrown and uncaught in a Task.
-
-Full message: TypeError: NetworkError when attempting to fetch resource.
-Full stack:
-*************************
-
-###!!! [Child][MessageChannel] Error: (msgtype=0x4400AB,name=PContent::Msg_ConsoleMessage) Channel closing: too late to send/recv, messages will be lost
-
-2017-07-05 01:29:32.549 plugin-container[69140:2641840] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x9c3b, name = 'com.apple.tsm.portname'
-See /usr/include/servers/bootstrap_defs.h for the error codes.
-2017-07-05 01:29:32.553 plugin-container[69140:2641840] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x9f03, name = 'com.apple.CFPasteboardClient'
-See /usr/include/servers/bootstrap_defs.h for the error codes.
-2017-07-05 05:00:06.804 plugin-container[81584:2977711] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x9c3b, name = 'com.apple.tsm.portname'
-See /usr/include/servers/bootstrap_defs.h for the error codes.
-2017-07-05 05:00:06.808 plugin-container[81584:2977711] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x9f03, name = 'com.apple.CFPasteboardClient'
-See /usr/include/servers/bootstrap_defs.h for the error codes.
-*************************
-A coding exception was thrown and uncaught in a Task.
-
-Full message: TypeError: NetworkError when attempting to fetch resource.
-Full stack:
-*************************
-*************************
-A coding exception was thrown and uncaught in a Task.
-
-Full message: TypeError: NetworkError when attempting to fetch resource.
-Full stack:
-*************************
-1499513160629 Marionette INFO Ceased listening
diff --git a/tests/uiTests/test_admin_dropdown.py b/tests/uiTests/test_admin_dropdown.py
deleted file mode 100644
index 8b838d6..0000000
--- a/tests/uiTests/test_admin_dropdown.py
+++ /dev/null
@@ -1,197 +0,0 @@
-# ============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.
-from django.conf import settings
-
-from iceci.decorator.exception_decor import exception
-from services.constants import Constants
-from services.logging_service import LoggingServiceFactory
-from services.types import API, DB, Frontend
-from tests.uiTests.test_ui_base import TestUiBase
-
-logger = LoggingServiceFactory.get_logger()
-
-
-class TestAdminDropdown(TestUiBase):
- user_content = None
-
- @classmethod
- def setUpClass(cls):
- super(TestAdminDropdown, cls).setUpClass()
-
- cls.user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
-
- @exception()
- def test_archive_engagement(self):
- Frontend.User.login(
- Constants.Users.Admin.EMAIL, Constants.Default.Password.TEXT)
- # Creating new engagement because we will archive it
- user_content = API.Bridge.create_engagement()
- API.VirtualFunction.set_eng_stage(
- user_content, Constants.EngagementStages.ACTIVE)
- # Verify users were added to git (only after git finishes its work on
- # the engagement we are able to archive the engagement)
- path_with_namespace = user_content[
- 'engagement_manual_id'] + "%2F" + user_content['vfName']
- if not API.GitLab.validate_git_project_members(
- path_with_namespace, user_content['email']):
- raise Exception(
- "Couldn't find the engagement lead user (%s) in GitLab." %
- user_content['email'])
- Frontend.Dashboard.statuses_search_vf(
- user_content['engagement_manual_id'], user_content['vfName'])
- Frontend.Overview.click_on_archeive_engagement_from_dropdown()
- Frontend.Overview.archive_engagement_modal(
- user_content['engagement_manual_id'], user_content['vfName'])
-
- @exception()
- def test_change_reviewer(self):
- try:
- Frontend.User.login(
- Constants.Users.Admin.EMAIL, Constants.Default.Password.TEXT)
- user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
- other_user = DB.User.select_el_not_in_engagement(
- user_content['el_name'], user_content['pr_name'])
- Frontend.Dashboard.statuses_search_vf(
- user_content['engagement_manual_id'], user_content['vfName'])
- Frontend.Overview.click_on_change_reviewer_from_dropdown()
- Frontend.Overview.change_engagement_lead_modal(other_user)
- finally:
- DB.User.rollback_for_el_not_in_engagement()
-
- @exception()
- def test_change_peer_reviewer(self):
- try:
- Frontend.User.login(
- Constants.Users.Admin.EMAIL, Constants.Default.Password.TEXT)
- other_user = DB.User.select_el_not_in_engagement(
- self.user_content['el_name'], self.user_content['pr_name'])
- Frontend.Dashboard.statuses_search_vf(
- self.user_content['engagement_manual_id'],
- self.user_content['vfName'])
- Frontend.Overview.click_on_change_peer_reviewer_from_dropdown()
- Frontend.Overview.change_engagement_lead_modal(
- other_user, is_reviewer=False)
- finally:
- DB.User.rollback_for_el_not_in_engagement()
-
- @exception()
- def test_update_status(self):
- Frontend.User.login(
- Constants.Users.Admin.EMAIL, Constants.Default.Password.TEXT)
- Frontend.Dashboard.statuses_search_vf(
- self.user_content['engagement_manual_id'],
- self.user_content['vfName'])
- Frontend.Overview.click_on_update_status_from_dropdown()
- Frontend.Overview.fill_update_status_form_admin_dropdown()
-
- @exception()
- def test_update_status_via_EL(self):
- Frontend.User.login(
- self.user_content['el_email'], Constants.Default.Password.TEXT)
- Frontend.Dashboard.statuses_search_vf(
- self.user_content['engagement_manual_id'],
- self.user_content['vfName'])
- Frontend.Overview.click_on_update_status_from_dropdown()
- Frontend.Overview.fill_update_status_form_admin_dropdown()
-
- @exception()
- def test_update_status_via_peer_reviewer(self):
- user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
- Frontend.User.login(
- user_content['pr_email'], Constants.Default.Password.TEXT)
- Frontend.Dashboard.statuses_search_vf(
- user_content['engagement_manual_id'], user_content['vfName'])
- Frontend.Overview.click_on_update_status_from_dropdown()
- Frontend.Overview.fill_update_status_form_admin_dropdown()
-
- @exception()
- def test_update_status_via_other_el(self):
- try:
- Frontend.User.login(
- Constants.Users.Admin.EMAIL, Constants.Default.Password.TEXT)
- other_el = DB.User.select_el_not_in_engagement(
- self.user_content['el_name'], self.user_content['pr_name'])
- other_el_email = DB.User.get_email_by_full_name(other_el)
- Frontend.Dashboard.statuses_search_vf(
- self.user_content['engagement_manual_id'],
- self.user_content['vfName'])
- engName = self.user_content[
- 'engagement_manual_id'] + ": " + self.user_content['vfName']
- vf_left_nav_id = "clickable-" + engName
- Frontend.User.open_invite_team_member_form(vf_left_nav_id)
- Frontend.User.invite_single_user_to_team(other_el_email)
- Frontend.General.re_open(Constants.Default.LoginURL.TEXT)
- Frontend.Overview.invite_and_reopen_link(
- self.user_content, other_el_email)
- Frontend.User.login(
- other_el_email,
- Constants.Default.Password.TEXT,
- Constants.Dashboard.Default.DASHBOARD_ID)
- Frontend.Overview.click_on_update_status_from_dropdown()
- Frontend.Overview.fill_update_status_form_admin_dropdown()
- finally:
- DB.User.rollback_for_el_not_in_engagement()
-
- @exception()
- def test_remove_standard_users_after_archive_engagement(self):
- Frontend.User.login(
- Constants.Users.Admin.EMAIL, Constants.Default.Password.TEXT)
- # Creating new engagement because we will archive it
- user_content = API.Bridge.create_engagement()
- API.VirtualFunction.set_eng_stage(
- user_content, Constants.EngagementStages.ACTIVE)
- path_with_namespace = user_content[
- 'engagement_manual_id'] + "%2F" + user_content['vfName']
- if not API.GitLab.validate_git_project_members(
- path_with_namespace, user_content['email']):
- raise Exception(
- "Couldn't find the inviter user (%s) in GitLab." %
- user_content['email'])
- if settings.DATABASE_TYPE != 'local':
- git_user = API.GitLab.get_git_user(user_content['email'])
- git_user_id = str(git_user['id'])
- Frontend.Dashboard.statuses_search_vf(
- user_content['engagement_manual_id'], user_content['vfName'])
- Frontend.Overview.click_on_archeive_engagement_from_dropdown()
- Frontend.Overview.archive_engagement_modal(
- user_content['engagement_manual_id'], user_content['vfName'])
- API.GitLab.negative_validate_git_project_member(
- path_with_namespace, user_content['email'], git_user_id)
diff --git a/tests/uiTests/test_admin_section.py b/tests/uiTests/test_admin_section.py
deleted file mode 100644
index f1339a1..0000000
--- a/tests/uiTests/test_admin_section.py
+++ /dev/null
@@ -1,81 +0,0 @@
-# ============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.
-from iceci.decorator.exception_decor import exception
-from services.constants import Constants
-from services.logging_service import LoggingServiceFactory
-from services.session import session
-from services.types import Frontend, API
-from tests.uiTests.test_ui_base import TestUiBase
-
-
-logger = LoggingServiceFactory.get_logger()
-
-
-class TestAdminSection(TestUiBase):
- user_content = None
-
- @classmethod
- def setUpClass(cls):
- super(TestAdminSection, cls).setUpClass()
-
- cls.user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
-
- @exception()
- def test_admin_page(self):
- Frontend.User.login(
- Constants.Users.Admin.EMAIL,
- Constants.Default.Password.TEXT)
- Frontend.User.go_to_account()
- Frontend.User.go_to_admin()
-
- @exception()
- def test_negative_admin_page(self):
- users_email_list = [
- self.user_content['email'],
- self.user_content['pr_email'],
- self.user_content['el_email'],
- Constants.Users.AdminRO.EMAIL]
- for user_email in users_email_list:
- Frontend.User.relogin(user_email, Constants.Default.Password.TEXT)
- Frontend.User.click_on_avatar()
- session.run_negative(
- lambda: Frontend.User.click_on_admin(),
- "Negative test failed at"
- " click_on_admin with user %s" %
- user_email)
diff --git a/tests/uiTests/test_bucket_e2e.py b/tests/uiTests/test_bucket_e2e.py
deleted file mode 100644
index 246ba8d..0000000
--- a/tests/uiTests/test_bucket_e2e.py
+++ /dev/null
@@ -1,150 +0,0 @@
-# ============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.
-from pprint import pprint
-
-from wheel.signatures import assertTrue
-
-from iceci.decorator.exception_decor import exception
-from services.constants import Constants
-from services.database.db_user import DBUser
-from services.frontend.base_actions.wait import Wait
-from services.helper import Helper
-from services.logging_service import LoggingServiceFactory
-from services.types import API
-from tests.uiTests.test_ui_base import TestUiBase
-from utils.cryptography import CryptographyText
-
-
-logger = LoggingServiceFactory.get_logger()
-
-
-class TestBucketE2E(TestUiBase):
-
- def create_bucket_and_validate_users(self):
- user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=True)
- API.VirtualFunction.set_eng_stage(
- user_content, Constants.EngagementStages.ACTIVE)
- bucket_id = user_content[
- 'engagement_manual_id'] + "_" + user_content['vfName'].lower()
- Wait.bucket_to_create(bucket_id)
- bucket = API.Rados.get_bucket(bucket_id)
- assertTrue(API.Rados.is_bucket_ready(bucket_id))
- assertTrue(bucket != "None")
- assertTrue(API.Rados.users_of_bucket_ready_after_created(
- bucket_id, user_content['uuid']))
- # validate users added to bucket
- grants = API.Rados.get_bucket_grants(bucket_id)
- count = 0
- for g in grants:
- if g.id == user_content['uuid']:
- count = +1
-
- assertTrue(count > 0)
- return bucket, user_content
-
- @exception()
- def test_validate_bucket_created(self):
- bucket, user_content = self.create_bucket_and_validate_users()
- # create upload file
- str_content = Helper.rand_string(
- "randomString") + Helper.rand_string("randomNumber")
- fileName = Helper.rand_string("randomString")
- bucket_id = user_content[
- 'engagement_manual_id'] + "_" + user_content['vfName'].lower()
- Wait.bucket_to_create(bucket_id)
- bucket = API.Rados.get_bucket(bucket_id)
- assertTrue(API.Rados.is_bucket_ready(bucket_id))
- key = bucket.new_key(fileName + '.dat')
- key.set_contents_from_string(str_content)
- pprint(key.generate_url(expires_in=400))
-# DOWNLOAD AN OBJECT (TO A FILE)
- key = bucket.get_key(fileName + '.dat')
- key.get_contents_to_filename('/home/' + fileName + '.dat')
- key.delete()
-
- @exception()
- def test_validate_bucket_removed(self):
- bucket, user_content = self.create_bucket_and_validate_users()
- # set Completed Stage
- API.VirtualFunction.set_eng_stage(
- user_content, Constants.EngagementStages.COMPLETED)
- # validate users removed from bucket
- bucket_id = user_content[
- 'engagement_manual_id'] + "_" + user_content['vfName'].lower()
- assertTrue(API.Rados.users_of_bucket_ready_after_complete(
- bucket_id, user_content['full_name']))
- assertTrue(API.Rados.is_bucket_ready(bucket_id))
- assertTrue(bucket != "None")
- # try create upload file - must failed
- str_content = Helper.rand_string(
- "randomString") + Helper.rand_string("randomNumber")
- fileName = Helper.rand_string("randomString")
- bucket = API.Rados.get_bucket(bucket_id)
- assertTrue(API.Rados.is_bucket_ready(bucket_id))
- key = bucket.new_key(fileName + '.dat')
- key.set_contents_from_string(str_content)
- pprint(key.generate_url(expires_in=400))
-# DOWNLOAD AN OBJECT (TO A FILE)
- key = bucket.get_key(fileName + '.dat')
- key.get_contents_to_filename('/home/' + fileName + '.dat')
- key.delete()
-
- @exception()
- def test_validate_upload_download_image_with_bucket_user(self):
- bucket, user_content = self.create_bucket_and_validate_users()
- # connect to bucket with specific user
- bucket_id = user_content[
- 'engagement_manual_id'] + "_" + user_content['vfName'].lower()
- access_key = DBUser.get_access_key(user_content['uuid'])
- secret_key = DBUser.get_access_secret(user_content['uuid'])
- secret = CryptographyText.decrypt(secret_key)
- bucket_for_specific_user = API.Rados.get_bucketfor_specific_user(
- bucket_id, access_key, secret)
- assertTrue(bucket_for_specific_user is not None)
- # create upload file with user
- str_content = Helper.rand_string(
- "randomString") + Helper.rand_string("randomNumber")
- fileName = Helper.rand_string("randomString")
- key = bucket_for_specific_user.new_key(fileName + '.dat')
- key.set_contents_from_string(str_content)
- pprint(key.generate_url(expires_in=3600))
-# DOWNLOAD AN OBJECT (TO A FILE)
- key = bucket_for_specific_user.get_key(fileName + '.dat')
- key.get_contents_to_filename('/home/' + fileName + '.dat')
- key.delete()
diff --git a/tests/uiTests/test_bucket_url.py b/tests/uiTests/test_bucket_url.py
deleted file mode 100644
index 632b113..0000000
--- a/tests/uiTests/test_bucket_url.py
+++ /dev/null
@@ -1,75 +0,0 @@
-
-# ============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.
-from iceci.decorator.exception_decor import exception
-from services.constants import Constants
-from services.logging_service import LoggingServiceFactory
-from services.session import session
-from services.types import API, Frontend
-from tests.uiTests.test_ui_base import TestUiBase
-
-
-logger = LoggingServiceFactory.get_logger()
-
-
-class TestBucketURL(TestUiBase):
- user_content = None
-
- @exception()
- def test_bucket_url_not_appears_stage_intake(self):
- user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
- Frontend.User.login(
- Constants.Users.Admin.EMAIL, Constants.Default.Password.TEXT)
- Frontend.Overview.click_on_vf(user_content)
- session.run_negative(
- lambda: Frontend.Overview.validate_bucket_url(
- user_content['engagement_manual_id'], user_content['vfName']),
- "Storage bucket URL appears on stage Intake")
-
- @exception()
- def test_bucket_url(self):
- user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
- API.VirtualFunction.set_eng_stage(
- user_content, Constants.EngagementStages.ACTIVE)
- Frontend.User.login(
- Constants.Users.Admin.EMAIL, Constants.Default.Password.TEXT)
- Frontend.Overview.click_on_vf(user_content)
- Frontend.Overview.validate_bucket_url(
- user_content['engagement_manual_id'], user_content['vfName'])
diff --git a/tests/uiTests/test_checklist_validations.py b/tests/uiTests/test_checklist_validations.py
deleted file mode 100644
index bac465d..0000000
--- a/tests/uiTests/test_checklist_validations.py
+++ /dev/null
@@ -1,333 +0,0 @@
-# ============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.
-from wheel.signatures import assertTrue
-
-from iceci.decorator.exception_decor import exception
-from services.constants import Constants
-from services.frontend.base_actions.get import Get
-from services.helper import Helper
-from services.logging_service import LoggingServiceFactory
-from services.types import Frontend, DB, API
-from tests.uiTests.test_ui_base import TestUiBase
-
-
-logger = LoggingServiceFactory.get_logger()
-
-
-class TestChecklistValidations(TestUiBase):
- '''
- Name: test_Create_New_Checklist
- Steps:
-
- '''
-
- user_content = None
- user_content_api = None
-
- @classmethod
- def setUpClass(cls):
- super(TestChecklistValidations, cls).setUpClass()
-
- cls.user_content_api = \
- API.User.create_new_user_content_login_with_api()
- cls.user_content = API.VirtualFunction.create_engagement()
-
- @exception()
- def test_create_new_checklist(self):
- API.GitLab.git_clone_push(self.user_content)
- Frontend.User.login(
- self.user_content['email'], Constants.Default.Password.TEXT)
- vfName = self.user_content['vfName']
- # Fetch one AT&T user ID.
- engagement_id = DB.General.select_where(
- "engagement_id", "ice_vf", "name", vfName, 1)
- engLeadEmail = DB.User.select_el_email(vfName)
- engagement_manual_id = DB.General.select_where(
- "engagement_manual_id", "ice_engagement", "uuid", engagement_id, 1)
- myVfName = engagement_manual_id + ": " + vfName
- actualVfNameid = "clickable-" + myVfName
- Frontend.Overview.click_on_vf(self.user_content)
- Frontend.Overview.complete_defaults_nextsteps(engagement_id)
- Frontend.User.relogin(
- engLeadEmail,
- Constants.Default.Password.TEXT,
- engagement_manual_id)
- Frontend.Overview.click_on_vf(self.user_content)
- actualVfName = Get.by_id(actualVfNameid)
- checklistName = Frontend.Checklist.create_checklist(
- engagement_id, vfName, actualVfName, engagement_manual_id)
- Frontend.Checklist.click_on_checklist(self.user_content, checklistName)
-
- @exception()
- def test_e2e_checklist_positive_test(self):
- newObj, user_content = API.User.create_new_user_content()
- newObjWithChecklist = Frontend.Checklist.create_new_checklist(newObj)
- checklistUuid = newObjWithChecklist[0]
- engLeadEmail = newObjWithChecklist[1]
- engagement_manual_id = newObjWithChecklist[2]
- actualVfNameid = newObjWithChecklist[3]
- checklistName = newObjWithChecklist[5]
- DB.Checklist.state_changed(
- "uuid", checklistUuid, Constants.ChecklistStates.Review.TEXT)
- DB.Checklist.update_decisions(checklistUuid, checklistName)
-
- Frontend.User.relogin(
- engLeadEmail,
- Constants.Default.Password.TEXT,
- engagement_manual_id)
- Frontend.Checklist.click_on_checklist(user_content, checklistName)
- Frontend.Checklist.validate_reject_is_enabled()
- Frontend.Checklist.review_state_actions_and_validations(
- checklistName, user_content['vfName'], "review")
-
- Frontend.Checklist.cl_to_next_stage(actualVfNameid)
- engPeerReviewerLeadEmail = DB.Checklist.get_pr_email(checklistUuid)
- Frontend.User.relogin(engPeerReviewerLeadEmail,
- Constants.Default.Password.TEXT)
- Frontend.Checklist.click_on_checklist(user_content, checklistName)
- Frontend.Checklist.validate_reject_is_enabled()
- Frontend.Checklist.review_state_actions_and_validations(
- checklistName, user_content['vfName'], "PEER")
-
- Frontend.Checklist.cl_to_next_stage(actualVfNameid)
- engPeerReviewerLeadEmail = DB.Checklist.get_admin_email(checklistUuid)
- Frontend.User.relogin(engPeerReviewerLeadEmail,
- Constants.Default.Password.TEXT)
- Frontend.Checklist.search_by_vfname_for_not_local(user_content)
- Frontend.Checklist.click_on_checklist(user_content, checklistName)
- Frontend.Checklist.validate_reject_is_enabled()
- Frontend.Checklist.approval_state_actions_and_validations(
- checklistName, newObj, "APPROVAL")
-
- Frontend.Checklist.cl_to_next_stage(actualVfNameid)
- Frontend.User.relogin(engLeadEmail, Constants.Default.Password.TEXT)
- ownerLeadEmail = DB.Checklist.get_owner_email(checklistUuid)
- Helper.internal_assert(engLeadEmail, ownerLeadEmail)
- Frontend.Checklist.click_on_checklist(user_content, checklistName)
- Frontend.Checklist.approval_state_actions_and_validations(
- checklistName, newObj, "HANDOFF")
-
- Frontend.Checklist.cl_to_next_stage(actualVfNameid)
- Frontend.Checklist.click_on_checklist(user_content, checklistName)
-
- @exception()
- def test_e2e_checklist_reject(self):
- newObj, user_content = API.User.create_new_user_content()
- newObjWithChecklist = Frontend.Checklist.create_new_checklist(newObj)
- checklistUuid = newObjWithChecklist[0]
- engLeadEmail = newObjWithChecklist[1]
- engagement_manual_id = newObjWithChecklist[2]
- actualVfNameid = newObjWithChecklist[3]
- checklistName = newObjWithChecklist[5]
- DB.Checklist.state_changed(
- "uuid", checklistUuid, Constants.ChecklistStates.Review.TEXT)
- DB.Checklist.update_decisions(checklistUuid, checklistName)
- Frontend.User.relogin(
- engLeadEmail,
- Constants.Default.Password.TEXT,
- engagement_manual_id)
- Frontend.Checklist.click_on_checklist(user_content, checklistName)
- Frontend.Checklist.validate_reject_is_enabled()
- Frontend.Checklist.review_state_actions_and_validations(
- checklistName, user_content['vfName'], "review")
- Frontend.Checklist.cl_to_next_stage(actualVfNameid)
- engPreeRiviewerLeadEmail = DB.Checklist.get_pr_email(checklistUuid)
- Frontend.User.relogin(engPreeRiviewerLeadEmail,
- Constants.Default.Password.TEXT)
- Frontend.Checklist.click_on_checklist(user_content, checklistName)
- Frontend.Checklist.validate_reject_is_enabled()
- Frontend.Checklist.review_state_actions_and_validations(
- checklistName, user_content['vfName'], "PEER")
-
- Frontend.Checklist.reject_checklist(newObj, checklistName)
-
- archive = DB.Checklist.is_archive(checklistName)
- assertTrue(archive)
-
- @exception()
- def test_e2e_checklist_update_add_next_step(self):
- newObj, user_content = API.User.create_new_user_content()
- newObjWithChecklist = Frontend.Checklist.create_new_checklist(newObj)
- checklistUuid = newObjWithChecklist[0]
- engLeadEmail = newObjWithChecklist[1]
- engagement_manual_id = newObjWithChecklist[2]
- actualVfNameid = newObjWithChecklist[3]
- myVfName = newObjWithChecklist[4]
- checklistName = newObjWithChecklist[5]
- DB.Checklist.state_changed(
- "uuid", checklistUuid, Constants.ChecklistStates.Review.TEXT)
- DB.Checklist.update_decisions(checklistUuid, checklistName)
-
- Frontend.User.relogin(
- engLeadEmail,
- Constants.Default.Password.TEXT,
- engagement_manual_id)
- Frontend.Checklist.click_on_checklist(user_content, checklistName)
- Frontend.Checklist.validate_reject_is_enabled()
-
- newFileNames = Frontend.Checklist.update_cl_name_and_associated_files(
- engagement_manual_id)
- DB.Checklist.update_checklist_to_review_state(newFileNames[0])
- Frontend.General.refresh()
- Frontend.Checklist.add_nsteps(
- checklistUuid,
- actualVfNameid,
- myVfName,
- checklistName,
- newFileNames)
-
- @exception()
- def test_multi_el(self):
- checklist_content = API.Checklist.create_checklist(
- self.user_content_api)
- newEL_content = API.VirtualFunction.create_engagement()
- Frontend.User.login(
- self.user_content_api['email'], Constants.Default.Password.TEXT)
- myVfName = self.user_content_api['engagement_manual_id'] + \
- ": " + self.user_content_api['vfName']
- actualVfNameid = "clickable-" + myVfName
- DB.Checklist.update_decisions(
- checklist_content['uuid'], checklist_content['name'])
- Frontend.User.relogin(
- self.user_content_api['el_email'], Constants.Default.Password.TEXT)
- Frontend.Overview.click_on_vf(self.user_content_api)
- Frontend.Checklist.validate_multi_eng(
- self.user_content_api,
- checklist_content,
- newEL_content,
- actualVfNameid)
-
- @exception()
- def test_create_checklist_without_files(self):
- Frontend.User.login(
- self.user_content['el_email'], Constants.Default.Password.TEXT)
- Frontend.Checklist.create_cl_without_files(self.user_content)
-
- @exception()
- def test_reject_anytime_checklist(self):
- cl_content = API.Checklist.create_checklist(self.user_content_api)
- DB.Checklist.state_changed(
- "name", cl_content['name'], Constants.ChecklistStates.Review.TEXT)
- Frontend.User.login(
- self.user_content_api['el_email'], Constants.Default.Password.TEXT)
- Frontend.Checklist.search_by_manual_id(
- self.user_content_api['engagement_manual_id'])
- recent_checklist_uuid = DB.Checklist.get_recent_checklist_uuid(
- cl_content['name'])[0]
- Frontend.Checklist.click_on_checklist(
- self.user_content_api, cl_content['name'], recent_checklist_uuid)
- Frontend.Checklist.reject("Reject checklist on review state.")
- DB.Checklist.state_changed(
- "uuid", recent_checklist_uuid,
- Constants.ChecklistStates.Archive.TEXT)
-
- @exception()
- def test_clone_decision_auditlogs(self):
- cl_content = API.Checklist.create_checklist(self.user_content_api)
- DB.Checklist.state_changed(
- "name", cl_content['name'], Constants.ChecklistStates.Review.TEXT)
- Frontend.User.login(
- self.user_content_api['el_email'],
- Constants.Default.Password.TEXT,
- self.user_content_api['engagement_manual_id'])
- recent_checklist_uuid = DB.Checklist.get_recent_checklist_uuid(
- cl_content['name'])[0]
- Frontend.Checklist.click_on_checklist(
- self.user_content_api, cl_content['name'], recent_checklist_uuid)
- log_txt = Frontend.Checklist.add_line_item_audit_log()
- Frontend.Checklist.reject(
- 'Reject checklist as part of test_clone_decision_auditlogs test')
- DB.Checklist.state_changed(
- "uuid",
- recent_checklist_uuid,
- Constants.ChecklistStates.Archive.TEXT)
- recent_checklist_uuid = DB.Checklist.get_recent_checklist_uuid(
- cl_content['name'])[0]
- Frontend.Checklist.click_on_checklist(
- self.user_content_api, cl_content['name'], recent_checklist_uuid)
- Frontend.Checklist.validate_audit_log(log_txt)
-
- @exception()
- def test_review_jenkins_log(self):
- cl_content = API.Checklist.create_checklist(
- self.user_content_api)
- DB.Checklist.state_changed(
- "name", cl_content['name'], Constants.ChecklistStates.Review.TEXT)
- Frontend.User.login(
- self.user_content_api['el_email'],
- Constants.Default.Password.TEXT,
- self.user_content_api['engagement_manual_id'])
- Frontend.Checklist.click_on_checklist(
- self.user_content_api, cl_content['name'], cl_content['uuid'])
- Frontend.Checklist.get_jenkins_log()
-
- @exception()
- def test_review_jenkins_after_archiving(self):
- cl_content = API.Checklist.create_checklist(
- self.user_content_api)
- DB.Checklist.state_changed(
- "name", cl_content['name'], Constants.ChecklistStates.Review.TEXT)
- Frontend.User.login(
- self.user_content_api['el_email'],
- Constants.Default.Password.TEXT,
- self.user_content_api['engagement_manual_id'])
- cl_content['uuid'] = DB.Checklist.get_recent_checklist_uuid(
- cl_content['name'])[0]
- Frontend.Checklist.click_on_checklist(
- self.user_content_api, cl_content['name'], cl_content['uuid'])
- log_1 = Frontend.Checklist.get_jenkins_log()
- build_identifier_1 = API.Jenkins.find_build_num_out_of_jenkins_log(
- log_1)
- Frontend.Checklist.reject(
- 'Reject checklist as part of test_clone_decision_auditlogs test')
- DB.Checklist.state_changed(
- "uuid", cl_content['uuid'], Constants.ChecklistStates.Archive.TEXT)
-
- recent_checklist_uuid = DB.Checklist.get_recent_checklist_uuid(
- cl_content['name'])[0]
- Frontend.Checklist.click_on_checklist(
- self.user_content_api, cl_content['name'], recent_checklist_uuid)
- Frontend.Checklist.update_cl_associated_files(
- self.user_content_api['engagement_manual_id'])
- DB.Checklist.state_changed(
- "name", cl_content['name'], Constants.ChecklistStates.Review.TEXT)
- Frontend.General.refresh()
- log_2 = Frontend.Checklist.get_jenkins_log()
- build_identifier_2 = API.Jenkins.find_build_num_out_of_jenkins_log(
- log_2)
- Helper.internal_not_equal(build_identifier_1, build_identifier_2)
diff --git a/tests/uiTests/test_cms_news_and_announcementsion.py b/tests/uiTests/test_cms_news_and_announcementsion.py
deleted file mode 100644
index ad918d8..0000000
--- a/tests/uiTests/test_cms_news_and_announcementsion.py
+++ /dev/null
@@ -1,174 +0,0 @@
-# ============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.
-from wheel.signatures import assertTrue
-
-from iceci.decorator.exception_decor import exception
-from services.constants import Constants
-from services.logging_service import LoggingServiceFactory
-from tests.uiTests.test_ui_base import TestUiBase
-from services.types import API, Frontend, DB
-logger = LoggingServiceFactory.get_logger()
-
-
-class TestCMSNewsAndAnnoucements(TestUiBase):
- user_content = None
-
- @classmethod
- def setUpClass(cls):
- super(TestCMSNewsAndAnnoucements, cls).setUpClass()
-
- cls.user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
- logger.debug("user_conntent = " + str(cls.user_content))
-
- def setUp(self):
- super(TestCMSNewsAndAnnoucements, self).setUp()
- Frontend.User.login(
- self.user_content['email'],
- Constants.Default.Password.TEXT)
-
- @exception()
- def test_announcements(self):
- categoryId = DB.Cms.get_cms_category_id('News')
- assertTrue(len(categoryId) > 0 and not None)
-
- @exception()
- def test_insert_post_Announcement(self):
- title, description = DB.Cms.create_announcement()
- Frontend.User.logout()
- Frontend.User.login(
- self.user_content['email'], Constants.Default.Password.TEXT)
- Frontend.Cms.validae_announcement(title, description)
-
- @exception()
- def test_insert_post_News(self):
- title, description = DB.Cms.create_news()
- Frontend.User.logout()
- Frontend.User.login(
- self.user_content['email'], Constants.Default.Password.TEXT)
- Frontend.Cms.validate_news(title, description)
-
- @exception()
- def test_insert_post_FAQ(self):
- title, description = DB.Cms.create_faq()
- Frontend.User.logout()
- Frontend.User.login(
- self.user_content['email'], Constants.Default.Password.TEXT)
- Frontend.Cms.validate_FAQ(description)
-
- @exception()
- def test_insert_page(self):
- title, description = DB.Cms.create_page()
- Frontend.Cms.validate_page(title, description)
-
- @exception()
- def test_search_documentation_title(self):
- title, description = DB.Cms.create_page()
- logger.debug("About to login with EL and add VFC")
- users = [
- self.user_content['el_email'],
- self.user_content['pr_email'],
- Constants.Users.AdminRO.EMAIL,
- Constants.Users.Admin.EMAIL,
- self.user_content['email']]
- for user in users:
- logger.debug("Login with user " + user)
- Frontend.User.relogin(
- user,
- Constants.Default.Password.TEXT,
- "documentation")
- Frontend.Cms.search_documentation_title(title, self.user_content)
-
- @exception()
- def test_search_documentation_content(self):
- title, description = DB.Cms.create_page()
- Frontend.Cms.search_documentation_content(title, description)
-
- '''
- Announcement toast should stay for 2 days after it was published
- '''
- @exception()
- def test_validate_expired_post_Announcement(self):
- title, description = DB.Cms.create_announcement()
- Frontend.User.logout()
- Frontend.User.login(
- self.user_content['email'], Constants.Default.Password.TEXT)
- Frontend.Cms.validate_expired_post_Announcement(
- self.user_content['email'], title, description)
-
- '''
- Announcement toast should stay was published if the user closes the message
- '''
- @exception()
- def test_Announcement_validate_toast(self):
- title, description = DB.Cms.create_announcement()
- Frontend.User.relogin(
- self.user_content['email'],
- Constants.Default.Password.TEXT,
- Constants.Toast.CMS_ID)
- Frontend.Cms.announcement_validate_toast(
- title, description, self.user_content)
-
- '''
- Announcement toast is shown for users even after the entry has disappeared
- from the widget on the Dashboard
- '''
- @exception()
- def test_validate_5_last_Announcement_displayed(self):
- listOfTitleAnDescriptions = DB.Cms.create_announcements(6)
- Frontend.User.relogin(
- self.user_content['email'],
- Constants.Default.Password.TEXT)
- last_title = listOfTitleAnDescriptions[len(
- listOfTitleAnDescriptions) - 1][0]
- Frontend.Cms.validate_5_last_announcement_displayed(
- listOfTitleAnDescriptions, self.user_content, last_title)
-
- @exception()
- def test_insert_grandchild_page(self):
- parent_title, parent_description = DB.Cms.create_page()
- parent_id = DB.Cms.get_last_inserted_page_id()
- child_title, child_description = DB.Cms.create_page(parent_id)
- child_id = DB.Cms.get_last_inserted_page_id()
- grand_child_title, grand_child_description = DB.Cms.create_page(
- child_id)
- Frontend.Cms.validate_grandchild_page(
- parent_title,
- child_title,
- grand_child_title,
- grand_child_description)
diff --git a/tests/uiTests/test_dashboard_feature.py b/tests/uiTests/test_dashboard_feature.py
deleted file mode 100644
index b1fc570..0000000
--- a/tests/uiTests/test_dashboard_feature.py
+++ /dev/null
@@ -1,164 +0,0 @@
-# ============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.
-from iceci.decorator.exception_decor import exception
-from services.constants import Constants
-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 TestDashboardFeature(TestUiBase):
- user_content = None
-
- @classmethod
- def setUpClass(cls):
- super(TestDashboardFeature, cls).setUpClass()
-
- cls.user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
-
- @exception()
- def test_validate_filtering_by_stage_intake(self):
- Frontend.User.login(
- self.user_content['el_email'], Constants.Default.Password.TEXT)
- Frontend.Dashboard.validate_filtering_by_stage(
- self.user_content, Constants.EngagementStages.INTAKE)
-
- @exception()
- def test_validate_filtering_by_stage_active(self):
- Frontend.User.login(
- self.user_content['el_email'], Constants.Default.Password.TEXT)
- Frontend.Dashboard.validate_filtering_by_stage_with_page_ids(
- self.user_content, Constants.EngagementStages.ACTIVE)
-
- @exception()
- def test_validate_filtering_by_stage_validated(self):
- query = "UPDATE ice_engagement SET engagement_stage='Validated'" \
- " WHERE engagement_manual_id ='" + \
- str(self.user_content['engagement_manual_id']) + "';"
- DB.General.update_by_query(query)
- Frontend.User.login(
- self.user_content['el_email'], Constants.Default.Password.TEXT)
- Frontend.Dashboard.validate_filtering_by_stage_with_page_ids(
- self.user_content, Constants.EngagementStages.VALIDATED)
-
- @exception()
- def test_validate_filtering_by_stage_completed(self):
- Frontend.User.login(
- self.user_content['el_email'], Constants.Default.Password.TEXT)
- Frontend.Dashboard.validate_filtering_by_stage_with_page_ids(
- self.user_content, Constants.EngagementStages.COMPLETED)
-
- @exception()
- def test_validate_filtering_by_stage_all(self):
- Frontend.User.login(
- self.user_content['el_email'], Constants.Default.Password.TEXT)
- Frontend.Dashboard.validate_filtering_by_stage_with_page_ids(
- self.user_content, Constants.EngagementStages.ALL)
-
- @exception()
- def test_validate_statistics_by_stages(self):
- Frontend.User.login(
- self.user_content['el_email'], Constants.Default.Password.TEXT)
- Frontend.Dashboard.validate_statistics_by_stages(self.user_content)
-
- @exception()
- def test_assigned_next_steps(self):
- Frontend.User.login(
- self.user_content['email'], Constants.Default.Password.TEXT)
- Frontend.User.assigned_one_NS_to_user(self.user_content)
- Frontend.Dashboard.check_if_the_eng_of_NS_is_the_correct_one(
- self.user_content)
- Frontend.Dashboard.check_if_creator_of_NS_is_the_EL(self.user_content)
- Frontend.Overview.go_to_eng_overview_by_clicking_on_the_created_NS(
- self.user_content)
-
- @exception()
- def test_search_engagement(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'])
- vfcName = Frontend.DetailedView.add_vfc()
- users = [self.user_content['el_email'], self.user_content['pr_email'],
- self.user_content['email'],
- Constants.Users.Admin.EMAIL, Constants.Users.AdminRO.EMAIL]
- session.wait_until_retires = 20
- Frontend.Dashboard.search_in_dashboard(
- self.user_content, vfcName, users)
- session.wait_until_retires = session.positive_wait_until_retires
-
- @exception()
- def test_validate_statistics_modal_appears_for_peer_re(self):
- Frontend.User.login(
- self.user_content['pr_email'], Constants.Default.Password.TEXT)
- Frontend.Dashboard.click_on_dashboard_and_validate_statistics(
- is_negative=False)
-
- @exception()
- def test_validate_statistics_modal_appears_for_el(self):
- Frontend.User.login(
- self.user_content['el_email'], Constants.Default.Password.TEXT)
- Frontend.Dashboard.click_on_dashboard_and_validate_statistics(
- is_negative=False)
-
- @exception()
- def test_validate_statistics_modal_appears_for_standart_user(self):
- Frontend.User.login(
- self.user_content['email'], Constants.Default.Password.TEXT)
- Frontend.Dashboard.click_on_dashboard_and_validate_statistics(
- is_negative=True)
-
- @exception()
- def test_validate_statistics_modal_appears_for_admin(self):
- Frontend.User.login(
- Constants.Users.Admin.EMAIL, Constants.Default.Password.TEXT)
- Frontend.Dashboard.click_on_dashboard_and_validate_statistics(
- is_negative=False)
-
- @exception()
- def test_validate_statistics_modal_appears_for_admin_ro(self):
- Frontend.User.login(
- Constants.Users.AdminRO.EMAIL, Constants.Default.Password.TEXT)
- Frontend.Dashboard.click_on_dashboard_and_validate_statistics(
- is_negative=False)
diff --git a/tests/uiTests/test_detailed_view.py b/tests/uiTests/test_detailed_view.py
deleted file mode 100644
index e9870b8..0000000
--- a/tests/uiTests/test_detailed_view.py
+++ /dev/null
@@ -1,338 +0,0 @@
-# ============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'])
diff --git a/tests/uiTests/test_edit_checklist_template.py b/tests/uiTests/test_edit_checklist_template.py
deleted file mode 100644
index 6b636a8..0000000
--- a/tests/uiTests/test_edit_checklist_template.py
+++ /dev/null
@@ -1,110 +0,0 @@
-# ============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.
-from iceci.decorator.exception_decor import exception
-from services.constants import Constants
-from services.logging_service import LoggingServiceFactory
-from services.types import Frontend, DB
-from tests.uiTests.test_ui_base import TestUiBase
-
-
-logger = LoggingServiceFactory.get_logger()
-
-
-class TestChecklistTemplate(TestUiBase):
- one_web_driver_enabled = False
-
- @classmethod
- def setUpClass(cls):
- super(TestChecklistTemplate, cls).setUpClass()
- DB.Checklist.create_editing_cl_template_if_not_exist()
-
- @exception()
- def test_save_checklist_template_without_changes(self):
- Frontend.ChecklistTemplate.basic_admin_navigation()
- Frontend.ChecklistTemplate.click_on_template_name_on_navigation(
- Constants.Dashboard.LeftPanel.EditChecklistTemplate.HEAT,
- Constants.Dashboard.LeftPanel.EditChecklistTemplate.HEAT)
- Frontend.ChecklistTemplate.save_with_no_changes()
-
- @exception()
- def test_discard_checklist_template_with_changes(self):
- Frontend.ChecklistTemplate.basic_admin_navigation()
- Frontend.ChecklistTemplate.click_on_template_name_on_navigation(
- Constants.Dashboard.LeftPanel.EditChecklistTemplate.HEAT,
- Constants.Dashboard.LeftPanel.EditChecklistTemplate.HEAT)
- Frontend.ChecklistTemplate.discard_checklist_after_modification()
-
- @exception()
- def test_save_checklist_template_after_edit_section_name(self):
- Frontend.ChecklistTemplate.basic_admin_navigation()
- Frontend.ChecklistTemplate.click_on_template_name_on_navigation(
- Constants.Dashboard.LeftPanel.EditChecklistTemplate.HEAT,
- Constants.Dashboard.LeftPanel.EditChecklistTemplate.HEAT)
- Frontend.ChecklistTemplate.edit_template_and_save()
-
- @exception()
- def test_save_checklist_template_after_lineitem_delete(self):
- Frontend.ChecklistTemplate.basic_admin_navigation()
- Frontend.ChecklistTemplate.click_on_template_name_on_navigation(
- Constants.Dashboard.LeftPanel.EditChecklistTemplate.HEAT,
- Constants.Dashboard.LeftPanel.EditChecklistTemplate.HEAT)
- Frontend.ChecklistTemplate.del_lineitem_and_save()
-
- @exception()
- def test_save_checklist_template_after_lineitem_added(self):
- Frontend.ChecklistTemplate.basic_admin_navigation()
- Frontend.ChecklistTemplate.click_on_template_name_on_navigation(
- Constants.Dashboard.LeftPanel.EditChecklistTemplate.HEAT,
- Constants.Dashboard.LeftPanel.EditChecklistTemplate.HEAT)
- Frontend.ChecklistTemplate.add_lineitem_and_save()
-
- @exception()
- def test_lineitem_added_and_verify_cl_changed(self):
- Frontend.ChecklistTemplate.basic_admin_navigation()
- Frontend.ChecklistTemplate.click_on_template_name_on_navigation(
- Constants.Dashboard.LeftPanel.EditChecklistTemplate.HEAT,
- Constants.Dashboard.LeftPanel.EditChecklistTemplate.HEAT)
- Frontend.ChecklistTemplate.add_lineitem_and_check_db()
-
- @exception()
- def test_save_checklist_template_after_edit_lineitem(self):
- Frontend.ChecklistTemplate.basic_admin_navigation()
- Frontend.ChecklistTemplate.click_on_template_name_on_navigation(
- Constants.Dashboard.LeftPanel.EditChecklistTemplate.HEAT,
- Constants.Dashboard.LeftPanel.EditChecklistTemplate.HEAT)
- Frontend.ChecklistTemplate.edit_description_lineitem_and_save()
diff --git a/tests/uiTests/test_export_excel.py b/tests/uiTests/test_export_excel.py
deleted file mode 100644
index d63ce45..0000000
--- a/tests/uiTests/test_export_excel.py
+++ /dev/null
@@ -1,73 +0,0 @@
-# ============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.
-from selenium.common.exceptions import TimeoutException
-
-from iceci.decorator.exception_decor import exception
-from services.constants import Constants
-from services.logging_service import LoggingServiceFactory
-from services.types import API, Frontend
-from tests.uiTests.test_ui_base import TestUiBase
-
-
-logger = LoggingServiceFactory.get_logger()
-
-
-class TestFeatureExportToExcel(TestUiBase):
- user_content = None
-
- @classmethod
- def setUpClass(cls):
- super(TestFeatureExportToExcel, cls).setUpClass()
-
- cls.user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
-
- @exception()
- def test_validate_export_to_csv(self):
- Frontend.User.login(
- self.user_content['email'],
- Constants.Default.Password.TEXT)
- Frontend.User.click_on_export_excel(self.user_content)
- try:
- token = "token " + \
- API.Bridge.login_user(self.user_content['email'])
- content = API.VirtualFunction.get_export_dasboard_excel(token)
- if not content:
- raise Exception("content is empty.")
- except TimeoutException:
- logger.error("TimeoutException Not Appear")
diff --git a/tests/uiTests/test_feedback_modal.py b/tests/uiTests/test_feedback_modal.py
deleted file mode 100644
index 521f196..0000000
--- a/tests/uiTests/test_feedback_modal.py
+++ /dev/null
@@ -1,67 +0,0 @@
-# ============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.
-from iceci.decorator.exception_decor import exception
-from services.constants import Constants
-from services.logging_service import LoggingServiceFactory
-from services.types import Frontend, API
-from tests.uiTests.test_ui_base import TestUiBase
-
-
-logger = LoggingServiceFactory.get_logger()
-
-
-class TestFeedbackModal(TestUiBase):
- user_content = None
-
- @classmethod
- def setUpClass(cls):
- super(TestFeedbackModal, cls).setUpClass()
-
- cls.user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
-
- @exception()
- def test_add_feedback(self):
- Frontend.User.login(
- self.user_content['email'],
- Constants.Default.Password.TEXT)
- Frontend.User.click_on_avatar()
- Frontend.User.click_on_feedback()
- description = Frontend.User.add_feedback()
- Frontend.User.validate_feedback(
- description, self.user_content['email'])
diff --git a/tests/uiTests/test_invitations_and_throttle_logic.py b/tests/uiTests/test_invitations_and_throttle_logic.py
deleted file mode 100644
index 2e44ffc..0000000
--- a/tests/uiTests/test_invitations_and_throttle_logic.py
+++ /dev/null
@@ -1,194 +0,0 @@
-# ============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.
-from iceci.decorator.exception_decor import exception
-from services.constants import Constants
-from services.frontend.base_actions.click import Click
-from services.frontend.base_actions.enter import Enter
-from services.frontend.base_actions.get import Get
-from services.frontend.base_actions.wait import Wait
-from services.helper import Helper
-from services.logging_service import LoggingServiceFactory
-from services.types import API, DB, Frontend
-from tests.uiTests.test_ui_base import TestUiBase
-
-
-logger = LoggingServiceFactory.get_logger()
-
-
-class TestInvitationsLogic(TestUiBase):
- '''
- Check that there is not an invitation entry in the table for a specific
- email and engagement_uuid. If an entry exists, do not send an email.
- '''
-
- @exception()
- def test_validate_duplicate_invite(self):
- user_content = []
- for _ in range(3):
- user_content.append(
- API.VirtualFunction.create_engagement(wait_for_gitlab=False))
- Frontend.User.login(
- user_content[0]['email'], Constants.Default.Password.TEXT)
- engName = user_content[0][
- 'engagement_manual_id'] + ": " + user_content[0]['vfName']
- vf_left_nav_id = "clickable-" + engName
- Click.id(vf_left_nav_id)
- Frontend.Wizard.invite_team_members_modal(user_content[1]['email'])
- enguuid = DB.General.select_where(
- "uuid",
- "ice_engagement",
- "engagement_manual_id",
- user_content[0]['engagement_manual_id'],
- 1)
- invitation_token = DB.User.select_invitation_token(
- "invitation_token",
- "ice_invitation",
- "engagement_uuid",
- enguuid,
- user_content[1]['email'],
- 1)
- inviterURL = Constants.Default.InviteURL.Login.TEXT + invitation_token
- Frontend.General.re_open(inviterURL)
- title_id = "title-id-" + engName
- Frontend.User.login(
- user_content[1]['email'],
- Constants.Default.Password.TEXT,
- title_id)
- vf_left_nav_id = "clickable-" + engName
- Click.id(vf_left_nav_id)
- actualVfName = Get.by_id(vf_left_nav_id)
- Helper.internal_assert(engName, actualVfName)
- Wait.text_by_id(Constants.Dashboard.Overview.Title.ID, engName)
- Frontend.User.logout()
- Frontend.User.login(
- user_content[0]['email'], Constants.Default.Password.TEXT)
- engName = user_content[0][
- 'engagement_manual_id'] + ": " + user_content[0]['vfName']
- vf_left_nav_id = "clickable-" + engName
- Click.id(vf_left_nav_id)
- Click.id(Constants.Dashboard.Overview.TeamMember.ID)
- Wait.text_by_css(Constants.Dashboard.Wizard.Title.CSS,
- Constants.Dashboard.Wizard.InviteTeamMembers.
- Title.TEXT)
- Enter.text_by_name("email", user_content[1]['email'])
- Wait.text_by_css(
- Constants.SubmitButton.CSS,
- Constants.Dashboard.Wizard.InviteTeamMembers.Button.TEXT)
- Click.css(Constants.SubmitButton.CSS)
- Wait.id(Constants.Toast.ID)
- Helper.internal_assert(
- Get.by_id(Constants.Toast.ID), "Invite couldn't be created")
-
- '''
- If there are 5 invitations for a specific email in the last 24
- hours for a particular standard user
- and/or email do not send an email. Note: ELs and admins do not
- have a limit for how many invitations
- they can get per 24 hours.
- '''
- @exception()
- def test_5_invitations_for_specific_SU_last_24_hours(self):
- user_content = []
- for _ in range(2):
- user_content.append(
- API.Bridge.create_engagement(wait_for_gitlab=False))
- # Login with 1st user #
- Frontend.User.login(
- user_content[0]['email'], Constants.Default.Password.TEXT)
- vf_left_nav_id = Frontend.Invite.invite_users(user_content)
- # Login with 1st user #
- Frontend.User.login(
- user_content[0]['email'], Constants.Default.Password.TEXT)
- x = 4
- Frontend.Invite.invite_x_users(user_content, vf_left_nav_id, x)
- # Invite 6 #
- Frontend.Invite.invite_and_validate_limit(user_content, vf_left_nav_id)
-
- '''
- If there are more than 25 invitations for an invited_by_user_uuid
- corresponding to an normal standard users and read only admins,
- do not send the invite.
- '''
- @exception()
- def test_25_invitations_for_an_invited_by_user_uuid(self):
- user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
- list_of_invite_emails = []
- list_of_invite_emails.append(
- Constants.Users.LongEmailLengthStandardUser.EMAIL)
- for _ in range(29):
- list_of_invite_emails.append(Helper.rand_string("email"))
- Frontend.User.login(
- user_content['email'], Constants.Default.Password.TEXT)
- engName = user_content[
- 'engagement_manual_id'] + ": " + user_content['vfName']
- vf_left_nav_id = "clickable-" + engName
- Frontend.User.open_invite_team_member_form(vf_left_nav_id)
- countOfem = 2
- countofUser = 0
- Frontend.Invite.invite_x_users_from_tm(
- list_of_invite_emails, countofUser, countOfem, 9)
- # Next 10 Users #
- countOfem2 = 2
- countofUser2 = 10
- Click.id(
- Constants.Dashboard.Overview.TeamMember.ID, wait_for_page=True)
- Wait.text_by_css(Constants.Dashboard.Wizard.Title.CSS,
- Constants.Dashboard.Wizard.InviteTeamMembers.
- Title.TEXT)
- Frontend.Invite.invite_x_users_from_tm(
- list_of_invite_emails, countofUser2, countOfem2, 9)
- countOfem3 = 2
- countofUser3 = 20
- Click.id(
- Constants.Dashboard.Overview.TeamMember.ID, wait_for_page=True)
- Wait.text_by_css(Constants.Dashboard.Wizard.Title.CSS,
- Constants.Dashboard.Wizard.InviteTeamMembers.
- Title.TEXT)
- Frontend.Invite.invite_x_users_from_tm(
- list_of_invite_emails, countofUser3, countOfem3, 5)
- Wait.text_by_id(Constants.Toast.ID,
- "Invite couldn't be created", wait_for_page=True)
-
- def test_3_invitations_new_user_to_3_vfs(self):
- user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
- engName = user_content[
- 'engagement_manual_id'] + ": " + user_content['vfName']
- Frontend.Invite.invite_x_users_and_verify_VF_appers_for_invited(
- user_content, engName)
diff --git a/tests/uiTests/test_left_nav_panel.py b/tests/uiTests/test_left_nav_panel.py
deleted file mode 100644
index f564286..0000000
--- a/tests/uiTests/test_left_nav_panel.py
+++ /dev/null
@@ -1,219 +0,0 @@
-# ============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.
-from selenium.webdriver.support.select import Select
-
-from iceci.decorator.exception_decor import exception
-from services.constants import Constants
-from services.frontend.base_actions.click import Click
-from services.frontend.base_actions.enter import Enter
-from services.frontend.base_actions.get import Get
-from services.frontend.base_actions.wait import Wait
-from services.helper import Helper
-from services.logging_service import LoggingServiceFactory
-from services.session import session
-from services.types import API, Frontend, DB
-from tests.uiTests.test_ui_base import TestUiBase
-
-
-logger = LoggingServiceFactory.get_logger()
-
-
-class TestLeftNavPanel(TestUiBase):
- user_content = None
-
- @classmethod
- def setUpClass(cls):
- super(TestLeftNavPanel, cls).setUpClass()
- cls.user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
- cls.eng_title = "%s: %s" % (
- cls.user_content['engagement_manual_id'],
- cls.user_content['vfName'])
- cls.left_panel_eng_id = "clickable-%s" % (cls.eng_title)
-
- def setUp(self):
- super(TestLeftNavPanel, self).setUp()
- Frontend.User.login(
- self.user_content['el_email'], Constants.Default.Password.TEXT)
-
- @exception()
- def test_starred_recent_searchbar(self):
- actualVfName = Get.by_id(self.left_panel_eng_id)
- Helper.internal_assert(self.eng_title, actualVfName)
- Click.id(self.left_panel_eng_id)
- Wait.id("title-id-" + self.eng_title)
- Helper.internal_assert(
- self.user_content['engagement_manual_id'] +
- ":",
- Get.by_id(
- "title-id-" +
- self.eng_title))
- Click.id(Constants.Dashboard.Overview.Star.ID, wait_for_page=True)
- Wait.id("title-id-" + self.eng_title)
- Click.id(Constants.Dashboard.Overview.Star.ID, wait_for_page=True)
- Wait.id("title-id-" + self.eng_title, wait_for_page=True)
- Helper.internal_assert(
- self.eng_title, Get.by_id(self.left_panel_eng_id))
- Enter.text_by_xpath(
- "//input[@type='text']",
- self.user_content['engagement_manual_id'],
- wait_for_page=True)
- Wait.text_by_css(
- Constants.Dashboard.LeftPanel.SearchBox.Results.CSS,
- self.eng_title)
- Click.css(
- Constants.Dashboard.LeftPanel.SearchBox.Results.CSS,
- wait_for_page=True)
-
- @exception()
- def test_search_bar(self):
- """ Create user and VF, log in, add VFC, search by EID, VF and VFC """
- vfFullName = self.user_content[
- 'engagement_manual_id'] + ": " + self.user_content['vfName']
- try:
- Enter.text_by_id(
- Constants.Dashboard.LeftPanel.SearchBox.ID,
- self.user_content['vfName'])
- Wait.css(Constants.Dashboard.LeftPanel.SearchBox.Results.CSS)
- Click.css(Constants.Dashboard.LeftPanel.SearchBox.Results.CSS)
- Wait.text_by_id(
- Constants.Dashboard.Overview.Title.ID, vfFullName)
- except BaseException:
- errorMsg = "Failed to search by VF name."
- raise Exception(errorMsg)
-
- try:
- Enter.text_by_id(
- Constants.Dashboard.LeftPanel.SearchBox.ID,
- self.user_content['engagement_manual_id'])
- Enter.text_by_id(
- Constants.Dashboard.LeftPanel.SearchBox.ID,
- self.user_content['engagement_manual_id'])
- Wait.css(Constants.Dashboard.LeftPanel.SearchBox.Results.CSS)
- Click.css(Constants.Dashboard.LeftPanel.SearchBox.Results.CSS)
- Wait.text_by_id(
- Constants.Dashboard.Overview.Title.ID, vfFullName)
- except BaseException:
- errorMsg = "Failed to search by Engagement Manual ID."
- raise Exception(errorMsg)
- Frontend.Overview.click_on_vf(self.user_content)
- detailedViewID = Constants.Dashboard.DetailedView.ID + vfFullName
- Wait.text_by_id(detailedViewID, "Detailed View", wait_for_page=True)
- Click.id(detailedViewID, wait_for_page=True)
- Click.id(
- Constants.Dashboard.DetailedView.VFC.Add.ID, wait_for_page=True)
- vfcName = Helper.rand_string("randomString")
- extRefID = Helper.rand_string("randomNumber")
- Enter.text_by_name("name", vfcName)
- Enter.text_by_name("extRefID", extRefID, wait_for_page=True)
- Select(session.ice_driver.find_element_by_id(
- Constants.Dashboard.DetailedView.VFC.Choose_Company.ID)).\
- select_by_visible_text(self.user_content['vendor'])
- Click.id(
- Constants.Dashboard.DetailedView.VFC.Save_button.ID,
- wait_for_page=True)
- try:
- Enter.text_by_id(
- Constants.Dashboard.LeftPanel.SearchBox.ID,
- vfcName,
- wait_for_page=True)
- Click.id(
- "search-" + self.user_content['vfName'], wait_for_page=True)
- Wait.id("clickable-" + vfFullName, wait_for_page=True)
- except Exception as e:
- errorMsg = "Failed to search by VFC name."
- raise Exception(errorMsg + str(e))
-
- @exception()
- def test_recent_bar_by_last_updated(self):
- countIdsActive = 0
- myVfName = self.user_content[
- 'engagement_manual_id'] + ": " + self.user_content['vfName']
- actualVfNameid = "clickable-" + myVfName
- actualVfName = Get.by_id(actualVfNameid)
- Helper.internal_assert(myVfName, actualVfName)
- Click.id(actualVfNameid)
- uuid = DB.General.select_where_email(
- "uuid", "ice_user_profile", self.user_content['el_email'])
- ids2 = DB.User.select_recent_vf_of_user(uuid, 0)
- part_of_id_to_find = "clickable-"
- ids1 = session.ice_driver.find_elements_by_css_selector(
- '[id*="%s"]' % part_of_id_to_find)
- for ii in ids1:
- if "clickable-" in ii.get_attribute('id'):
- logger.debug("Fetched ID: " + ii.get_attribute('id'))
- vf_name = ii.get_attribute('id').split(" ")[1]
- vf_uuid = DB.General.select_where(
- "uuid", "ice_vf", "name", vf_name, 1)
- if vf_uuid in ids2:
- countIdsActive += 1
- if(countIdsActive == len(ids2.split())):
- logger.debug("Right result")
-
- @exception()
- def test_entering_engagement_from_dashboard(self):
- Wait.text_by_id(self.left_panel_eng_id, self.eng_title)
- DB.VirtualFunction.remove_engagement_from_recent(
- self.user_content['vf_uuid'])
- Frontend.General.refresh()
- Frontend.Dashboard.statuses_search_vf(
- self.user_content['engagement_manual_id'],
- self.user_content['vfName'])
- Wait.text_by_id(self.left_panel_eng_id, self.eng_title)
-
- @exception()
- def test_search_by_email(self):
- user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
- Frontend.User.relogin(
- user_content['email'], Constants.Default.Password.TEXT)
- Frontend.Dashboard.search_in_left_searchbox_by_param(
- user_content['engagement_manual_id'],
- user_content['vfName'],
- user_content['email'])
-
- @exception()
- def test_search_by_username(self):
- user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
- Frontend.User.relogin(
- user_content['email'], Constants.Default.Password.TEXT)
- Frontend.Dashboard.search_in_left_searchbox_by_param(
- user_content['engagement_manual_id'],
- user_content['vfName'],
- user_content['full_name'])
diff --git a/tests/uiTests/test_login_with_new_user.py b/tests/uiTests/test_login_with_new_user.py
deleted file mode 100644
index 4cb0578..0000000
--- a/tests/uiTests/test_login_with_new_user.py
+++ /dev/null
@@ -1,650 +0,0 @@
-
-# ============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.
-from wheel.signatures import assertTrue
-from iceci.decorator.exception_decor import exception
-from services.constants import Constants
-from services.frontend.base_actions.click import Click
-from services.frontend.base_actions.enter import Enter
-from services.frontend.base_actions.get import Get
-from services.frontend.base_actions.wait import Wait
-from services.helper import Helper
-from services.logging_service import LoggingServiceFactory
-from services.types import API, Frontend, DB
-from tests.uiTests.test_ui_base import TestUiBase
-
-logger = LoggingServiceFactory.get_logger()
-
-
-class TestLoginPageWithNewUser(TestUiBase):
-
- @exception()
- def test_login_positive(self):
- ''' Create new user login. '''
- user_content = API.User.create_new_user()
- Frontend.User.login(
- user_content['email'], Constants.Default.Password.TEXT,
- Constants.Toast.ID)
- logger.debug("Resend Activation Email Page Opened ")
- Wait.text_by_id(
- Constants.Toast.ID, Constants.ActivateAccount.Toast.TEXT)
-
- @exception()
- def test_login_negative(self):
- ''' Negative: Type wrong password in login page. '''
- user_content = API.User.create_new_user(activate=True)
- Frontend.User.login(
- user_content['email'], Helper.rand_string("randomString"),
- Constants.Toast.ID)
- Wait.text_by_id(Constants.Toast.ID, Constants.Login.Toast.TEXT)
- logger.debug(
- "Message Error(APIUser or Password does not match) Displayed")
-
- @exception()
- def test_login_negative_email_valid(self):
- ''' Negative: Type wrong password in login page. '''
- user_content = API.User.create_new_user(activate=True)
- Frontend.User.login(
- user_content['email'] + "s", Constants.Default.Password.TEXT,
- Constants.Toast.ID)
- Wait.text_by_id(Constants.Toast.ID, Constants.Login.Toast.TEXT)
- logger.debug(
- "Message Error(APIUser or Password does not match) Displayed")
-
- @exception()
- def test_login_negative_required_password(self):
- ''' Check that password is a required field on login page. '''
- user_content = API.User.create_new_user()
- logger.debug("Verifying and Insert Login page elements:")
- Enter.text_by_name(Constants.Login.Email.NAME, user_content['email'])
- Enter.text_by_name(Constants.Login.Password.NAME, "1")
- Enter.text_by_name(Constants.Login.Password.NAME, "")
- Wait.text_by_css(
- Constants.Login.Password.Error.CSS,
- Constants.Login.Password.Error.TEXT)
-
- @exception()
- def test_login_page_dont_have_accaunt_button(self):
- '''
- Go to login page, click_on on "Don't have an account",
- verify user is redirected to signup page.
- '''
- Click.id(Constants.Login.DontHaveAccount.ID)
- Wait.text_by_css(
- Constants.Signup.Title.CSS, Constants.Signup.Title.TEXT)
-
- @exception()
- def test_login_page_home_button(self):
- ''' Open login page, verify home button works correctly. '''
- Click.id(Constants.Home.Logo.ID)
- Wait.text_by_id(Constants.Home.Title.ID, Constants.Home.Title.TEXT)
-
- @exception()
- def test_create_and_activate_user(self):
- ''' Create user and activate by log-in. '''
- user_content = API.User.create_new_user()
- Frontend.User.login(
- user_content['email'], Constants.Default.Password.TEXT,
- Constants.Toast.ID)
- ''' Resend Activation Email Page Opened '''
- Wait.text_by_id(
- Constants.Toast.ID, Constants.ActivateAccount.Toast.TEXT)
- activationUrl = DB.User.get_activation_url(user_content['email'])
- Frontend.General.re_open(activationUrl)
- Frontend.User.login(
- user_content['email'], Constants.Default.Password.TEXT)
- Wait.text_by_id(
- Constants.Toast.ID, Constants.Dashboard.ActivateMsg.Success.TEXT)
-
- @exception()
- def test_invite_existing_user(self):
- '''
- Create user and VF, login, invite existing user,
- login with second user and verify user has joined to engagement
- '''
- user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
- second_user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
- activationUrl = DB.User.get_activation_url(user_content['email'])
- Frontend.General.re_open(activationUrl)
- Frontend.User.login(
- user_content['email'], Constants.Default.Password.TEXT)
- vfFullName = user_content[
- 'engagement_manual_id'] + ": " + user_content['vfName']
- actualVfNameid = "clickable-" + vfFullName
- Click.id(actualVfNameid, wait_for_page=True)
- Wait.id(Constants.Dashboard.Overview.TeamMember.ID)
- Frontend.Wizard.invite_team_members_modal(second_user_content['email'])
- enguuid = DB.General.select_where(
- "uuid",
- "ice_engagement",
- "engagement_manual_id",
- user_content['engagement_manual_id'],
- 1) # Fetch one is_service_provider_contact user ID.
- invitation_token = DB.User.select_invitation_token(
- "invitation_token",
- "ice_invitation",
- "engagement_uuid",
- enguuid,
- second_user_content['email'],
- 1)
- inviterURL = Constants.Default.InviteURL.Login.TEXT + invitation_token
- Frontend.General.re_open(inviterURL)
- actualVfNameid = "clickable-" + vfFullName
- Frontend.User.login(
- second_user_content['email'],
- Constants.Default.Password.TEXT,
- actualVfNameid)
- Wait.modal_to_dissappear()
- Frontend.Overview.click_on_vf(user_content)
- Wait.text_by_id(Constants.Dashboard.Overview.Title.ID, vfFullName)
-
- @exception()
- def test_invite_new_user_of_service_provider_internal(self):
- '''
- TC Name: test_invite_new_user_aservice_provider_internal
- Steps:
- Create new NOT-MainServiceProvider APIUser via SignUp request-->
- Login with This One--> build "activationUrl"-->
- Validation of successful activate-->
- close Wizard --> Logout from Dashboard -->login-->Open Wizard-->
- fill all fields in all Tab's(4)-->
- validate second Tab is a "add_service_provider_internal"-->
- build inviteURL from email--> reopen browser with inviteURL-->
- Validate Login Form opened -->
- Login--> Validate Dashboard Form opened
- '''
- user_content = API.User.create_new_user(company="Amdocs")
- uuid = DB.General.select_where_email(
- "uuid", "ice_user_profile", user_content['email'])
- activationUrl = DB.User.get_activation_url(user_content['email'])
- Frontend.General.re_open(activationUrl)
- Frontend.User.login(
- user_content['email'], Constants.Default.Password.TEXT)
- Wait.text_by_id(
- Constants.Toast.ID, Constants.Dashboard.ActivateMsg.Success.TEXT)
- Click.id(Constants.Dashboard.Wizard.CloseButton.ID)
- Wait.modal_to_dissappear()
- Frontend.User.logout()
- Frontend.User.login(
- user_content['email'], Constants.Default.Password.TEXT)
- Wait.text_by_css(
- Constants.Dashboard.LeftPanel.Title.CSS,
- Constants.Dashboard.LeftPanel.Title.TEXT)
- Wait.id(Constants.Dashboard.Statuses.Title.ID)
- Click.id(Constants.Dashboard.LeftPanel.AddEngagement.ID)
- # Wizard
- vfName = Frontend.Wizard.add_vf()
- service_provider_internal = \
- Frontend.Wizard.add_service_provider_internal()
- inviteEmail = Helper.rand_invite_email()
- Frontend.Wizard.invite_team_members(inviteEmail)
- Frontend.Wizard.add_ssh_key()
- enguuid = DB.General.select_where("uuid", "ice_vf", "name", vfName, 1)
- invitation_token = DB.User.select_invitation_token(
- "invitation_token", "ice_invitation", "engagement_uuid",
- enguuid, inviteEmail, 1)
- inviterURL = Constants.Default.InviteURL.Signup.TEXT + \
- invitation_token + "&email=" + inviteEmail
-
- Frontend.General.re_open(inviterURL)
- actualInvitedEmail = Get.value_by_name(Constants.Signup.Email.NAME)
- Helper.internal_assert(inviteEmail, actualInvitedEmail)
- signUpURLforContact = DB.User.get_contact_signup_url(
- invitation_token,
- uuid,
- service_provider_internal["email"],
- service_provider_internal["full_name"],
- service_provider_internal["phone"],
- service_provider_internal["company"])
- Frontend.General.re_open(signUpURLforContact)
- actualInvitedEmail = Get.value_by_name(Constants.Signup.Email.NAME)
- Helper.internal_assert(
- service_provider_internal["email"], actualInvitedEmail)
- Helper.internal_assert(
- "+" + service_provider_internal["phone"],
- Get.value_by_name(
- Constants.Signup.Phone.NAME))
- Helper.internal_assert(
- service_provider_internal["full_name"],
- Get.value_by_name(
- Constants.Signup.FullName.NAME))
- signupCompany = Get.value_by_name(Constants.Signup.Company.NAME, True)
- Helper.internal_assert(
- service_provider_internal["company"], signupCompany)
-
- @exception()
- def test_create_2_new_users(self):
- '''
- Login and activate new user,
- than reopen browser and loging with new other user -
- check wizard appears for both Frontend.User.
- '''
- # First APIUser
- user_content = API.User.create_new_user()
- logger.debug(user_content['email'])
- activationUrl = DB.User.get_activation_url(user_content['email'])
- logger.debug(activationUrl)
- Frontend.General.re_open(activationUrl)
- Frontend.User.login(
- user_content['email'], Constants.Default.Password.TEXT)
- Wait.text_by_id(
- Constants.Toast.ID, Constants.Dashboard.ActivateMsg.Success.TEXT)
- Click.id(Constants.Dashboard.Wizard.CloseButton.ID)
- Wait.modal_to_dissappear()
- Frontend.User.logout()
- # Second APIUser
- user_content = API.User.create_new_user()
- logger.debug(user_content['email'])
- activationUrl2 = DB.User.get_activation_url(user_content['email'])
- logger.debug(activationUrl2)
- Frontend.General.re_open_not_clean_cache(activationUrl2)
- Frontend.User.login(
- user_content['email'], Constants.Default.Password.TEXT)
- Wait.text_by_id(
- Constants.Toast.ID, Constants.Dashboard.ActivateMsg.Success.TEXT)
- Click.id(Constants.Dashboard.Wizard.CloseButton.ID)
- Wait.modal_to_dissappear()
- Click.id(Constants.Dashboard.Avatar.ID)
-
- @exception()
- def test_validate_account_form(self):
- '''Go to Account page and validate details.'''
- user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
- ssh_key = API.User.set_ssh(user_content)
- Frontend.User.login(
- user_content['email'], Constants.Default.Password.TEXT)
- Frontend.User.go_to_account()
- Frontend.User.validate_account_details(
- user_content['full_name'], user_content['phone_number'], ssh_key)
-
- @exception()
- def test_add_vendor_contact(self):
- '''
- TC Name: test_add_vendor_contact
- Steps:
- Invite vendor contact and activate the invited user.
- Validate the invited user has the right VF.
- '''
- user_content = API.User.create_new_user()
- # Fetch one user ID.
- uuid = DB.General.select_where_email(
- "uuid", "ice_user_profile", user_content['email'])
- activationUrl = DB.User.get_activation_url(user_content['email'])
- Frontend.General.re_open(activationUrl)
- Frontend.User.login(
- user_content['email'], Constants.Default.Password.TEXT) # new
- Wait.text_by_id(
- Constants.Toast.ID, Constants.Dashboard.ActivateMsg.Success.TEXT)
- Click.id(Constants.Dashboard.Wizard.CloseButton.ID)
- Wait.modal_to_dissappear()
- Frontend.User.logout()
- Frontend.User.login(
- user_content['email'], Constants.Default.Password.TEXT)
- Wait.text_by_css(
- Constants.Dashboard.LeftPanel.Title.CSS,
- Constants.Dashboard.LeftPanel.Title.TEXT)
- Wait.id(Constants.Dashboard.Statuses.Title.ID)
- logger.debug("click_on on + Dashboard")
- Click.id(Constants.Dashboard.LeftPanel.AddEngagement.ID)
- # Wizard
- vfName = Frontend.Wizard.add_vf()
- vendor_contact = Frontend.Wizard.add_vendor_contact()
- inviteEmail = "automationqatt" + \
- Helper.rand_string("randomString") + "@gmail.com"
- Frontend.Wizard.invite_team_members(inviteEmail)
- Frontend.Wizard.add_ssh_key()
- engagement_id = DB.General.select_where(
- "engagement_id", "ice_vf", "name", vfName, 1)
- engLeadEmail = DB.User.select_el_email(vfName)
- engagement_manual_id = DB.General.select_where(
- "engagement_manual_id", "ice_engagement", "uuid", engagement_id, 1)
- invitation_token = DB.User.select_invitation_token(
- "invitation_token",
- "ice_invitation",
- "engagement_uuid",
- engagement_id,
- vendor_contact["email"],
- 1)
- signUpURLforContact = DB.User.get_contact_signup_url(
- invitation_token,
- uuid,
- vendor_contact["email"],
- vendor_contact["full_name"],
- vendor_contact["phone"],
- vendor_contact["company"])
- Frontend.General.re_open(signUpURLforContact)
- actualInvitedEmail = Get.value_by_name(Constants.Signup.Email.NAME)
- Helper.internal_assert(vendor_contact["email"], actualInvitedEmail)
- Helper.internal_assert(
- "+" + vendor_contact["phone"],
- Get.value_by_name(
- Constants.Signup.Phone.NAME))
- Helper.internal_assert(
- vendor_contact["full_name"],
- Get.value_by_name(
- Constants.Signup.FullName.NAME))
- Helper.internal_assert(
- vendor_contact["company"],
- Get.value_by_name(
- Constants.Signup.Company.NAME))
- # SignUp for VendorContact
- user_content['engagement_uuid'] = engagement_id
- user_content['engagement_manual_id'] = engagement_manual_id
- user_content['vfName'] = vfName
- user_content['el_email'] = engLeadEmail
- API.User.signup_invited_user(
- vendor_contact["company"],
- vendor_contact["email"],
- invitation_token,
- signUpURLforContact,
- user_content,
- True)
- activationUrl2 = DB.User.get_activation_url(vendor_contact["email"])
- # Activate for VendorContact
- myVfName = engagement_manual_id + ": " + vfName
- actualVfNameid = "clickable-" + myVfName
- Frontend.General.re_open(activationUrl2)
- Frontend.User.login(
- vendor_contact["email"],
- Constants.Default.Password.TEXT,
- actualVfNameid)
- # Validate opened right VF for VendorContact
- actualVfName = Get.by_id(actualVfNameid)
- Helper.internal_assert(myVfName, actualVfName)
-
- @exception()
- def test_add_service_provider_internal(self):
- '''
- TC Name: test_add_service_provider_internal
- Steps:
- Invite is_service_provider_contact Sponsor and
- activate the invited user. Validate sponsor has the right VF.
- '''
- user_content = API.User.create_new_user(company="Amdocs")
- uuid = DB.General.select_where_email(
- "uuid", "ice_user_profile", user_content['email'])
- activationUrl = DB.User.get_activation_url(user_content['email'])
- Frontend.General.re_open(activationUrl)
- Frontend.User.login(
- user_content['email'], Constants.Default.Password.TEXT) # new
- Wait.text_by_id(
- Constants.Toast.ID, Constants.Dashboard.ActivateMsg.Success.TEXT)
- Click.id(Constants.Dashboard.Wizard.CloseButton.ID)
- Wait.modal_to_dissappear()
- Frontend.User.logout()
- Frontend.User.login(
- user_content['email'], Constants.Default.Password.TEXT)
- Wait.text_by_css(
- Constants.Dashboard.LeftPanel.Title.CSS,
- Constants.Dashboard.LeftPanel.Title.TEXT)
- Wait.id(Constants.Dashboard.Statuses.Title.ID)
- logger.debug("click_on on + Dashboard")
- Click.id(Constants.Dashboard.LeftPanel.AddEngagement.ID)
- # Wizard
- vfName = Frontend.Wizard.add_vf()
- service_provider_internal = \
- Frontend.Wizard.add_service_provider_internal()
- inviteEmail = "automationqatt" + \
- Helper.rand_string("randomString") + "@gmail.com"
- Frontend.Wizard.invite_team_members(inviteEmail)
- Frontend.Wizard.add_ssh_key()
- enguuid = DB.General.select_where("uuid", "ice_vf", "name", vfName, 1)
- invitation_token = DB.User.select_invitation_token(
- "invitation_token", "ice_invitation", "engagement_uuid",
- enguuid, inviteEmail, 1)
- inviterURL = Constants.Default.InviteURL.Signup.TEXT + \
- invitation_token + "&email=" + inviteEmail
- Frontend.General.re_open(inviterURL)
- actualInvitedEmail = Get.value_by_name("email")
- Helper.internal_assert(inviteEmail, actualInvitedEmail)
- signUpURLforContact = DB.User.get_contact_signup_url(
- invitation_token,
- uuid,
- service_provider_internal["email"],
- service_provider_internal["full_name"],
- service_provider_internal["phone"],
- service_provider_internal["company"])
- Frontend.General.re_open(signUpURLforContact)
- actualInvitedEmail = Get.value_by_name(Constants.Signup.Email.NAME)
- Helper.internal_assert(
- str(
- "+" +
- service_provider_internal["phone"]),
- Get.value_by_name(
- Constants.Signup.Phone.NAME))
- Helper.internal_assert(
- service_provider_internal["full_name"],
- Get.value_by_name(
- Constants.Signup.FullName.NAME))
- Helper.internal_assert(
- service_provider_internal["company"],
- Get.value_by_name(
- Constants.Signup.Company.NAME))
- # Fetch one is_service_provider_contact user ID.
- engagement_id = DB.General.select_where(
- "engagement_id", "ice_vf", "name", vfName, 1)
- # SignUp for MainServiceProviderSponsorContact
- engagement_manual_id = DB.General.select_where(
- "engagement_manual_id", "ice_engagement", "uuid", engagement_id, 1)
-
- invitation_token = DB.User.select_invitation_token(
- "invitation_token",
- "ice_invitation",
- "engagement_uuid",
- engagement_id,
- service_provider_internal["email"],
- 1)
- engLeadEmail = DB.User.select_el_email(vfName)
- user_content['engagement_uuid'] = engagement_id
- user_content['engagement_manual_id'] = engagement_manual_id
- user_content['vfName'] = vfName
- user_content['el_email'] = engLeadEmail
-
- API.User.signup_invited_user(
- service_provider_internal["company"],
- service_provider_internal["email"],
- invitation_token,
- signUpURLforContact,
- user_content,
- True)
- activationUrl2 = DB.User.get_activation_url(
- service_provider_internal["email"])
- # Activate for VendorContact
-
- engagement_manual_id = DB.General.select_where(
- "engagement_manual_id", "ice_engagement", "uuid", engagement_id, 1)
- # Validate opened right VF for VendorContact
- myVfName = engagement_manual_id + ": " + vfName
- actualVfNameid = "clickable-" + myVfName
- Frontend.General.re_open(activationUrl2)
- Frontend.User.login(
- service_provider_internal["email"],
- Constants.Default.Password.TEXT,
- actualVfNameid)
- actualVfName = Get.by_id(actualVfNameid, wait_for_page=True)
- Helper.internal_assert(myVfName, actualVfName)
-
- @exception()
- def test_Validate_SSHkeyNS(self):
- ''' Insert a valid ssh key in wizard, validate "add ssh key"
- next step marked as completed.
- '''
- user_content = API.User.create_new_user()
- activationUrl = DB.User.get_activation_url(user_content['email'])
- Frontend.General.re_open(activationUrl)
- Frontend.User.login(
- user_content['email'], Constants.Default.Password.TEXT)
- Wait.text_by_id(
- Constants.Toast.ID, Constants.Dashboard.ActivateMsg.Success.TEXT)
- Click.id(Constants.Dashboard.Wizard.CloseButton.ID)
- Wait.modal_to_dissappear()
- Frontend.User.logout()
- Frontend.User.login(
- user_content['email'], Constants.Default.Password.TEXT)
- Wait.text_by_css(
- Constants.Dashboard.LeftPanel.Title.CSS,
- Constants.Dashboard.LeftPanel.Title.TEXT)
- logger.debug("click_on on + Dashboard")
- Click.id(Constants.Dashboard.LeftPanel.AddEngagement.ID)
- # Wizard
- vfName = Frontend.Wizard.add_vf()
- Frontend.Wizard.add_vendor_contact()
- inviteEmail = Helper.rand_invite_email()
- Frontend.Wizard.invite_team_members(inviteEmail)
- sshKey = Frontend.Wizard.add_ssh_key()
- Frontend.User.go_to_account()
- Wait.id(user_content['email'])
- actualFullName = Get.value_by_name(
- Constants.Dashboard.Avatar.Account.FullName.NAME)
- Helper.internal_assert(user_content['full_name'], actualFullName)
- actualSSHkey = Get.value_by_name(
- Constants.Dashboard.Avatar.Account.SSHKey.NAME)
- Helper.internal_assert(sshKey, actualSSHkey)
- Click.id(Constants.Dashboard.Statuses.ID)
- # VALIDATION FOR CONFIRMED BY ENG. LEAD
- engLeadEmail = DB.User.select_el_email(vfName)
- engagement_id = DB.General.select_where(
- "engagement_id", "ice_vf", "name", vfName, 1)
- engagement_manual_id = DB.General.select_where(
- "engagement_manual_id", "ice_engagement", "uuid", engagement_id, 1)
- myVfName = engagement_manual_id + ": " + vfName
- actualVfNameid = "clickable-" + myVfName
- Click.id(actualVfNameid)
- Click.id("overview-" + myVfName)
- Click.css("span.engagement_detail_menu_name")
- Click.xpath("//span[2]/multiselect/div/button")
- Click.link_text("Completed")
- elFullName = DB.General.select_where(
- "full_name", "ice_user_profile", "email", engLeadEmail, 1)
- idNs = elFullName + "_Completed"
- actualConfirmBy = str(Get.by_id(idNs))
- expectedConfirmBy = "System Next Step Completed: "
- Helper.internal_assert(expectedConfirmBy, actualConfirmBy)
-
- @exception()
- def test_current_status(self):
- user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
- vfName = user_content['vfName']
- Frontend.User.login(
- user_content['email'], Constants.Default.Password.TEXT) # new
- Frontend.Overview.click_on_vf(user_content)
- Frontend.User.go_to_account()
- Wait.id(user_content['email'])
- actualFullName = Get.value_by_name("fullname")
- Helper.internal_assert(user_content['full_name'], actualFullName)
- Click.id(Constants.Dashboard.Statuses.ID)
- Frontend.Overview.click_on_vf(user_content)
- Helper.internal_assert("Current Status", Get.by_css(
- Constants.Dashboard.Overview.Status.Header.ID))
- Wait.text_by_id(Constants.Dashboard.Overview.Status.Description.ID,
- "No status update has been provided yet.")
- Click.id(Constants.Dashboard.Avatar.ID)
- Click.link_text("Logout")
- engLeadEmail = DB.User.select_el_email(vfName)
- Frontend.User.relogin(engLeadEmail, Constants.Default.Password.TEXT)
- Frontend.Overview.click_on_vf(user_content)
- Click.css(Constants.Dashboard.Overview.Status.Add.CSS)
- Helper.internal_assert(
- "Add Status", Get.by_css("h3.modal-title.ng-binding"))
- Helper.internal_assert(
- "Use the form below to add the current status of the engagement.",
- Get.by_css("span.ng-binding"))
- Click.css("textarea[name=\"description\"]")
- Enter.text_by_css(
- "textarea[name=\"description\"]",
- "Add new Status",
- wait_for_page=True)
- Helper.internal_assert("Add status", Get.by_id(
- Constants.Dashboard.DetailedView.VFC.Save_button.ID))
- Click.id(
- Constants.Dashboard.DetailedView.VFC.Save_button.ID,
- wait_for_page=True)
- Helper.assertTrue("Last updated" in Get.by_id("status-update-details"))
- Wait.text_by_id(
- Constants.Dashboard.Overview.Status.Description.ID,
- "Add new Status")
- Wait.css(Constants.Dashboard.Overview.Status.Edit.CSS)
- Wait.modal_to_dissappear()
- Click.css(Constants.Dashboard.Overview.Status.Edit.CSS)
- Helper.internal_assert(
- "Current Status", Get.by_css("h3.modal-title.ng-binding"))
- Click.css("textarea[name=\"description\"]")
- Enter.text_by_css("textarea[name=\"description\"]", "Update Status")
- Click.id(Constants.Dashboard.DetailedView.VFC.Save_button.ID)
- Wait.modal_to_dissappear()
- Wait.text_by_id(
- Constants.Dashboard.Overview.Status.Description.ID,
- "Update Status")
- Frontend.User.logout()
- Frontend.User.relogin(
- user_content['email'], Constants.Default.Password.TEXT)
- Frontend.Overview.click_on_vf(user_content)
- Helper.internal_assert("Current Status", Get.by_css(
- Constants.Dashboard.Overview.Status.Header.ID))
- Wait.text_by_id(
- Constants.Dashboard.Overview.Status.Description.ID,
- "Update Status")
-
- @exception()
- def test_XSS_script(self):
- user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
- validate = API.User.update_account_injec_script(user_content)
- assertTrue(validate)
- Frontend.User.login(
- user_content['email'], Constants.Default.Password.TEXT)
- Frontend.User.open_account_form()
- script = "<script>;</script>"
- Enter.text_by_name("fullname", script, wait_for_page=True)
- Wait.text_by_css(Constants.SubmitButton.CSS, "Update")
- Click.css(Constants.SubmitButton.CSS, wait_for_page=True)
- Wait.text_by_css(
- Constants.Toast.CSS, "Account was updated successfully!")
-
- @exception()
- def test_add_vf(self):
- user_content = API.User.create_new_user_content_login_with_api()
- Frontend.User.login(
- user_content['email'], Constants.Default.Password.TEXT)
- Frontend.Overview.click_on_vf(user_content)
- # Wizard
- Frontend.Overview.create_and_verify_VF_with_VFversion()
diff --git a/tests/uiTests/test_next_step.py b/tests/uiTests/test_next_step.py
deleted file mode 100644
index 5c281f8..0000000
--- a/tests/uiTests/test_next_step.py
+++ /dev/null
@@ -1,262 +0,0 @@
-
-# ============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.
-from iceci.decorator.exception_decor import exception
-from services.constants import Constants
-from services.frontend.base_actions.click import Click
-from services.frontend.base_actions.wait import Wait
-from services.frontend.fe_general import FEGeneral
-from services.frontend.fe_next_step import FENextStep
-from services.frontend.fe_overview import FEOverview
-from services.frontend.fe_user import FEUser
-from services.helper import Helper
-from services.logging_service import LoggingServiceFactory
-from services.types import API, DB, Frontend
-from tests.uiTests.test_ui_base import TestUiBase
-
-
-logger = LoggingServiceFactory.get_logger()
-
-
-class TestNextStep(TestUiBase):
- user_content = None
-
- @classmethod
- def setUpClass(cls):
- super(TestNextStep, cls).setUpClass()
-
- cls.user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
-
- @exception()
- def test_add_next_step(self):
- user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
- Frontend.User.login(
- user_content['el_email'], Constants.Default.Password.TEXT)
- Frontend.Overview.click_on_vf(user_content)
- Frontend.Overview.add_next_step()
-
- @exception()
- def test_add_next_step_via_pr(self):
- user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
- Frontend.User.login(
- user_content['pr_email'], Constants.Default.Password.TEXT)
- Frontend.Overview.click_on_vf(user_content)
- Frontend.Overview.add_next_step()
-
- @exception()
- def test_complete_next_steps(self):
- user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
- steps_uuids = DB.VirtualFunction.return_expected_steps(
- user_content['engagement_uuid'],
- Constants.EngagementStages.INTAKE,
- user_content['email'])
- Frontend.User.login(
- user_content['email'], Constants.Default.Password.TEXT)
- Frontend.Overview.click_on_vf(user_content)
- for step_uuid in steps_uuids:
- Frontend.Overview.complete_next_step_and_wait_for_it_to_disappear(
- step_uuid)
- Helper.internal_assert(Frontend.Overview.get_list_of_next_steps(), [])
-
- @exception()
- def test_filter_next_steps_by_associated_files(self):
- user_content = API.VirtualFunction.create_engagement()
- API.GitLab.git_clone_push(user_content)
- user_content['session_token'] = "token " + \
- API.User.login_user(user_content['el_email'])
-
- # Create a checklist in order for the
- # files to be viewed in the Overview. when
- # we want to filter next steps by files in the Overview - EM shows us
- # files that relate to the VF's CLs)
- API.Checklist.create_checklist(user_content)
- next_step_uuid = API.VirtualFunction.add_next_step(
- user_content, [
- Constants.Dashboard.Overview.NextSteps.
- FilterByFileDropDown.FILE0_LINK_TEXT])
- Frontend.User.login(
- user_content['el_email'], Constants.Default.Password.TEXT)
- Frontend.Overview.click_on_vf(user_content)
- Frontend.Overview.next_steps_filter_by_files()
- Helper.internal_assert(
- Frontend.Overview.get_next_step_description(0),
- DB.VirtualFunction.select_next_step_description(next_step_uuid))
-
- @exception()
- def test_filter_next_steps_by_associated_files_via_pr(self):
- user_content = API.VirtualFunction.create_engagement()
- API.GitLab.git_clone_push(user_content)
- user_content['session_token'] = "token " + \
- API.User.login_user(user_content['el_email'])
- API.Checklist.create_checklist(user_content)
- next_step_uuid = API.VirtualFunction.add_next_step(
- user_content, [
- Constants.Dashboard.Overview.NextSteps.
- FilterByFileDropDown.FILE0_LINK_TEXT])
- Frontend.User.login(
- user_content['pr_email'], Constants.Default.Password.TEXT)
- Frontend.Overview.click_on_vf(user_content)
- Frontend.Overview.next_steps_filter_by_files()
- Helper.internal_assert(
- Frontend.Overview.get_next_step_description(0),
- DB.VirtualFunction.select_next_step_description(next_step_uuid))
-
- @exception()
- def test_delete_next_step(self):
- user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
- Frontend.User.login(
- user_content['el_email'], Constants.Default.Password.TEXT)
- Frontend.Overview.click_on_vf(user_content)
- steps_uuids = DB.VirtualFunction.select_next_steps_uuids_by_stage(
- user_content['engagement_uuid'], Constants.EngagementStages.INTAKE)
- for idx, step_uuid in enumerate(steps_uuids):
- Frontend.Overview.delete_next_step(step_uuid)
- logger.debug("Next step deleted! (%s of %s)" %
- (idx + 1, len(steps_uuids)))
-
- @exception()
- def test_delete_next_step_via_pr(self):
- user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
- Frontend.User.login(
- user_content['pr_email'], Constants.Default.Password.TEXT)
- Frontend.Overview.click_on_vf(user_content)
- steps_uuids = DB.VirtualFunction.select_next_steps_uuids_by_stage(
- user_content['engagement_uuid'], Constants.EngagementStages.INTAKE)
- for idx, step_uuid in enumerate(steps_uuids):
- Frontend.Overview.delete_next_step(step_uuid)
- logger.debug("Next step deleted! (%s of %s)" %
- (idx + 1, len(steps_uuids)))
-
- @exception()
- def test_next_steps_ordering(self):
- user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
- user_content['session_token'] = "token " + \
- API.User.login_user(user_content['email'])
- steps_uuids = DB.VirtualFunction.return_expected_steps(
- user_content['engagement_uuid'],
- Constants.EngagementStages.INTAKE,
- user_content['email'])
- Frontend.User.login(
- user_content['email'], Constants.Default.Password.TEXT)
- Frontend.Overview.click_on_vf(user_content)
- Click.id(Constants.Dashboard.Overview.NextSteps.StateDropDown.ID)
- Click.link_text(
- Constants.Dashboard.Overview.NextSteps.
- StateDropDown.COMPLETED_LINK_TEXT)
- Click.id(Constants.Dashboard.Overview.NextSteps.StateDropDown.ID,
- wait_for_page=True)
- Frontend.Overview.validate_next_steps_order(steps_uuids)
- for idx, step_uuid in enumerate(steps_uuids):
- DB.VirtualFunction.update_next_step_position(
- step_uuid, len(steps_uuids) - idx)
- Frontend.General.refresh()
- Click.id(Constants.Dashboard.Overview.NextSteps.StateDropDown.ID,
- wait_for_page=True)
- Click.link_text(
- Constants.Dashboard.Overview.NextSteps.
- StateDropDown.COMPLETED_LINK_TEXT,
- wait_for_page=True)
- Click.id(Constants.Dashboard.Overview.NextSteps.StateDropDown.ID,
- wait_for_page=True)
- Frontend.Overview.validate_next_steps_order(
- list(reversed(steps_uuids)))
-
- @exception()
- def test_next_step_with_empty_associated_files(self):
- Frontend.User.login(
- self.user_content['el_email'], Constants.Default.Password.TEXT)
- Frontend.Overview.click_on_vf(self.user_content)
- Frontend.Overview.validate_empty_associated_files()
-
- @exception()
- def test_next_step_with_associated_files(self):
- user_content = API.VirtualFunction.create_engagement()
- API.GitLab.git_clone_push(user_content)
- user_content['session_token'] = "token " + \
- API.User.login_user(user_content['el_email'])
- Wait.page_has_loaded()
- cl_content = API.Checklist.create_checklist(user_content)
- DB.Checklist.state_changed(
- "name", cl_content['name'], Constants.ChecklistStates.Review.TEXT)
- new_cl_uuid = DB.Checklist.get_recent_checklist_uuid(
- cl_content['name'])[0]
- API.Checklist.add_checklist_next_step(user_content, new_cl_uuid)
- Frontend.User.login(
- user_content['pr_email'], Constants.Default.Password.TEXT)
- Frontend.Overview.click_on_vf(user_content)
- Frontend.Overview.next_steps_filter_by_files()
- Frontend.Overview.validate_associated_files(
- Constants.Dashboard.Overview.NextSteps.
- FilterByFileDropDown.FILE0_LINK_TEXT)
-
- @exception()
- def test_all_vf_gitlab_repo_files_can_be_chosen_in_new_ns(self):
- newObj, user_content = API.User.create_new_user_content()
- user_content['session_token'] = "token " + \
- API.User.login_user(user_content['el_email'])
- checklist = API.Checklist.create_checklist(user_content)
- DB.Checklist.state_changed(
- "uuid", checklist['uuid'], Constants.ChecklistStates.Review.TEXT)
- Frontend.User.relogin(
- user_content['el_email'], 'iceusers')
- eng_id = "clickable-%s: %s" % (
- user_content['engagement_manual_id'], user_content['vfName'])
- Frontend.Checklist.go_to_checklist(eng_id, checklist['uuid'])
- Frontend.Checklist.get_to_create_new_ns_modal()
- files = API.VirtualFunction.get_engagement(user_content)["files"]
- FEGeneral.verify_existing_files_in_list(
- files, 'associated-files-list')
-
- @exception()
- def test_ns_choose_all_vf_gitlab_repo_files_via_select_all(self):
- self.user_content['session_token'] = "token " + \
- API.User.login_user(self.user_content['el_email'])
- API.GitLab.git_clone_push(self.user_content)
- API.Checklist.create_checklist(self.user_content)
- FEUser.login(self.user_content['el_email'],
- Constants.Default.Password.TEXT)
- FEOverview.click_on_vf(self.user_content)
- Frontend.Checklist.get_to_create_new_ns_modal_via_overview()
- FENextStep.check_select_deselect_all_files()
diff --git a/tests/uiTests/test_notification_for_new_user.py b/tests/uiTests/test_notification_for_new_user.py
deleted file mode 100644
index 076760c..0000000
--- a/tests/uiTests/test_notification_for_new_user.py
+++ /dev/null
@@ -1,109 +0,0 @@
-# ============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.
-
-from iceci.decorator.exception_decor import exception
-from services.constants import Constants
-from services.logging_service import LoggingServiceFactory
-from services.types import API, DB, Frontend
-from tests.uiTests.test_ui_base import TestUiBase
-
-
-logger = LoggingServiceFactory.get_logger()
-
-
-class TestNotificationForNewUser(TestUiBase):
- user_content = None
-
- @classmethod
- def setUpClass(cls):
- super(TestNotificationForNewUser, cls).setUpClass()
-
- cls.user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
-
- @exception()
- def test_notification_page_sanity(self):
- Frontend.User.login(
- self.user_content['email'], Constants.Default.Password.TEXT)
- logger.debug("Go to notifications page")
- Frontend.User.go_to_notifications()
- logger.debug("Remove one notification")
- notificationIDs = DB.User.get_notification_id_by_email(
- self.user_content['email'])
- Frontend.User.delete_notification(notificationIDs[0])
-
- @exception()
- def test_validate_notifications(self):
- user_content = API.VirtualFunction.create_engagement()
- user_content['session_token'] = "token " + \
- API.User.login_user(user_content['el_email'])
- Frontend.User.relogin(
- user_content['email'], Constants.Default.Password.TEXT)
- Frontend.User.go_to_notifications()
- notificationIDs = DB.User.get_notification_id_by_email(
- user_content['email'])
- notification_list = [
- user_content['full_name'] +
- " joined " +
- user_content['vfName'],
- user_content['el_name'] +
- " joined " +
- user_content['vfName'],
- user_content['pr_name'] +
- " joined " +
- user_content['vfName']]
- Frontend.User.validate_notifications(
- notificationIDs, notification_list)
-
- @exception()
- def test_num_of_notifications_for_user(self):
- Frontend.User.login(
- self.user_content['el_email'], Constants.Default.Password.TEXT)
- notifications_num = DB.User.get_not_seen_notifications_number_by_email(
- self.user_content['el_email'])
- Frontend.User.compare_notifications_count_for_user(notifications_num)
-
- @exception()
- def test_zero_notifications_for_user(self):
- Frontend.User.login(
- self.user_content['pr_email'], Constants.Default.Password.TEXT)
- Frontend.User.go_to_notifications()
- notifications_num = DB.User.get_not_seen_notifications_number_by_email(
- self.user_content['pr_email'], is_negative=True)
- assert(notifications_num == "0")
- Frontend.User.check_notification_number_is_not_presented()
diff --git a/tests/uiTests/test_overview.py b/tests/uiTests/test_overview.py
deleted file mode 100644
index e58f4ea..0000000
--- a/tests/uiTests/test_overview.py
+++ /dev/null
@@ -1,69 +0,0 @@
-
-# ============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.
-'''
-Created on 25 Jul 2017
-'''
-from iceci.decorator.exception_decor import exception
-from services.constants import Constants
-from services.logging_service import LoggingServiceFactory
-from services.types import API, Frontend, DB
-from tests.uiTests.test_ui_base import TestUiBase
-
-logger = LoggingServiceFactory.get_logger()
-
-
-class TestOverview(TestUiBase):
-
- @exception()
- def test_engagement_validation_details_update_when_cl_closed(self):
- user_content = API.VirtualFunction.create_engagement()
- cl_name = Constants.Dashboard.Checklist.\
- ChecklistDefaultNames.AIC_INSTANTIATION
- DB.Checklist.state_changed(
- "name", cl_name, Constants.ChecklistStates.Review.TEXT)
- cl_uuid = DB.Checklist.get_recent_checklist_uuid(cl_name)[0]
- vf_staff_emails = [user_content['el_email'], user_content[
- 'pr_email'], Constants.Users.Admin.EMAIL]
- API.Checklist.move_cl_to_closed(cl_uuid, vf_staff_emails)
- Frontend.User.login(
- user_content['el_email'], Constants.Default.Password.TEXT)
- Frontend.Overview.click_on_vf(user_content)
- Frontend.Overview.change_engagement_stage(
- Constants.EngagementStages.ACTIVE)
- Frontend.Overview.verify_validation_dates()
diff --git a/tests/uiTests/test_portal_homepage.py b/tests/uiTests/test_portal_homepage.py
deleted file mode 100644
index 7995f44..0000000
--- a/tests/uiTests/test_portal_homepage.py
+++ /dev/null
@@ -1,56 +0,0 @@
-# ============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.
-from django.conf import settings
-
-from iceci.decorator.exception_decor import exception
-from services.logging_service import LoggingServiceFactory
-from services.types import Frontend
-from tests.uiTests.test_ui_base import TestUiBase
-
-
-logger = LoggingServiceFactory.get_logger()
-
-
-class TestPortalHomepage(TestUiBase):
- @exception()
- def test_homepage(self):
- ''' Portal home page sanity, click on links, varify
- buttons and headlines. '''
- Frontend.General.re_open(settings.ICE_PORTAL_URL)
- Frontend.General.verify_home_elements()
- Frontend.General.go_to_signup_from_homepage()
diff --git a/tests/uiTests/test_progress_bar.py b/tests/uiTests/test_progress_bar.py
deleted file mode 100644
index b1a168c..0000000
--- a/tests/uiTests/test_progress_bar.py
+++ /dev/null
@@ -1,95 +0,0 @@
-# ============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.
-from iceci.decorator.exception_decor import exception
-from services.constants import Constants
-from services.logging_service import LoggingServiceFactory
-from services.types import API, Frontend
-from tests.uiTests.test_ui_base import TestUiBase
-
-
-logger = LoggingServiceFactory.get_logger()
-
-
-class TestProgressBar(TestUiBase):
- user_content = None
-
- @exception()
- def test_progress_bar_ui(self):
- user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
- Frontend.User.login(
- user_content['el_email'], Constants.Default.Password.TEXT)
- logger.debug("Validate and check progress with engagement lead")
- Frontend.Overview.click_on_vf(user_content)
- Frontend.Overview.change_engagement_stage(
- Constants.EngagementStages.ACTIVE)
- Frontend.Overview.check_progress(
- Constants.Dashboard.Overview.Progress.Percent.TEXT)
- Frontend.Overview.set_progress(
- Constants.Dashboard.Overview.Progress.Change.NUMBER)
- Frontend.Overview.check_progress(
- Constants.Dashboard.Overview.Progress.Change.TEXT)
- logger.debug("Validate progress with standard user")
- Frontend.User.relogin(
- user_content['email'], Constants.Default.Password.TEXT)
- Frontend.Overview.click_on_vf(user_content)
- Frontend.Overview.check_progress(
- Constants.Dashboard.Overview.Progress.Change.TEXT)
-
- @exception()
- def test_vnf_version_with_value_appears_in_overview_progress_bar(self):
- user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
- Frontend.User.login(
- user_content['el_email'], Constants.Default.Password.TEXT)
- Frontend.Overview.click_on_vf(user_content)
- Frontend.Overview.change_engagement_stage(
- Constants.EngagementStages.ACTIVE)
- Frontend.Overview.check_vnf_version(user_content['vnf_version'])
-
- @exception()
- def test_vnf_version_with_value_appears_in_dashboard_progress_bar(self):
- user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
- Frontend.User.login(
- user_content['el_email'], Constants.Default.Password.TEXT)
- Frontend.Overview.click_on_vf(user_content)
- Frontend.Overview.change_engagement_stage(
- Constants.EngagementStages.ACTIVE)
- Frontend.Dashboard.search_by_vf(user_content)
- Frontend.Dashboard.check_vnf_version(user_content)
diff --git a/tests/uiTests/test_rados_perms.py b/tests/uiTests/test_rados_perms.py
deleted file mode 100644
index dccd6d3..0000000
--- a/tests/uiTests/test_rados_perms.py
+++ /dev/null
@@ -1,113 +0,0 @@
-# ============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.
-from wheel.signatures import assertTrue
-
-from iceci.decorator.exception_decor import exception
-from services.constants import Constants
-from services.frontend.base_actions.wait import Wait
-from services.logging_service import LoggingServiceFactory
-from services.types import API
-from tests.uiTests.test_ui_base import TestUiBase
-
-logger = LoggingServiceFactory.get_logger()
-
-
-class TestRadosPermissions(TestUiBase):
-
- def create_bucket_and_validate_users(self):
- user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=True)
-
- API.VirtualFunction.set_eng_stage(
- user_content, Constants.EngagementStages.ACTIVE)
- bucket_id = user_content['engagement_manual_id'] + \
- "_" + user_content['vfName'].lower()
- Wait.bucket_to_create(bucket_id)
- bucket = API.Rados.get_bucket(bucket_id)
- assertTrue(API.Rados.is_bucket_ready(bucket_id))
- assertTrue(bucket != "None")
- # validate users added to bucket
- grants = API.Rados.get_bucket_grants(bucket_id)
- count = 0
- for g in grants:
- if g.id == user_content['uuid']:
- count = +1
-
- assertTrue(count > 0)
- return bucket, user_content
-
- @exception()
- def test_permissions_stage_validated(self):
- bucket, user_content = self.create_bucket_and_validate_users()
- API.VirtualFunction.set_eng_stage(
- user_content, Constants.EngagementStages.VALIDATED)
- bucket_id = user_content['engagement_manual_id'] + \
- "_" + user_content['vfName'].lower()
- assertTrue(
- API.Rados.users_of_bucket_ready_after_complete(
- bucket_id, user_content['full_name']))
- bucket = API.Rados.get_bucket(bucket_id)
- assertTrue(API.Rados.is_bucket_ready(bucket_id))
- assertTrue(bucket != "None")
- assertTrue(API.Rados.is_bucket_ready(bucket_id))
- bucket = API.Rados.get_bucket(bucket_id)
- grants = API.Rados.get_bucket_grants(bucket_id)
- print("\nBucket:", bucket)
- print("\nBucket Type:", type(bucket))
- print("\nGrants:", grants)
- print("\nGrants Type:", type(grants))
- print("done")
-
- @exception()
- def test_permissions_stage_completed(self):
- bucket, user_content = self.create_bucket_and_validate_users()
- API.VirtualFunction.set_eng_stage(
- user_content, Constants.EngagementStages.COMPLETED)
- bucket_id = user_content['engagement_manual_id'] + \
- "_" + user_content['vfName'].lower()
- assertTrue(
- API.Rados.users_of_bucket_ready_after_complete(
- bucket_id, user_content['full_name']))
- assertTrue(API.Rados.is_bucket_ready(bucket_id))
- bucket = API.Rados.get_bucket(bucket_id)
- grants = API.Rados.get_bucket_grants(bucket_id)
- print("\nBucket:", bucket)
- print("\nBucket Type:", type(bucket))
- print("\nGrants:", grants)
- print("\nGrants Type:", type(grants))
- print("done")
diff --git a/tests/uiTests/test_remove_user_from_eng.py b/tests/uiTests/test_remove_user_from_eng.py
deleted file mode 100644
index 1c0513a..0000000
--- a/tests/uiTests/test_remove_user_from_eng.py
+++ /dev/null
@@ -1,154 +0,0 @@
-# ============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.
-from iceci.decorator.exception_decor import exception
-from services.constants import Constants, ServiceProvider
-from services.logging_service import LoggingServiceFactory
-from services.types import API, Frontend
-from tests.uiTests.test_ui_base import TestUiBase
-
-
-logger = LoggingServiceFactory.get_logger()
-
-
-class TestRemoveUserFromEng(TestUiBase):
- user_content = None
-
- @classmethod
- def setUpClass(cls):
- super(TestRemoveUserFromEng, cls).setUpClass()
-
- cls.user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
-
- @exception()
- def test_remove_user_with_admin(self):
- second_user_email, invite_token, invite_url = \
- API.VirtualFunction.invite_team_member(
- self.user_content)
- invited_user = API.User.signup_invited_user(
- ServiceProvider.MainServiceProvider,
- second_user_email,
- invite_token,
- invite_url,
- self.user_content)
- Frontend.User.login(
- Constants.Users.Admin.EMAIL,
- Constants.Default.Password.TEXT)
- Frontend.Dashboard.statuses_search_vf(
- self.user_content['engagement_manual_id'],
- self.user_content['vfName'])
- Frontend.Overview.remove_user_from_eng_team(invited_user["full_name"])
-
- @exception()
- def test_remove_user_with_reviewer(self):
- second_user_email, invite_token, invite_url = \
- API.VirtualFunction.invite_team_member(
- self.user_content)
- invited_user = API.User.signup_invited_user(
- ServiceProvider.MainServiceProvider,
- second_user_email,
- invite_token,
- invite_url,
- self.user_content)
- Frontend.User.login(
- self.user_content['el_email'],
- Constants.Default.Password.TEXT)
- Frontend.Overview.click_on_vf(self.user_content)
- Frontend.Overview.remove_user_from_eng_team(invited_user["full_name"])
-
- @exception()
- def test_remove_user_with_peer_reviewer(self):
- second_user_email, invite_token, invite_url = \
- API.VirtualFunction.invite_team_member(
- self.user_content)
- invited_user = API.User.signup_invited_user(
- ServiceProvider.MainServiceProvider,
- second_user_email,
- invite_token,
- invite_url,
- self.user_content)
- Frontend.User.login(
- self.user_content['pr_email'],
- Constants.Default.Password.TEXT)
- Frontend.Overview.click_on_vf(self.user_content)
- Frontend.Overview.remove_user_from_eng_team(invited_user["full_name"])
-
- @exception()
- def test_negative_remove_reviewer_from_eng(self):
- Frontend.User.login(
- self.user_content["pr_email"],
- Constants.Default.Password.TEXT)
- Frontend.Overview.click_on_vf(self.user_content)
- Frontend.Overview.remove_user_from_eng_team(
- self.user_content["el_name"], True)
-
- @exception()
- def test_negative_remove_peer_reviewer_from_eng(self):
- Frontend.User.login(
- self.user_content['el_email'],
- Constants.Default.Password.TEXT)
- Frontend.Overview.click_on_vf(self.user_content)
- Frontend.Overview.remove_user_from_eng_team(
- self.user_content["pr_name"], True)
-
- @exception()
- def test_negative_remove_creator_from_eng(self):
- Frontend.User.login(
- self.user_content['el_email'],
- Constants.Default.Password.TEXT)
- Frontend.Overview.click_on_vf(self.user_content)
- Frontend.Overview.remove_user_from_eng_team(
- self.user_content["full_name"], True)
-
- @exception()
- def test_negative_remove_contact_user_from_eng(self):
- second_user_email, invite_token, invite_url = \
- API.VirtualFunction.add_contact(
- self.user_content)
- invited_user = API.User.signup_invited_user(
- ServiceProvider.MainServiceProvider,
- second_user_email,
- invite_token,
- invite_url,
- self.user_content,
- "true",
- True)
- Frontend.User.login(second_user_email, Constants.Default.Password.TEXT)
- Frontend.Overview.click_on_vf(self.user_content)
- Frontend.Overview.remove_user_from_eng_team(
- invited_user["full_name"], True)
diff --git a/tests/uiTests/test_reset_password.py b/tests/uiTests/test_reset_password.py
deleted file mode 100644
index 1e7d6a1..0000000
--- a/tests/uiTests/test_reset_password.py
+++ /dev/null
@@ -1,85 +0,0 @@
-# ============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.
-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.types import API, Frontend, DB
-from tests.uiTests.test_ui_base import TestUiBase
-
-
-logger = LoggingServiceFactory.get_logger()
-
-
-class TestResetPassword(TestUiBase):
- user_content = None
-
- @classmethod
- def setUpClass(cls):
- super(TestResetPassword, cls).setUpClass()
-
- cls.user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
-
- @exception()
- def test_reset_password(self):
- Frontend.General.send_reset_password(self.user_content['email'])
- DB.User.set_new_temp_password(self.user_content['email'])
- resetPasswURL = Helper.get_reset_passw_url(self.user_content['email'])
- Frontend.General.re_open(resetPasswURL)
- Frontend.User.login(
- self.user_content['email'],
- Constants.Default.Password.TEXT,
- Constants.UpdatePassword.Title.CSS,
- "css")
- logger.debug("\nReset URL: %s \nTemp Password: %s \nUser Email: %s" % (
- resetPasswURL, Constants.Default.Password.TEXT,
- self.user_content['email']))
- Frontend.User.reset_password()
- logger.debug("Logout and verify new password works")
- Frontend.User.logout()
- logger.debug("Login with updated password")
- Frontend.User.login(
- self.user_content['email'],
- Constants.Default.Password.NewPass.TEXT)
- Frontend.User.logout()
- logger.debug("Logout and change password back to 'iceusers'")
- DB.User.set_password_to_default(self.user_content['email'])
- Frontend.User.login(
- self.user_content['email'],
- Constants.Default.Password.TEXT)
diff --git a/tests/uiTests/test_rgwa_credentials.py b/tests/uiTests/test_rgwa_credentials.py
deleted file mode 100644
index 15992f9..0000000
--- a/tests/uiTests/test_rgwa_credentials.py
+++ /dev/null
@@ -1,80 +0,0 @@
-# ============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.
-from iceci.decorator.exception_decor import exception
-from services.constants import Constants
-from services.logging_service import LoggingServiceFactory
-from services.types import API, DB, Frontend
-from tests.uiTests.test_ui_base import TestUiBase
-from utils.cryptography import CryptographyText
-
-
-logger = LoggingServiceFactory.get_logger()
-
-
-class TestRGWACredentials(TestUiBase):
- user_content = None
- access_key = None
- access_secret = None
-
- @classmethod
- def setUpClass(cls):
- super(TestRGWACredentials, cls).setUpClass()
- cls.user_content = API.User.create_new_user(activate=True)
- cls.access_key = DB.User.get_access_key(cls.user_content['uuid'])
- cls.access_secret = DB.User.get_access_secret(cls.user_content['uuid'])
-
- def setUp(self):
- super(TestRGWACredentials, self).setUp()
- Frontend.User.login(
- self.user_content['email'], Constants.Default.Password.TEXT)
-
- @exception()
- def test_access_key(self):
- Frontend.User.go_to_account()
- Frontend.User.check_rgwa_access_key(self.access_key)
-
- @exception()
- def test_access_secret(self):
- Frontend.User.go_to_account()
- access_secret = CryptographyText.decrypt(self.access_secret)
- Frontend.User.check_rgwa_access_secret(access_secret)
-
- @exception()
- def test_access_secret_not_presented(self):
- Frontend.User.go_to_account()
- Frontend.User.check_rgwa_access_secret_not_presented()
diff --git a/tests/uiTests/test_sanity.py b/tests/uiTests/test_sanity.py
deleted file mode 100644
index 5acc952..0000000
--- a/tests/uiTests/test_sanity.py
+++ /dev/null
@@ -1,194 +0,0 @@
-# ============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.
-from iceci.decorator.exception_decor import exception
-from services.constants import Constants
-from services.frontend.base_actions.click import Click
-from services.frontend.base_actions.get import Get
-from services.frontend.base_actions.wait import Wait
-from services.helper import Helper
-from services.logging_service import LoggingServiceFactory
-from services.types import Frontend, DB, API
-from tests.uiTests.test_ui_base import TestUiBase
-
-
-logger = LoggingServiceFactory.get_logger()
-
-
-class TestSanity(TestUiBase):
-
- user_content = None
- user_content_api = None
-
- @classmethod
- def setUpClass(cls):
- super(TestSanity, cls).setUpClass()
-
- cls.user_content_api = \
- API.User.create_new_user_content_login_with_api()
- cls.user_content = API.VirtualFunction.create_engagement()
-
- @exception()
- def test_e2e_checklist_add_next_step(self):
- newObj, user_content = API.User.create_new_user_content()
- newObjWithChecklist = Frontend.Checklist.create_new_checklist(newObj)
- checklistUuid = newObjWithChecklist[0]
- engLeadEmail = newObjWithChecklist[1]
- engagement_manual_id = newObjWithChecklist[2]
- actualVfNameid = newObjWithChecklist[3]
- checklistName = newObjWithChecklist[5]
- DB.Checklist.state_changed(
- "uuid", checklistUuid, Constants.ChecklistStates.Review.TEXT)
- DB.Checklist.update_decisions(checklistUuid, checklistName)
-
- Frontend.User.relogin(
- engLeadEmail,
- Constants.Default.Password.TEXT,
- engagement_manual_id)
- Frontend.Checklist.click_on_checklist(user_content, checklistName)
- Frontend.Checklist.validate_reject_is_enabled()
- Frontend.Checklist.review_state_actions_and_validations(
- checklistName, user_content['vfName'],
- Constants.ChecklistStates.Review.TEXT)
-
- Frontend.Checklist.cl_to_next_stage(actualVfNameid)
- engPreeRiviewerLeadEmail = DB.Checklist.get_pr_email(checklistUuid)
- Frontend.User.relogin(engPreeRiviewerLeadEmail,
- Constants.Default.Password.TEXT)
- Frontend.Checklist.click_on_checklist(user_content, checklistName)
- Frontend.Checklist.validate_reject_is_enabled()
- Frontend.Checklist.review_state_actions_and_validations(
- checklistName, user_content['vfName'], "PEER")
-
- Frontend.Checklist.cl_to_next_stage(actualVfNameid)
- engPreeRiviewerLeadEmail = DB.Checklist.get_admin_email(checklistUuid)
- Frontend.User.relogin(engPreeRiviewerLeadEmail,
- Constants.Default.Password.TEXT)
- Frontend.Checklist.search_by_vfname_for_not_local(user_content)
- Frontend.Checklist.click_on_checklist(user_content, checklistName)
- Frontend.Checklist.validate_reject_is_enabled()
- Frontend.Checklist.approval_state_actions_and_validations(
- checklistName, newObj, "APPROVAL")
- Frontend.Checklist.add_next_step(checklistName, newObj)
- Frontend.Overview.click_on_vf(user_content)
-
- @exception()
- def test_admin_set_stage(self):
- user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
- stages = [
- Constants.EngagementStages.INTAKE,
- Constants.EngagementStages.ACTIVE,
- Constants.EngagementStages.VALIDATED,
- Constants.EngagementStages.COMPLETED]
- Frontend.User.login(
- Constants.Users.Admin.EMAIL, Constants.Default.Password.TEXT)
- Frontend.Dashboard.statuses_search_vf(
- user_content['engagement_manual_id'], user_content['vfName'])
- for idx, stage in enumerate(stages[:-1]):
- next_stage = stages[(idx + 1) % len(stages)]
- Frontend.Overview.check_stage_next_steps(
- stage, user_content['engagement_uuid'])
- Frontend.Overview.change_engagement_stage(next_stage)
-
- @exception()
- def test_invite_new_user(self):
- """
- Name:
- test_invite_new_user
- Steps:
- Create new APIUser 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 = API.User.create_new_user()
- # Fetch one user ID.
- uuid = DB.General.select_where_email(
- "uuid", "ice_user_profile", user_content['email'])
- Frontend.User.activate_and_login(
- user_content['email'], Constants.Default.Password.TEXT)
- Wait.text_by_id(
- Constants.Toast.ID, Constants.Dashboard.ActivateMsg.Success.TEXT)
- Click.id(Constants.Dashboard.Wizard.CloseButton.ID)
- Wait.modal_to_dissappear()
- Frontend.User.logout()
- Frontend.User.login(
- user_content['email'], Constants.Default.Password.TEXT)
- Wait.text_by_css(
- Constants.Dashboard.LeftPanel.Title.CSS,
- Constants.Dashboard.LeftPanel.Title.TEXT)
- logger.debug("click_on on + Dashboard")
- Click.id(Constants.Dashboard.LeftPanel.AddEngagement.ID)
- # Wizard
- vfName = Frontend.Wizard.add_vf()
- vendor_contact = Frontend.Wizard.add_vendor_contact()
- inviteEmail = Helper.rand_invite_email()
- Frontend.Wizard.invite_team_members(inviteEmail)
- Frontend.Wizard.add_ssh_key()
- enguuid = DB.General.select_where("uuid", "ice_vf", "name", vfName, 1)
- inviterURL = Constants.Default.InviteURL.Signup.TEXT + \
- enguuid + "&inviter_uuid=" + uuid + "&email=" + inviteEmail
- Frontend.General.re_open(inviterURL)
- actualInvitedEmail = Get.value_by_name("email")
- Helper.internal_assert(inviteEmail, actualInvitedEmail)
- signUpURLforContact = DB.User.get_contact_signup_url(
- enguuid,
- uuid,
- vendor_contact["email"],
- vendor_contact["full_name"],
- vendor_contact["phone"],
- vendor_contact["company"])
- Frontend.General.re_open(signUpURLforContact)
-
- actualInvitedEmail = Get.value_by_name(Constants.Signup.Email.NAME)
- Helper.internal_assert(vendor_contact["email"], actualInvitedEmail)
- Helper.internal_assert(
- "+" + vendor_contact["phone"],
- Get.value_by_name(
- Constants.Signup.Phone.NAME))
- Helper.internal_assert(
- vendor_contact["full_name"],
- Get.value_by_name(
- Constants.Signup.FullName.NAME))
- Helper.internal_assert(
- vendor_contact["company"],
- Get.value_by_name(
- Constants.Signup.Company.NAME))
diff --git a/tests/uiTests/test_set_stage.py b/tests/uiTests/test_set_stage.py
deleted file mode 100644
index 6e01360..0000000
--- a/tests/uiTests/test_set_stage.py
+++ /dev/null
@@ -1,160 +0,0 @@
-# ============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.
-from iceci.decorator.exception_decor import exception
-from services.constants import Constants
-from services.logging_service import LoggingServiceFactory
-from services.types import API, Frontend
-from tests.uiTests.test_ui_base import TestUiBase
-
-
-logger = LoggingServiceFactory.get_logger()
-
-
-class TestSetStage(TestUiBase):
- @exception()
- def test_set_eng_stages(self):
- user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
- Frontend.User.login(
- user_content['el_email'],
- Constants.Default.Password.TEXT)
- stages = [
- Constants.EngagementStages.INTAKE,
- Constants.EngagementStages.ACTIVE,
- Constants.EngagementStages.VALIDATED,
- Constants.EngagementStages.COMPLETED]
- Frontend.Overview.click_on_vf(user_content)
- for idx, stage in enumerate(stages[:-1]):
- next_stage = stages[(idx + 1) % len(stages)]
- Frontend.Overview.check_stage_next_steps(
- stage, user_content['engagement_uuid'])
- Frontend.Overview.change_engagement_stage(next_stage)
- Frontend.General.refresh()
- if Frontend.Overview.check_stage_notifications(
- next_stage) is False:
- raise Exception(
- "Activity log for set stage wasn't found for stage %s" %
- next_stage)
-
- @exception()
- def test_set_eng_stages_via_pr_reviewer(self):
- user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
- Frontend.User.login(
- user_content['pr_email'],
- Constants.Default.Password.TEXT)
- stages = [
- Constants.EngagementStages.INTAKE,
- Constants.EngagementStages.ACTIVE,
- Constants.EngagementStages.VALIDATED,
- Constants.EngagementStages.COMPLETED]
- Frontend.Overview.click_on_vf(user_content)
- for idx, stage in enumerate(stages[:-1]):
- next_stage = stages[(idx + 1) % len(stages)]
- Frontend.Overview.check_stage_next_steps(
- stage, user_content['engagement_uuid'])
- Frontend.Overview.change_engagement_stage(next_stage)
- Frontend.General.refresh()
- if Frontend.Overview.check_stage_notifications(
- next_stage) is False:
- raise Exception(
- "Activity log for set stage wasn't found for stage %s" %
- next_stage)
-
- @exception()
- def test_admin_ro_set_stage_negative(self):
- user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
- stages = [
- Constants.EngagementStages.INTAKE,
- Constants.EngagementStages.ACTIVE,
- Constants.EngagementStages.VALIDATED,
- Constants.EngagementStages.COMPLETED]
- Frontend.User.login(
- Constants.Users.AdminRO.EMAIL,
- Constants.Default.Password.TEXT)
- Frontend.Dashboard.statuses_search_vf(
- user_content['engagement_manual_id'],
- user_content['vfName'])
- for idx, stage in enumerate(stages[:-1]):
- next_stage = stages[(idx + 1) % len(stages)]
- Frontend.Overview.change_engagement_stage(
- next_stage, is_negative=True)
- logger.debug("Admin_ro failed to change stage to %s" % stage)
-
- @exception()
- def test_set_eng_stages_negative(self):
- user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
- stages = [
- Constants.EngagementStages.INTAKE,
- Constants.EngagementStages.ACTIVE,
- Constants.EngagementStages.VALIDATED,
- Constants.EngagementStages.COMPLETED]
- Frontend.User.login(
- user_content['email'],
- Constants.Default.Password.TEXT)
- Frontend.Overview.click_on_vf(user_content)
- for idx, stage in enumerate(stages[:-1]):
- next_stage = stages[(idx + 1) % len(stages)]
- Frontend.Overview.change_engagement_stage(
- next_stage, is_negative=True)
- logger.debug(
- "User %s failed to change stage to %s" %
- (user_content['email'], stage))
-
- @exception()
- def test_set_eng_stages_negative_via_pr(self):
- user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
- stages = [
- Constants.EngagementStages.INTAKE,
- Constants.EngagementStages.ACTIVE,
- Constants.EngagementStages.VALIDATED,
- Constants.EngagementStages.COMPLETED]
- Frontend.User.login(
- user_content['pr_email'],
- Constants.Default.Password.TEXT)
- Frontend.Overview.click_on_vf(user_content)
- for idx, stage in enumerate(stages[:-1]):
- next_stage = stages[(idx + 1) % len(stages)]
- Frontend.Overview.change_engagement_stage(
- next_stage, is_negative=False)
- logger.debug(
- "User %s failed to change stage to %s" %
- (user_content['pr_email'], stage))
diff --git a/tests/uiTests/test_ssh_key.py b/tests/uiTests/test_ssh_key.py
deleted file mode 100644
index dc958d0..0000000
--- a/tests/uiTests/test_ssh_key.py
+++ /dev/null
@@ -1,97 +0,0 @@
-# ============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.
-'''
- Purpose: Test SSH Public Key validation, positive and negative.
- Steps:
- - Create user and activate the user account.
- - Modal window: add VF, add vendor contact, invite team member,
- add a valid SSH key.
- - Go to account page.
- - Clear SSH key text-box and add an invalid SSH key.
- - Verify error message.
- - Change the invalid key to a valid one (RSA).
- - Verify success message.
-'''
-
-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.types import API, Frontend
-from tests.uiTests.test_ui_base import TestUiBase
-
-
-logger = LoggingServiceFactory.get_logger()
-
-
-class TestSSHKey(TestUiBase):
- user_content = None
-
- @classmethod
- def setUpClass(cls):
- super(TestSSHKey, cls).setUpClass()
-
- cls.user_content = API.Bridge.create_engagement(wait_for_gitlab=False)
-
- def setUp(self):
- super(TestSSHKey, self).setUp()
- Frontend.User.login(
- self.user_content['email'],
- Constants.Default.Password.TEXT)
-
- @exception()
- def test_ssh_key_valid(self):
- validSSHKey = Helper.generate_sshpub_key()
- logger.debug(validSSHKey)
- Frontend.User.set_ssh_key_from_account(validSSHKey)
-
- @exception()
- def test_ssh_key_invalid(self):
- Frontend.Overview.click_on_vf(self.user_content)
- validSSHKey = Helper.generate_sshpub_key()
- invalidSSHKey = validSSHKey[8:]
- logger.debug(invalidSSHKey)
- Frontend.User.set_ssh_key_from_account(invalidSSHKey, is_negative=True)
-
- @exception()
- def test_set_invalid_ssh_key_in_wizard(self):
- Frontend.Dashboard.click_on_create_vf()
- Frontend.Wizard.add_vf()
- Frontend.Wizard.add_vendor_contact()
- Frontend.Wizard.invite_team_members(Helper.rand_invite_email())
- Frontend.Wizard.add_ssh_key(is_negative=True)
diff --git a/tests/uiTests/test_ui_base.py b/tests/uiTests/test_ui_base.py
deleted file mode 100644
index 26dd2a5..0000000
--- a/tests/uiTests/test_ui_base.py
+++ /dev/null
@@ -1,167 +0,0 @@
-# ============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 logging
-import platform
-import sys
-from timeit import default_timer as timer
-import unittest
-
-from pyvirtualdisplay import Display # For Linux only
-import requests
-from requests.packages.urllib3.exceptions import InsecureRequestWarning
-from selenium.webdriver.common.action_chains import ActionChains
-
-from iceci.decorator.logFuncEntry import logFuncEntry
-from services.constants import Constants
-from services.database.db_general import DBGeneral
-from services.logging_service import LoggingServiceFactory
-from services.session import session
-
-requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
-logger = LoggingServiceFactory.get_logger()
-stream_handler = logging.StreamHandler(sys.stdout)
-
-
-class TestUiBase(unittest.TestCase):
- windows = []
- one_web_driver_enabled = True
-
- @classmethod
- def setUpClass(cls):
- super(TestUiBase, cls).setUpClass()
- cls.display = None
- if platform.system() == 'Linux':
- cls.display = Display(visible=0, size=(1920, 1080))
- cls.display.start()
-
- if cls.one_web_driver_enabled:
- session.setup_driver()
-
- def go_to_web_page(self, address):
- self.websiteUrl = address
-
- session.ice_driver.get("about:blank")
- session.ice_driver.get(self.websiteUrl)
-
- @logFuncEntry
- def setUp(self):
- logger.addHandler(stream_handler)
-
- self.fullClassName = __name__
- self.className = self.__class__.__name__
- logger.debug(
- "---------------------- TestCase - Start - Class " +
- self.className +
- " Function " +
- self._testMethodName +
- " ----------------------")
-
- self.ice_driver = session.get_driver()
-
- if not self.one_web_driver_enabled:
- self.ice_driver = session.setup_driver()
- elif self.ice_driver is None:
- self.ice_driver = session.setup_driver()
-
- self.go_to_web_page(Constants.Default.LoginURL.TEXT)
-
- session.ice_driver.implicitly_wait(session.wait_until_implicit_time)
- self.actions = ActionChains(self.ice_driver)
- self.windows.append(session.ice_driver.window_handles[0])
- session.ice_driver.maximize_window()
-
- self.startTime = timer()
- self.funcName = self._testMethodName
- self.testName = self.funcName
-
- @logFuncEntry
- def tearDown(self):
- self.endTime = timer()
- self.testDuration = str(self.endTime - self.startTime)
- self.results()
- if self.one_web_driver_enabled is None \
- or not self.one_web_driver_enabled:
- session.ice_driver.quit()
- else:
- self.go_to_web_page(Constants.Default.LoginURL.TEXT)
- logger.debug(
- "---------------------- TestCase - End - Class " +
- self.className +
- " Function " +
- self._testMethodName +
- " ----------------------\n")
- try:
- logging.getLogger().info("BB")
- finally:
- logger.removeHandler(stream_handler)
- session.errorList = ""
- session.errorCounter = 0
-
- @classmethod
- def tearDownClass(cls):
- session.close_driver()
- if cls.display:
- cls.display.stop()
- super(TestUiBase, cls).tearDownClass()
-
- @logFuncEntry
- def results(self):
- params = {
- "testType": "E2E Test",
- "testFeature": self.className,
- "testResult": "PASS",
- "testName": self.funcName,
- "duration": self.testDuration}
- if (session.errorCounter == 0):
- DBGeneral.insert_results(
- params["testType"],
- params["testFeature"],
- params["testResult"],
- params["testName"],
- params['duration'])
- else:
- params["testResult"] = "FAIL" # Mark test as fail.
- # Add the errors to notes column in table.
- params["notes"] = session.errorList
- DBGeneral.insert_results(
- params["testType"],
- params["testFeature"],
- params["testResult"],
- params["testName"],
- params['duration'],
- params["notes"])
diff --git a/tests/uiTests/test_user_profile_settings.py b/tests/uiTests/test_user_profile_settings.py
deleted file mode 100644
index 8a25e02..0000000
--- a/tests/uiTests/test_user_profile_settings.py
+++ /dev/null
@@ -1,78 +0,0 @@
-# ============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.
-from iceci.decorator.exception_decor import exception
-from services.constants import Constants
-from services.logging_service import LoggingServiceFactory
-from services.types import API, Frontend, DB
-from tests.uiTests.test_ui_base import TestUiBase
-
-
-logger = LoggingServiceFactory.get_logger()
-
-
-class TestUserProfileSettings(TestUiBase):
- user_content = None
-
- @classmethod
- def setUpClass(cls):
- super(TestUserProfileSettings, cls).setUpClass()
-
- cls.user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
-
- def setUp(self):
- super(TestUserProfileSettings, self).setUp()
- Frontend.User.login(
- self.user_content['email'],
- Constants.Default.Password.TEXT)
-
- @exception()
- def test_user_profile_settings_page_exists(self):
- Frontend.User.go_to_user_profile_settings()
-
- @exception()
- def test_user_profile_checkboxes(self):
- Frontend.User.go_to_user_profile_settings()
- Frontend.User.check_user_profile_settings_checkboxes()
- DB.User.validate_user_profile_settings_in_db(
- self.user_content['email'], False)
- Frontend.General.refresh()
- Frontend.User.validate_user_profile_settings_checkboxes(False)
- Frontend.User.check_user_profile_settings_checkboxes()
- DB.User.validate_user_profile_settings_in_db(
- self.user_content['email'], True)
diff --git a/tests/uiTests/test_validate_signup.py b/tests/uiTests/test_validate_signup.py
deleted file mode 100644
index dce246f..0000000
--- a/tests/uiTests/test_validate_signup.py
+++ /dev/null
@@ -1,113 +0,0 @@
-# ============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.
-from iceci.decorator.exception_decor import exception
-from services.constants import Constants
-from services.types import API, Frontend, DB
-from services.helper import Helper
-from tests.uiTests.test_ui_base import TestUiBase
-
-
-class TestValidateSignup(TestUiBase):
- user_content = None
-
- @classmethod
- def setUpClass(cls):
- super(TestValidateSignup, cls).setUpClass()
-
- cls.user_content = API.VirtualFunction.create_engagement(
- wait_for_gitlab=False)
-
- @exception()
- def test_create_and_activateUser(self):
- '''Create user with rest API, login and activate.'''
- user_data = API.User.create_new_user()
- Frontend.User.login(
- user_data['email'],
- Constants.Default.Password.TEXT,
- Constants.Toast.ID)
- Frontend.General.verify_toast_message(
- Constants.Dashboard.ActivateMsg.Fail.TEXT)
- activationUrl = DB.User.get_activation_url(user_data['email'])
- Frontend.General.re_open(activationUrl)
- Frontend.User.login(
- user_data['email'],
- Constants.Default.Password.TEXT)
- Frontend.General.verify_toast_message(
- Constants.Dashboard.ActivateMsg.Success.TEXT)
-
- @exception()
- def test_activate_user_and_validate_account(self):
- '''Go to Account page and validate details after signup and login.'''
- Frontend.User.login(
- self.user_content['email'],
- Constants.Default.Password.TEXT)
- Frontend.User.go_to_account()
- Frontend.General.form_validate_company(self.user_content['vendor'])
- Frontend.General.form_validate_name(self.user_content['full_name'])
- Frontend.General.form_validate_email(self.user_content['email'])
- Frontend.General.form_validate_phone(Constants.Default.Phone.TEXT)
- Frontend.General.form_validate_ssh("") # No SSH key.
-
- @exception()
- def test_signup_page_sanity(self):
- '''
- Purpose: Sanity test for sign-up page.
- Steps:
- - Go to sign-up page
- - Verify all approved vendors are listed
- - Verify all form fields exist.
- - Submit form without reCAPTCHA and verify error message.
- - Click on "Already have an account" and verify link.
- '''
- Frontend.General.go_to_signup_from_login()
- vendors_list = DB.General.get_vendors_list()
- for vendor in vendors_list:
- Frontend.General.select_vendor_from_list(vendor)
- Frontend.General.form_enter_name(Helper.rand_string("randomString"))
- Frontend.General.form_enter_email(Helper.rand_string("email"))
- Frontend.General.form_enter_phone(Constants.Default.Phone.TEXT)
- Frontend.General.form_enter_password(
- Helper.rand_string("randomString"))
- Frontend.General.form_check_checkbox(
- Constants.Signup.RegularEmail.XPATH)
- Frontend.General.form_check_checkbox(
- Constants.Signup.AcceptTerms.XPATH)
- Frontend.General.click_on_submit()
- Frontend.General.verify_toast_message(
- Constants.Signup.Toast.Captcha.TEXT)
- Frontend.General.go_to_login_from_signup()