End to end functionality

This commit is contained in:
Ankit Hinge
2024-05-20 17:46:45 +05:30
parent 8fafe9b723
commit dd011cfb9e
22 changed files with 438 additions and 83 deletions
@@ -7,7 +7,7 @@
</head>
<body>
<h1 id="title">test_report.html</h1>
<p>Report generated on 10-May-2024 at 01:48:45 by <a href="https://pypi.python.org/pypi/pytest-html">pytest-html</a>
<p>Report generated on 17-May-2024 at 12:39:54 by <a href="https://pypi.python.org/pypi/pytest-html">pytest-html</a>
v4.1.1</p>
<div id="environment-header">
<h2>Environment</h2>
@@ -61,7 +61,7 @@
<h2>Summary</h2>
<div class="additional-summary prefix">
</div>
<p class="run-count">1 test took 00:01:37.</p>
<p class="run-count">1 test took 00:00:09.</p>
<p class="filter">(Un)check the boxes to filter the results.</p>
<div class="summary__reload">
<div class="summary__reload__button hidden" onclick="location.reload()">
@@ -108,7 +108,7 @@
</table>
</body>
<footer>
<div id="data-container" data-jsonblob="{&#34;environment&#34;: {&#34;Python&#34;: &#34;3.12.3&#34;, &#34;Platform&#34;: &#34;Windows-10-10.0.19045-SP0&#34;, &#34;Packages&#34;: {&#34;pytest&#34;: &#34;8.2.0&#34;, &#34;pluggy&#34;: &#34;1.5.0&#34;}, &#34;Plugins&#34;: {&#34;html&#34;: &#34;4.1.1&#34;, &#34;metadata&#34;: &#34;3.1.1&#34;}}, &#34;tests&#34;: {&#34;tests/test_interface_0.py::Test_interface_0::test_verify_batch_creation&#34;: [{&#34;extras&#34;: [], &#34;result&#34;: &#34;Passed&#34;, &#34;testId&#34;: &#34;tests/test_interface_0.py::Test_interface_0::test_verify_batch_creation&#34;, &#34;duration&#34;: &#34;00:01:37&#34;, &#34;resultsTableRow&#34;: [&#34;&lt;td class=\&#34;col-result\&#34;&gt;Passed&lt;/td&gt;&#34;, &#34;&lt;td class=\&#34;col-testId\&#34;&gt;tests/test_interface_0.py::Test_interface_0::test_verify_batch_creation&lt;/td&gt;&#34;, &#34;&lt;td class=\&#34;col-duration\&#34;&gt;00:01:37&lt;/td&gt;&#34;, &#34;&lt;td class=\&#34;col-links\&#34;&gt;&lt;/td&gt;&#34;], &#34;log&#34;: &#34;----------------------------- Captured stderr call -----------------------------\n2024-05-10 01:47:06.388 | INFO | tests.test_interface_0:test_verify_batch_creation:52 - Verifying S3 bucket is created with batch ID\n2024-05-10 01:47:10.485 | INFO | tests.test_interface_0:test_verify_batch_creation:56 - Signed in successful\n2024-05-10 01:47:14.265 | INFO | pages.interface_0_page_objects:select_client:28 - Selected Client Name: Aetna Life Insurance Company\n2024-05-10 01:47:19.349 | INFO | pages.interface_0_page_objects:upload_files:39 - Selected Contract File Name: ICMProviderAgreement_AlisonUnitisLPCMH_227710_5.pdf, Boilerplate_TX Amendment Mission Health Network effective_040114 MU.pdf, BoilerplateAnc_Boro Park Obstetrics &amp;amp; Gynecology PC - Amendment 11.2.12_MU.pdf, Boilerplate_Prof_Premier Health Specialists Inc Third Amendment_A.4_20160101_MU.pdf, 2019 06 01 Dr Raul Rivera &amp;amp; Associates (Amend 1)_MU.pdf, Custom_Prof_Anna Suponya MD PC - Agreement Provider Signed_MU (1).pdf, Bay Ridge Medical Imaging Universal (113045841) MU.pdf, Custom_TX - MP AMENDMENT - MISSION HEALTH NETWORK - MU.pdf, Delaware First Health_First State Homecare Agency_212260_7 MU.pdf, 050540697 Deepak Nanda 2017 PHSP MU.pdf, Prof1_ICM135705_ICMProviderAgreement_135705 IPA of NJ MU.pdf, 2014-01-01 United Health Centers San Joaquin AMD MU (1).pdf, Molina Healthcare of Texas, Inc. Amendment 4 - HIX ACA__EFF 01012016_MU.pdf\n2024-05-10 01:48:08.007 | INFO | pages.interface_0_page_objects:create_batch:50 - Creating batch\n2024-05-10 01:48:36.247 | INFO | pages.interface_0_page_objects:create_batch:53 - Created batch with Batch ID: batch_090524201810 created\n&#34;}]}, &#34;renderCollapsed&#34;: [&#34;passed&#34;], &#34;initialSort&#34;: &#34;result&#34;, &#34;title&#34;: &#34;test_report.html&#34;}"></div>
<div id="data-container" data-jsonblob="{&#34;environment&#34;: {&#34;Python&#34;: &#34;3.12.3&#34;, &#34;Platform&#34;: &#34;Windows-10-10.0.19045-SP0&#34;, &#34;Packages&#34;: {&#34;pytest&#34;: &#34;8.2.0&#34;, &#34;pluggy&#34;: &#34;1.5.0&#34;}, &#34;Plugins&#34;: {&#34;html&#34;: &#34;4.1.1&#34;, &#34;json&#34;: &#34;0.4.0&#34;, &#34;metadata&#34;: &#34;3.1.1&#34;}}, &#34;tests&#34;: {&#34;tests/test_interface_0.py::Test_interface_0::test_validate_navigation&#34;: [{&#34;extras&#34;: [], &#34;result&#34;: &#34;Passed&#34;, &#34;testId&#34;: &#34;tests/test_interface_0.py::Test_interface_0::test_validate_navigation&#34;, &#34;duration&#34;: &#34;00:00:09&#34;, &#34;resultsTableRow&#34;: [&#34;&lt;td class=\&#34;col-result\&#34;&gt;Passed&lt;/td&gt;&#34;, &#34;&lt;td class=\&#34;col-testId\&#34;&gt;tests/test_interface_0.py::Test_interface_0::test_validate_navigation&lt;/td&gt;&#34;, &#34;&lt;td class=\&#34;col-duration\&#34;&gt;00:00:09&lt;/td&gt;&#34;, &#34;&lt;td class=\&#34;col-links\&#34;&gt;&lt;/td&gt;&#34;], &#34;log&#34;: &#34;----------------------------- Captured stderr call -----------------------------\n2024-05-17 12:39:42.555 | INFO | tests.test_interface_0:test_validate_navigation:17 - Verifying designated Interface 0 Page opens successfully\n2024-05-17 12:39:48.030 | INFO | tests.test_interface_0:test_validate_navigation:21 - Designated Interface 0 Page opened successfully\n&#34;}]}, &#34;renderCollapsed&#34;: [&#34;passed&#34;], &#34;initialSort&#34;: &#34;result&#34;, &#34;title&#34;: &#34;test_report.html&#34;}"></div>
<script>
(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
const { getCollapsedCategory, setCollapsedIds } = require('./storage.js')
@@ -0,0 +1 @@
{"report": {"environment": {"Python": "3.12.3", "Platform": "Windows-10-10.0.19045-SP0"}, "tests": [{"name": "tests/test_interface_0.py::Test_interface_0::test_validate_navigation", "duration": 10.97751930000959, "run_index": 0, "setup": {"name": "setup", "duration": 1.6643610000028275, "outcome": "passed"}, "call": {"name": "call", "duration": 5.477519999985816, "outcome": "passed", "stderr": "2024-05-17 12:39:42.555 | INFO | tests.test_interface_0:test_validate_navigation:17 - Verifying designated Interface 0 Page opens successfully\n2024-05-17 12:39:48.030 | INFO | tests.test_interface_0:test_validate_navigation:21 - Designated Interface 0 Page opened successfully\n"}, "teardown": {"name": "teardown", "duration": 2.1712773000181187, "outcome": "passed"}, "outcome": "passed"}], "summary": {"passed": 1, "num_tests": 1, "duration": 13.407023668289185}, "created_at": "2024-05-17 12:39:54.266609"}}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,61 @@
import random
import time
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from pages.Pre_sign_in_page import Pre_sign_in_page
from pages.interface_0_page_objects import Interface_0
from pages.interface_1_page_objects import Interface_1
from utils.common_methods import sign_in
from utils.element_related_methods import get_title, get_invisible_element
from utils.logger import get_logger
class Test_end_to_end:
logger = get_logger()
def test_validate_navigation(self, driver, config):
self.logger.info("Verifying S3 bucket is created with batch ID")
driver.get(config['url_interface_0'])
sign_in(driver, config)
self.logger.info("Signed in successful")
interface_0_page = Interface_0(driver)
interface_0_page.select_client()
interface_0_page.upload_files(config)
interface_0_page.create_batch()
self.logger.info(f"Created batch with Batch ID: {interface_0_page.p_element.text}")
self.logger.info("Verifying Single Sign-On (SSO) Login for Interface 1")
driver.get(config['url_interface_1'])
# sign_in(driver, config)
pre_sign_in_page = Pre_sign_in_page(driver)
pre_sign_in_page.click_sign_in_link()
self.logger.info("Signed in successful")
get_title(driver, "interface_1 · Streamlit")
interface_1 = Interface_1(driver)
interface_1.select_client()
interface_1.select_batch()
interface_1.check_group_no()
interface_1.click_read_the_contracts_from_path()
interface_1.check_table_contain()
interface_1.click_run_doczy_ai_pipeline()
if interface_1.result_message.text is "Success":
self.logger.info(f"Files are passed to Doczy.AI pipeline")
assert True
else:
self.logger.info(f"Files are passed to Doczy.AI pipeline")
assert True
# def test_verify_sign_in(self, driver, config):
# self.logger.info("Verifying Single Sign-On (SSO) Login for Interface 0")
# driver.get(config['url_interface_0'])
# sign_in(driver, config)
# self.logger.info("Signed in successful")
# get_title(driver, "interface_0 · Streamlit")
# if driver.title == 'interface_0 · Streamlit':
# self.logger.info("Interface 0 page opened successfully")
# assert True
# else:
# self.logger.info("Interface 0 page not opened successfully")
# assert False
+15 -5
View File
@@ -1,9 +1,11 @@
import random
import time
from selenium.common import InvalidArgumentException
from pages.interface_0_page_objects import Interface_0
from utils.common_methods import get_title
from utils.common_methods2 import sign_in
from utils.element_related_methods import get_title
from utils.common_methods import sign_in
from utils.logger import get_logger
@@ -50,14 +52,15 @@ class Test_interface_0:
def test_verify_batch_creation(self, driver, config):
self.logger.info("Verifying S3 bucket is created with batch ID")
driver.get("https://doczy.aarete.com:8500/?code=0.AVsA57e_zrnCv0-sKQYbnoaPz5D--u_XfqNDqwMZoL4vF1hbAN8.AgABBAIAAADnfolhJpSnRYB1SVj-Hgd8AgDs_wUA9P_RZqy1FCzyPP5scMnkTe8faDovl-TipWlCQv5NMzUDPBxfg3EZU5RLyv3xgJnUHQxcuO1FNR_WCmKJKB8FhTu5_5sas33OydEDE6Jdi9xRo_N_80v4ZmA4LzNQThwVak0kyMKWIAQYILSs7SpPVfsUvcfj0c9Gk75dbJSqKCbaWZ8yfut4eMypIMVbjIUSd3mZp_mwr1fwCDUYOt2gmJ38i1FE_hRitH41rEP1yjIkMLgKn9BVpP7cpwbpo2LpPUZnejhWeE6mhKmnsD1yIp_a7ymsdzVM6lca3C2Ufr3TQAqcO2TxzqKUxmQQ89n6VIkIewc-LPZM6PmW-AhIYdJG1bTI2qvWHgDliKSvm_FfW4x_FYqCNwVTiXrNlhr1LBbGqQvMq51Im8aFebngRM9M-LJHpaYM2lK5VmhxxnBK_oy4ajGfndjhWY2R0vFZUHDIXwdc1A5ZfXZLvmrv2T55oUACm5uOyoZzRXgQW2ZeRwiuGP_G6DMGvjVZy4ktPsKBWMlnYXd8PcSsNF4d6nLzxDyPoL5tzIm6qvR-K3Xs8xDTG1ONV4mQaIc-GP2Y2_aNqRpf0oYgtHdP-VGe3VDWGjgTfbkL351Wz3AvZJkT7oN85poJrhDLO_rIB_7neM7jIevdLslq8sto01KcwGFShdqcaWeMNKIja6Pta3Q48lYjIDAy5LCXSoQNrJDZl_dQewUi3QH1jB9pqaXl57_xqP5CvEy_NdBe8FOmUg&session_state=7515cdc9-6fd7-4e93-b526-f0a3c23401fd#")
#(config['url_interface_0'])
# sign_in(driver, config)
driver.get(config['url_interface_0'])
sign_in(driver, config)
self.logger.info("Signed in successful")
interface_0_page = Interface_0(driver)
interface_0_page.select_client()
interface_0_page.upload_files(config)
interface_0_page.create_batch()
self.logger.info(f"Created batch with Batch ID: {interface_0_page.p_element.text}")
assert interface_0_page.p_element.text.startswith("batch_")
def test_verify_no_files_uploaded(self, driver, config):
self.logger.info("Verifying S3 bucket is created with batch ID")
@@ -67,6 +70,13 @@ class Test_interface_0:
interface_0_page = Interface_0(driver)
interface_0_page.select_client()
interface_0_page.create_batch()
# self.logger.info(f"Created batch with Batch ID: {p_element.text}")
# try:
assert interface_0_page.p_element.text is "Select files to create batch", "Batch ID is created instead of message"
# except AssertionError:
# self.logger.info(f"Batch ID is created instead of message")
# assert False
# def test_multiple_files(self, driver, config):
# contract_files = config["contract_files"]
@@ -0,0 +1,82 @@
from pages.interface_1_page_objects import Interface_1
from utils.element_related_methods import get_title
from utils.common_methods import sign_in
from utils.logger import get_logger
class Test_interface_1:
logger = get_logger()
def test_validate_navigation(self, driver, config):
self.logger.info("Verifying designated Interface 1 Page opens successfully")
driver.get(config['url_interface_1'])
self.logger.info(f"url_interface_1 {config['url_interface_1']} opened")
get_title(driver, "interface_1 · Streamlit")
if driver.title == 'interface_1 · Streamlit':
self.logger.info("Designated Interface 1 Page opened successfully")
assert True
else:
self.logger.info("Designated Interface 1 Page not opened successfully")
assert False
def test_verify_sign_in(self, driver, config):
self.logger.info("Verifying Single Sign-On (SSO) Login for Interface 1")
driver.get(config['url_interface_1'])
sign_in(driver, config)
self.logger.info("Signed in successful")
get_title(driver, "interface_1 · Streamlit")
if driver.title == 'interface_1 · Streamlit':
self.logger.info("Interface 1 page opened successfully")
assert True
else:
self.logger.info("Interface 1 page not opened successfully")
assert False
def test_read_contract_from_path(self, driver, config):
self.logger.info("Verifying Single Sign-On (SSO) Login for Interface 1")
driver.get(config['url_interface_1'])
sign_in(driver, config)
self.logger.info("Signed in successful")
get_title(driver, "interface_1 · Streamlit")
interface_1 = Interface_1(driver)
interface_1.select_client()
interface_1.select_batch()
interface_1.check_group_no()
interface_1.click_read_the_contracts_from_path()
interface_1.check_table_contain()
def test_run_doczy_ai_pipeline(self, driver, config):
self.logger.info("Verifying Single Sign-On (SSO) Login for Interface 1")
driver.get(config['url_interface_1'])
sign_in(driver, config)
self.logger.info("Signed in successful")
get_title(driver, "interface_1 · Streamlit")
interface_1 = Interface_1(driver)
interface_1.select_client()
interface_1.select_batch()
interface_1.check_group_no()
interface_1.click_read_the_contracts_from_path()
interface_1.check_table_contain()
interface_1.click_run_doczy_ai_pipeline()
if interface_1.result_message.text is "Success":
self.logger.info(f"Files are passed to Doczy.AI pipeline")
assert True
else:
self.logger.info(f"Files are passed to Doczy.AI pipeline")
assert True
def test_run_doczy_ai_pipeline_without_selecting_group_no(self, driver, config):
self.logger.info("Verifying Single Sign-On (SSO) Login for Interface 1")
driver.get(config['url_interface_1'])
sign_in(driver, config)
self.logger.info("Signed in successful")
get_title(driver, "interface_1 · Streamlit")
interface_1 = Interface_1(driver)
interface_1.select_client()
interface_1.select_batch()
interface_1.click_read_the_contracts_from_path()
interface_1.check_table_contain()
interface_1.click_run_doczy_ai_pipeline()
assert interface_1.result_message.text is "Please select at least one Group No."