Tags: google/testrun
Tags
Release v1.4 into main (#687) * Update requirements.txt (#429) Signed-off-by: J Boddey <[email protected]> * Remove in progress status after discovery (#422) * Add steps to resolve to PDF report (#411) * Add progress for steps to resolve * Formatting * Remove print statements * Allow for no steps to resolve * Add multipage * Fix multipage * Fix config * update report unit tests --------- Signed-off-by: J Boddey <[email protected]> Co-authored-by: jhughesbiot <[email protected]> * Bump ejs in /modules/ui in the npm_and_yarn group across 1 directory (#428) Bumps the npm_and_yarn group with 1 update in the /modules/ui directory: [ejs](https://github.com/mde/ejs). Updates `ejs` from 3.1.9 to 3.1.10 - [Release notes](https://github.com/mde/ejs/releases) - [Commits](mde/ejs@v3.1.9...v3.1.10) --- updated-dependencies: - dependency-name: ejs dependency-type: indirect dependency-group: npm_and_yarn ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * For delete report take mac_addr from upper level (#436) * Update dependencies (#435) * Add new mac addr field for report deleting (#432) * Bump version to v1.2.2 (#433) * fix: replace Feature Not Present to Feature Not Detected (#445) Co-authored-by: Volha Mardvilka <[email protected]> * Fix PDF alignment (#441) * Do not remove form control on destroy as it causes error; call system/config on settings open (#442) * Fix some pylint issues (#437) * Update documentation (#448) * Update documentation * Update docs * V1.3 (#393) * Adds version analytics event (#306) * Techdebt: adds state for testrun page (#392) * Fix tests (#397) * Fix tests * Update node version * 331379891: (feat) disable connection settings when testrun is in progress (#371) * 331379891: (feat) disable connection settings when testrun is in progress * 331379891: (fix) include more testrun results as progress * 331379891: (fix) fix spelling * 333349715: (fix) GAR 1.3 The disabled system settings panel contains a focusable element (#388) Co-authored-by: Volha Mardvilka <[email protected]> --------- Co-authored-by: Volha Mardvilka <[email protected]> * Disable device item if device in progress (#370) * Adds ga to track testrun initiation (#415) Adds ga ti track testrun initiation * Fix function return value (#421) * Fix redirect + adds google analytics (#420) * Adds certificates drawer component with list of certificates (#414) Adds certificates drawer component with list of certificates. Upload and delete is out of scope * List modules (#425) * Adds delete certificate (#424) Adds delete certificate * Adds class for links to track report type on download; adds event when download report is clicked on progress page (#434) * Adds upload certificate (#431) * Adds upload certificate * move delete functionality to certificates store * Catch error on report/certificate deletion (#438) * Fix button size; fix text-overflow (#440) * Adds focus on next or close button when certificate is deleted (#439) * Adds focus on next or close button when certificate is deleted * Enable test modules for initiate test run dialog (#400) Enable test modules for initiate test run dialog * Add steps to resolve to PDF report (#411) * Add progress for steps to resolve * Formatting * Remove print statements * Allow for no steps to resolve * Add multipage * Fix multipage * Fix config * update report unit tests --------- Signed-off-by: J Boddey <[email protected]> Co-authored-by: jhughesbiot <[email protected]> * Add new mac addr field for report deleting (#432) * Bump version to v1.2.2 (#433) * 337012359: (feat) add snackBar with wait or stop testrun (#444) * 337012359: (feat) add snackBar with wait or stop testrun * 337012359: (fix) update to fix failed tests * 337012359: (fix) add fix for deletCertificate test --------- Co-authored-by: Volha Mardvilka <[email protected]> * Feature/port stats (#430) * Add port speed and duplex tests Add unit tests for port stats testing Add place holder for ip port link test * Add ethtool to system dependencies Restructure conn stats methods and tests Resolve port stat information for link test * Fix runtime issue * Implement link test Fix unit tests Misc port stats updates * fix pylint issues * update readme * pylint fixes --------- Signed-off-by: J Boddey <[email protected]> Co-authored-by: J Boddey <[email protected]> * 339315842: (feat) add risk assessment tab (#450) * 339315842: (feat) add risk assessment tab * 339315842: (feat) add risk assessment tab --------- Co-authored-by: Volha Mardvilka <[email protected]> * Add steps to resolve to PDF report (#411) * Add progress for steps to resolve * Formatting * Remove print statements * Allow for no steps to resolve * Add multipage * Fix multipage * Fix config * update report unit tests --------- Signed-off-by: J Boddey <[email protected]> Co-authored-by: jhughesbiot <[email protected]> * Add new mac addr field for report deleting (#432) * Remove rebase error --------- Signed-off-by: J Boddey <[email protected]> Co-authored-by: Olga Mardvilko <[email protected]> Co-authored-by: Volha Mardvilka <[email protected]> Co-authored-by: J Boddey <[email protected]> Co-authored-by: jhughesbiot <[email protected]> Co-authored-by: jhughesbiot <[email protected]> * Rename "history" to "reports" (#456) * Rename "device-repository" to "devices" (#455) * Change certificates endpoints (#458) * 339311887: (feat) display saved risk profile (#460) Co-authored-by: Volha Mardvilka <[email protected]> * Fix ui defects (#459) * 340835710: (fix) [Risk assessment] change page view when callout is visible (#461) Co-authored-by: Volha Mardvilka <[email protected]> * Fix style to allow screen reader to read label (#462) * Updaate device test module configuration from api start endpoint (#463) * Add get profiles format endpoint (#465) * 339311250: (feat) delete risk profile (#466) Co-authored-by: Volha Mardvilka <[email protected]> * 341254121: (fix) [a11y] add item name for aria-labels delete and copy buttons (#467) Co-authored-by: Volha Mardvilka <[email protected]> * Make testing statuses available outside of Testing Tab (#468) * Adds timeout token * Status is available on all pages; Removed unused field isTestrunStarted - actual status is available * Validate CA certificate on FE (#464) * Adds validation on certificate upload * Show notification when error happens * 341901606: (fix) [GAR 1.6]: update for arrows usage on risk profile (#471) Co-authored-by: Volha Mardvilka <[email protected]> * Adds space in certificate name regexp (#469) * 342096458: (fix) [GAR 1.3] add focus trap to certificates panel to prevent move focus to risk profile (#472) Co-authored-by: Volha Mardvilka <[email protected]> * The focus is not moved to the snackbar with certificate validation rule (#470) * Adds class to fix focus flow * Changes the delay according to string length * Adds file name in error message (#473) * Add certificate endpoints (#451) * Adds version analytics event (#306) * Techdebt: adds state for testrun page (#392) * Fix tests (#397) * Fix tests * Update node version * 331379891: (feat) disable connection settings when testrun is in progress (#371) * 331379891: (feat) disable connection settings when testrun is in progress * 331379891: (fix) include more testrun results as progress * 331379891: (fix) fix spelling * 333349715: (fix) GAR 1.3 The disabled system settings panel contains a focusable element (#388) Co-authored-by: Volha Mardvilka <[email protected]> --------- Co-authored-by: Volha Mardvilka <[email protected]> * Disable device item if device in progress (#370) * Adds ga to track testrun initiation (#415) Adds ga ti track testrun initiation * Certs progress * Add list and upload cert endpoint * Add delete certificate endpoint * Update cert response codes * Upgrade dependency --------- Co-authored-by: Sofia Kurilova <[email protected]> Co-authored-by: Olga Mardvilko <[email protected]> Co-authored-by: Volha Mardvilka <[email protected]> * Fix modify devices test (#449) * Fix modify devices * Remove excess logging * "Waiting for Device" :the snack bar appears on all pages (#474) * Make waiting for device snackbar global * Do not dismiss snack bar onDestroy * Rename testrun component (#480) * Rename settings component (#476) * Rename testrun component (#477) * Rename testrun component * Improve API test coverage (#291) * Improve API test coverage * Add timeouts * Improve coverage * Increase API timeout Signed-off-by: J Boddey <[email protected]> * Pylint fixes * Disable broken tests * Fix skip * Disable broken tests * Fix test --------- Signed-off-by: J Boddey <[email protected]> * Remove certificate if BE error happens (#484) * Add cert status (#478) * Add ethtool to make and docs (#483) * Add exception handling to certificate upload (#479) * Add cert status * Add exception handling to cert upload * Add get profiles format endpoint (#475) * Add get profiles format endpoint * Update risk assessment format * Re-add modules endpoint * Update session.py Signed-off-by: J Boddey <[email protected]> --------- Signed-off-by: J Boddey <[email protected]> * Reduce locations of Testrun version (#453) * Reduce locations of Testrun version * Update from comments * Resolve make control file --------- Signed-off-by: J Boddey <[email protected]> * Allow stop testrun from any other page (#487) * Feature/tls client protocols (#485) * Add methods to allow known protocols that dont fit into the strict tls client detection methods Add QUIC protocol to approved protocols Start moving unit tests to a docker container for consistency * Fix client connections protocol method script Downgrade cryptography and pyOpenSSL libraries Move unit testing into docker for TLS module * Misc cleanup and pylint issues --------- Co-authored-by: J Boddey <[email protected]> * The focus goes to the main page element after adding the ceriticate (#489) * Focus first interactive element in cert container when cert snack bar closed * The snack bar with test attempt status appears if the user is not on Testing page (#488) * Remove testrun status snack bar * Update consent form (#490) * Adds opt out checkbox * Adds announce when settings or certificate panel is opened (#493) * Set status code on failed cert upload (#491) * Add risk profiles (#486) * Add get profiles format endpoint * Update risk assessment format * Re-add modules endpoint * Work on profiles * Add load profiles format * Pylint * Add check status --------- Signed-off-by: J Boddey <[email protected]> * Add test count to PDF report (#482) * Add test count to PDF report * Fix pylint issue * Exclude error --------- Signed-off-by: J Boddey <[email protected]> * Change network mode on network modules to fix gateway routing (#495) * 342365574: (feat) display info about Risk Assessment during testing (#492) * 342365574: (feat) display info about Risk Assessment during testing * 342365574: (fix) change to show Risk Assessment callout only on InProgress --------- Co-authored-by: Volha Mardvilka <[email protected]> * Updates status with data from start response (#494) * 341966862: (feat) display info about risk assessment in welcome modal (#496) Co-authored-by: Volha Mardvilka <[email protected]> * Adds download zip window (#497) * 344874424: (fix) disable device tile in Canceling status (#500) Co-authored-by: Volha Mardvilka <[email protected]> * Fix/UI/345164706 (#501) * 345164706: (fix) disable start testrun btn in canceling state * 345164706: (fix) remove commented code --------- Co-authored-by: Volha Mardvilka <[email protected]> * GA option issues on the Welcome modal (#502) * Fix ga initial value * Fix label * 345202815: (fix) callout with the RA message is shown on the RA page (#503) Co-authored-by: Volha Mardvilka <[email protected]> * 345203686: (fix) update callout block view on the welcome modal (#504) Co-authored-by: Volha Mardvilka <[email protected]> * Allow UI to specify modules (#505) * Update risk assessment format (#499) * Fix issue with checking for error result (#498) * Fix issue with checking for error result * Resolve issue * Update html in test report Signed-off-by: J Boddey <[email protected]> --------- Signed-off-by: J Boddey <[email protected]> * Announce disabled state of settings panel (#506) * The Downlaod ZIP action can not be performed using the keaboard (#508) * Changes aria-label for Download Anyway button * Fix keyboard navigation for Download zip component * Add create and delete profile endpoints (#507) * Work towards creating profiles * Add delete profile endpoint * Exclude link local for arp (#418) * Add feature not detected test result (#396) * Add feature not present test result * Remove changes to tls module * Further pylint fixes * Add Feature Not Present to relevant tests * Reduce pylint limit * Change to feature not detected * Modify bacnet result * Update DNS test --------- Signed-off-by: J Boddey <[email protected]> * Add extension for cert upload (#510) * 340859666: (feat): display risk profile form with name field (#514) Co-authored-by: Volha Mardvilka <[email protected]> * Fixes some pylint issues (#511) * Fix some pylint issues * Fix more pylint issues * bug/test_baseline (#513) * Update mac address for baseline config dynamically * fix line endings * Update device config via Testrun api * Add API to no ui mode * Fix API endpoint call * Remove mac address update Change mac address in container * Add container start command back * Skip DNS tests * Cleanup --------- Co-authored-by: J Boddey <[email protected]> * Attach profile to ZIP report (#518) * Work towards creating profiles * Add delete profile endpoint * Work on attaching profile to zip * Pylint * Fix zipping * Pylint fixes --------- Signed-off-by: J Boddey <[email protected]> * Generate Risk profile from json (#515) Generate form from json * The Downlaod ZIP action can not be performed using the keyboard (#517) * Stop propagating event to eliminate the error * Fix tests * Adds tooltip * Fix export endpoint to use POST request * Fix zip download --------- Co-authored-by: Jacob Boddey <[email protected]> * Add required if applicable (#519) * WIP: Add required if applicable * Fix bug with TLS client test * Update TLS results * Fix styles for helperbird (#524) * Form from json validation (#523) * Adds field validation * Fix vulnerabilities in dependencies (#526) * Enable draft button when profile name is present; enable save button when form is valid; remove discard button (#530) * Correct result on tls client test (#528) * Add informational and fnd to report (#527) * Mark fields required when trimmed value is empty (#529) * Update requests dependency (#525) * Remove debug artifact (#531) * Fix scroll area on reports page (#532) * Announce risk form open; focus first element in container (#536) * Fix validation; change element for text-long (#538) * 345258435: (feat) display expired certificate (#539) Co-authored-by: Volha Mardvilka <[email protected]> * 348187954: (fix) update callouts position on the small window size (#540) Co-authored-by: Volha Mardvilka <[email protected]> * 348356236: (fix) add tooltips for icons without any accompanying text (#541) Co-authored-by: Volha Mardvilka <[email protected]> * 348353479: (fix) add tooltip for the download zip button using the keyboard (#542) Co-authored-by: Volha Mardvilka <[email protected]> * 348361925: (fix) add helper text for mandatory profile name field (#543) Co-authored-by: Volha Mardvilka <[email protected]> * Save new risk profile (#533) * Save new risk profile * Clear and close form after profile saved * Adds status valid for save profile * Fix DNS report when DNS packet is missing the qname property (#546) * Adds edit risk profile (#544) * Refactor delete form: rename it to simple dialog as it is not used for delete anymore * Adds edit risk profile * Fix autozise (#547) * Feature/risk profile (#522) * Update risk profile * Add unit tests for risk profile Fix service nmap unit test * Add unit tests for risk profile Fix service nmap unit test * Update api and session for new risk profile methods * pylint * pylint * Fix some pylint * Fix more pylint * Fix some bugs * Update risk profile logic (#535) * Update risk profile logic * Update test profiles Remove duplicate test file Cleanup temp test files * Remove categories from profile * Update expiration check to account for leap years * Update risk assessment questions * Update dependency * Add missing question * Update format and add error handling --------- Co-authored-by: jhughesbiot <[email protected]> --------- Signed-off-by: J Boddey <[email protected]> Co-authored-by: Jacob Boddey <[email protected]> * Adds save draft (#549) Co-authored-by: Sofia Kurilova <[email protected]> * 346351108: (feat) display risk assessment result (#553) * Close form after selected risk profile was deleted (#554) Co-authored-by: Sofia Kurilova <[email protected]> * Fix error when updating profile (#555) * Render informational result correctly (#551) * Re-add method for exporting profle (#550) * Fix bug when failed to fetch latest version (#548) * 349769454: (fix) update size on the empty reports page to prevent overlapping (#557) * Fix bad multiple ip report when no ip requested (#556) * Fix Duplicate Certificate Names (#545) * Check for existing common name before uploading new cert Misc pylint updates * Re-add missing session content --------- Signed-off-by: J Boddey <[email protected]> Co-authored-by: Jacob Boddey <[email protected]> * Changes the icon; adds create date (#552) * 349783464: (fix) add styles for selected elements and fix form size on RA (#558) * 349793005: (fix) change focus to profile form to scroll up on opening profile (#559) * Return focus on create button when new profile created; return focus on profile is profile was edited (#560) * Small refactoring; update validators on selected profile update and on profile list update (#564) * Enables save and draft button for edit mode (#565) * Validate multi select form group on last checkbox tab press (#566) * Remove copy button (#567) * Bug/bacnet device (#568) * Change BACnet device detection validation Add unit tests * Fix runtime * cleanup * Update unit tests to match runtime types * Show only valid profile in modal; fix condition to not download profile if redirect button clicked (#569) * Fix bug when saving draft profile (#563) * Fix bug when saving draft * Remove risk when status changes to draft * Re-add exception handling * Fix formatting : * Update questions before calculating risk * Update unit testing * Update unit testing * Invoke risk profile update method in favor of manually updating properties in session * Update risk after update and fix type error * Update risk correctly --------- Signed-off-by: J Boddey <[email protected]> Co-authored-by: jhughesbiot <[email protected]> * Focus title or first element in container when navigation is triggered by enter (#570) * Adds aria label and tooltip to risk profile icons (#572) * Add profile PDF (#562) * Work on pdf * Work on profile PDF * Fix risk answer formatting * Downgrade weasyprint * Remove duplicate line * Update risk assessment after review * Fix profile format undefined * Update zip file to use /tmp directory (#571) Update device report folder Update file paths to use old and new patterns Co-authored-by: J Boddey <[email protected]> * Remove cert from session after delete request (#575) * Fix error when only draft profiles are exist (#576) * Focus fix; fix profile status icon (#579) * Fix focus after page is opened * Fix profile status * Support longer string answers in profile PDF (#578) * Add extra spacing for long string answers * Format JSON * Cleanup old test devices from runtime (#583) * 351758698: (fix) update app version styles to meet design on expanded nav (#586) * Update risk profile description (#582) * Bump version for release (#584) * Remove skipped result (#580) * Prevent creating device with duplicate manufacturer and model (#581) * Prevent duplicate mf and model * Change error message to be more precise * Fix logic * Remove profile from runtime once included in ZIP (#577) * Remove profile after ZIP creation * Create /tmp dir for results Copy test results and profile to results dir Zip results dir and cleanup --------- Co-authored-by: jhughesbiot <[email protected]> * Do not show settings callout if there are no interfaces and saved settings (#587) * Fix modbus results (#588) * Don't show error if config is empty; don't show settings callout when settings are not empty after saving (#589) * Catch error to proceed with device creation/editing (#592) * Remove output logging from OS level commands (#594) * Fix cancel after monitor bug and add testrun.log (#595) * Fix step 1 callout error (#593) * Fix GAR bug with cert upload (#590) * Change exception logic on cert upload * Fix error logic * Update documentation (#591) * Work on docs changes * Update docs * Update roadmap * Update docs * Update docs * Remove dev README.md * Remove skipped from docs * Add exception handling to timestamp parsing (#598) * Change exception logic on cert upload * Fix error logic * Add exception handling to timestamp parse * Stick button to the bottom of risk page (#574) * Adds copy of risk profile (#573) * Lint fix * Set testrun IDLE status if report of finished test run is removed (#585) * Adds Discard risk profile (#596) * Load test modules dynamically (#597) * Update download zip modal: add link to Risk Profiles, remove redirect button, rename download button, add No Profile option (#599) * 351338001: (feat) update rule for the third step message (#600) * 347009372: (feat) add selector for profile options for GA4 (#604) * Adds tooltip for copy and delete; show "same name" error when more than one copy is created (#606) * 346999760: (feat) [GA4] Track CA Certificates (#607) * 353476778: (fix) GAR 2.11 change for prevent risk profile tiles overlap (#609) * If profile is editing, return focus on profile (#612) * Change title for save profile dialog according to type of profile (#610) * Get reports when app is opened and when report page is opened; change status if testrun does not exist in reports; do not change status if testrun is just finished but not in reports yet (#613) * Show tooltip only on keyboard or hover (#614) * Update condition as report field is unique (#615) * Expired profile profile (#619) * Use device mac_addr if report mac_addr is missing (#622) * get system network interfaces util func * test get_sys_interfaces * pylint * get all network interfaces on session start * dicts diff * detect network adapter change * pylint * logging * Add ws server * Add MQTT protocol * Upgrade ws server * paho-mqtt dependency * getting docker container IP by container name * MQTT client class * Fix pylint * rename mqtt client logger * APScheduler * initializing the client inside the testrun object * pylint * check networks adapters in background * remove extra lines at the end of a file * rename mgtt logger * move network_adapters_checker to network_orchestrator * Adds mqtt client, adds pop up when new adapter is available (#603) * Fix some pylint issues (#620) * Disabled test results (#212) * Better handling of disbled tests Add dns and tls tests back in disabled state * pyling fixes * Fix subscriptable error * Re-add old tests as informational --------- Co-authored-by: J Boddey <[email protected]> * remove get ip of docker container because it is not necessary * Fix individual test disabling when run from the UI (#629) * Fix individual test disabling when run from the UI * Remove disabled result for now --------- Co-authored-by: Jacob Boddey <[email protected]> * Update package.yml (#624) Signed-off-by: J Boddey <[email protected]> * Added risk profile api testing (#628) * added tests for profile endpoints * Modified test_start_testrun_started_successfully payload to match the expected json format, updated the profile endpoints tests * fixed the pylint errors from test_api.py * fixed few more pylint errors * Expired profile profile (#619) * Use device mac_addr if report mac_addr is missing (#622) * Fix some pylint issues (#620) * Disabled test results (#212) * Better handling of disbled tests Add dns and tls tests back in disabled state * pyling fixes * Fix subscriptable error * Re-add old tests as informational --------- Co-authored-by: J Boddey <[email protected]> * added try-except block to delete_all_profiles() * Revert session file back * Add new line * Update api testing * updated the tests for profile endpoint, added a new fixture (add_profile) to create a profile * Updated profile endpoints: created a new fixture add_profile for creating profiles * Fix pylint * Fix pylint * Fix pylint issues --------- Co-authored-by: Sofia Kurilova <[email protected]> Co-authored-by: J Boddey <[email protected]> Co-authored-by: jhughesbiot <[email protected]> * Adds close button for expired profile (#635) * Copy changes from hotfix 1.3.1 to dev (#631) * Copy changes from hotfix 1.3.1 to dev * Add pydyf version Signed-off-by: J Boddey <[email protected]> --------- Signed-off-by: J Boddey <[email protected]> * Inform FE about a new network adapter discovered( rename mqtt topic according to naming convention) (#634) * rename mqtt topic * Rename topic in ui --------- Co-authored-by: kurilova <[email protected]> Co-authored-by: J Boddey <[email protected]> * Fix network only mode issues (#617) Co-authored-by: J Boddey <[email protected]> * Update all unit tests to work within the runtime environment (#611) * Update all unit tests to work within the runtime environment * Fix some formatting * fix line endings * update gitignore * Fix binary files in dockerfile * Change unit tests to run from testrun root directory * Run unit tests in actions * Fix pylint issues * Change command in actions * Update testing.yml Signed-off-by: J Boddey <[email protected]> --------- Signed-off-by: J Boddey <[email protected]> Co-authored-by: Jacob Boddey <[email protected]> * Feature/dns report update (#637) * Update DNS module report Downgrade python packages for tls module * Fix header * pylint fixes * refactor func to handle case when network interface not exists * set test result "Error" * check device connected * thread for monitoring device connection * Minor changes * check the device connection only before each test * Adds tooltip (#638) Adds tooltip * send testrun status using mqtt * remove duplicatied line * refactor setting remaining tests to error * pylint * Fix focus after profile delete - track by name (#640) Fix focus after profile delete - track by name * Update the requests dependency (#643) * Update requests dependency * Update requests dependency * Update dependency in TLS test * Update docker dependency --------- Signed-off-by: J Boddey <[email protected]> * Revert "Expired profile (#619)" (#645) Prevent opening of Expired risk profile * Improve documentation (#639) * Improve docs * Remove paragraph * Text changes * Fix text for the BE error * Change tooltip (#650) * Change tooltip * Allows draft profiles to become expired (#636) * Allow draft profiles to expire * Move status method into risk profile class * Use existing method * Check for expiry in validate method * Remove unused variable * Build UI during package instead of install (#621) * Build UI during package * Fix local build * Install npm * Remove duplicate build message * Fix ESLint * Fix script * Modify scripts * Improve scripts * Fix copy command * Try installing package * Depend on package job * Add sudo * Add sudo * Troubleshoot * Fix workflow * Checkout source for prepare command * Built ui within a container * Mount src files for build instead of static copy in build image * Attempt to fix actions * Remove manual build container cleanup methods * undo failed attempts to fix actions * Fix path * Remove -it flag --------- Signed-off-by: J Boddey <[email protected]> Co-authored-by: kurilova <[email protected]> Co-authored-by: jhughesbiot <[email protected]> * Feature/risk in selected (#654) * Adds risk to selected value * Adds risk to selected value --------- Co-authored-by: J Boddey <[email protected]> * Show risk for each question in the Risk profile (#647) * Show risk for each question in the Risk profile * set top position to 0 --------- Co-authored-by: J Boddey <[email protected]> * Show internet connection (#653) * MQTT show internet connection * remove unused method * Change tooltip for internet icon (#656) * Change tooltip for internet icon * Remove unused import' --------- Co-authored-by: Jacob Boddey <[email protected]> --------- Signed-off-by: J Boddey <[email protected]> Co-authored-by: J Boddey <[email protected]> Co-authored-by: Sofia Kurilova <[email protected]> * bug/modbus_constructor (#657) * Pin all required packages Update modbus constructor to prevent error Add full trace logging for general errors in tests * Fix pylint issue --------- Co-authored-by: Jacob Boddey <[email protected]> * Use mqtt service instead of calling GET /status every 5 seconds. (#644) * Use mqtt service instead of calling GET /status every 5 seconds. * Adds tooltip (#638) Adds tooltip * Fix focus after profile delete - track by name (#640) Fix focus after profile delete - track by name * Update the requests dependency (#643) * Update requests dependency * Update requests dependency * Update dependency in TLS test * Update docker dependency --------- Signed-off-by: J Boddey <[email protected]> * remove unused output * encode mqtt message to json * Revert "Expired profile (#619)" (#645) Prevent opening of Expired risk profile * Improve documentation (#639) * Improve docs * Remove paragraph * Text changes * Fix text for the BE error * Change tooltip (#650) * Change tooltip * Allows draft profiles to become expired (#636) * Allow draft profiles to expire * Move status method into risk profile class * Use existing method * Check for expiry in validate method * Remove unused variable * Build UI during package instead of install (#621) * Build UI during package * Fix local build * Install npm * Remove duplicate build message * Fix ESLint * Fix script * Modify scripts * Improve scripts * Fix copy command * Try installing package * Depend on package job * Add sudo * Add sudo * Troubleshoot * Fix workflow * Checkout source for prepare command * Built ui within a container * Mount src files for build instead of static copy in build image * Attempt to fix actions * Remove manual build container cleanup methods * undo failed attempts to fix actions * Fix path * Remove -it flag --------- Signed-off-by: J Boddey <[email protected]> Co-authored-by: kurilova <[email protected]> Co-authored-by: jhughesbiot <[email protected]> * Feature/risk in selected (#654) * Adds risk to selected value * Adds risk to selected value --------- Co-authored-by: J Boddey <[email protected]> * Show risk for each question in the Risk profile (#647) * Show risk for each question in the Risk profile * set top position to 0 --------- Co-authored-by: J Boddey <[email protected]> * Use mqtt service instead of calling GET /status every 5 seconds. * Use mqtt service instead of calling GET /status every 5 seconds. * Use mqtt service instead of calling GET /status every 5 seconds. * pylint --------- Signed-off-by: J Boddey <[email protected]> Co-authored-by: J Boddey <[email protected]> Co-authored-by: Aliaksandr Nikitsin <[email protected]> Co-authored-by: jhughesbiot <[email protected]> * Adds test statuses (#661) * Ignore folders when loading certs (#660) * Remove scorecard schedule and bump version (#659) * Allow ICMP response to DHCP messages in DHCP snooping test (#608) * Allow ICMP response to DHCP messages * Bug/unit test runtime (#655) * Change base test module startup to allow setup script to run independent of module startup process Update connection_module to allow for unit testing Update unit test run script to use new process * enable all unit tests update google cert * Remove binary fix lines from docker files pylint updates * pylint updates --------- Co-authored-by: jhughesbiot <[email protected]> * The risk profile saved with old format is shown improperly while loading based on a new format (#664) * Fill only fields that are present in profile * GAR : The alt text for the expired risk profile should be communicated on Enter key (#662) * Change Expired profile title on Enter; announce Expired profile title on Enter * Update wording of tls cipher results (#671) * Show error message if provided; show default message if no (#680) * Test install on supported operating systems (#675) * Test install on multiple versions * Update step names * Remove recommendations on error (#674) * Tests for API (#649) * changed the tests order in test_api.py * added tests for '/system/config' POST endpoint * added the tests for 'system/shutdown' endpoint * added the test for GET '/reports' endpoint, updated 'test_update_system_config_invalid_config' to return error 400 * Check for missing fields Signed-off-by: J Boddey <[email protected]> * added tests for delete profile (404, 400), added tests for create and update profile (400), added test 'run_test_and_get_report' skipped due to blocking during testing phase * added a new json file in '/testing/api/' used in 400 error tests * added error handling if 'name' and 'questions' not in profile json * fixed pylint * Added tests when update is available and 500 status code for '/system/version', test for system/modules * added responses library in requirements.txt * fixed the requested changes in api.py * Renamed the load_profile method to load_json and changed the logic to allow to load any json based on file name and relative path, corrected the new lines issues * updated restore_config fixture to run after the test * added test for create/update profile (500 error) * fixed pylint * fixed spacing, removed get_report_one_report * added tests: 500 error for delete '/profiles', 500 error for 'profles/format', 400, 404, 409 for '/system/start' * modified the tests for 500 response * added new profile with missing 'answer' * removed the tests with mock response * Update NTP report (#666) * Update NTP report * cleanup imports * pylint updates * modified update profile for bad request * changed validate_profile_json: handling empty spaces in name and question, handle if 'risk' field missing if status is 'Valid' * updated the requested changes * Add further profile validation * Fix pylint issues * Fix profile tests * Move validation to session * Fix pylint issue Signed-off-by: J Boddey <[email protected]> --------- Signed-off-by: J Boddey <[email protected]> Co-authored-by: J Boddey <[email protected]> Co-authored-by: jhughesbiot <[email protected]> * Fix a delay in the internet connectivity check (#669) * Add a timeout to the command * move single-intf check to scheduler * add timeout arg to run_command * move jobs to constructor * fping for internet connection checking * Update internet connection when device is In Progress, Monitoring, Waiting for Device status (#677) * Update internet connection when device is In Progress, Monitoring, Waiting for Device status * check if interface physically connected * Revert "fping for internet connection checking" --------- Co-authored-by: Aliaksandr Nikitsin <[email protected]> Co-authored-by: Sofia Kurilova <[email protected]> * Check if device folder already exists (#678) * Check if device folder already exists * Fix error message * Fix pylint issue * Remove debug mqtt logs (#692) --------- Signed-off-by: J Boddey <[email protected]> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: jhughesbiot <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Sofia Kurilova <[email protected]> Co-authored-by: Olga Mardvilko <[email protected]> Co-authored-by: Volha Mardvilka <[email protected]> Co-authored-by: jhughesbiot <[email protected]> Co-authored-by: Sofia Kurilova <[email protected]> Co-authored-by: Aliaksandr Nikitsin <[email protected]> Co-authored-by: Marius <[email protected]>
Release v1.4 into main (#687) * Update requirements.txt (#429) Signed-off-by: J Boddey <[email protected]> * Remove in progress status after discovery (#422) * Add steps to resolve to PDF report (#411) * Add progress for steps to resolve * Formatting * Remove print statements * Allow for no steps to resolve * Add multipage * Fix multipage * Fix config * update report unit tests --------- Signed-off-by: J Boddey <[email protected]> Co-authored-by: jhughesbiot <[email protected]> * Bump ejs in /modules/ui in the npm_and_yarn group across 1 directory (#428) Bumps the npm_and_yarn group with 1 update in the /modules/ui directory: [ejs](https://github.com/mde/ejs). Updates `ejs` from 3.1.9 to 3.1.10 - [Release notes](https://github.com/mde/ejs/releases) - [Commits](mde/ejs@v3.1.9...v3.1.10) --- updated-dependencies: - dependency-name: ejs dependency-type: indirect dependency-group: npm_and_yarn ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * For delete report take mac_addr from upper level (#436) * Update dependencies (#435) * Add new mac addr field for report deleting (#432) * Bump version to v1.2.2 (#433) * fix: replace Feature Not Present to Feature Not Detected (#445) Co-authored-by: Volha Mardvilka <[email protected]> * Fix PDF alignment (#441) * Do not remove form control on destroy as it causes error; call system/config on settings open (#442) * Fix some pylint issues (#437) * Update documentation (#448) * Update documentation * Update docs * V1.3 (#393) * Adds version analytics event (#306) * Techdebt: adds state for testrun page (#392) * Fix tests (#397) * Fix tests * Update node version * 331379891: (feat) disable connection settings when testrun is in progress (#371) * 331379891: (feat) disable connection settings when testrun is in progress * 331379891: (fix) include more testrun results as progress * 331379891: (fix) fix spelling * 333349715: (fix) GAR 1.3 The disabled system settings panel contains a focusable element (#388) Co-authored-by: Volha Mardvilka <[email protected]> --------- Co-authored-by: Volha Mardvilka <[email protected]> * Disable device item if device in progress (#370) * Adds ga to track testrun initiation (#415) Adds ga ti track testrun initiation * Fix function return value (#421) * Fix redirect + adds google analytics (#420) * Adds certificates drawer component with list of certificates (#414) Adds certificates drawer component with list of certificates. Upload and delete is out of scope * List modules (#425) * Adds delete certificate (#424) Adds delete certificate * Adds class for links to track report type on download; adds event when download report is clicked on progress page (#434) * Adds upload certificate (#431) * Adds upload certificate * move delete functionality to certificates store * Catch error on report/certificate deletion (#438) * Fix button size; fix text-overflow (#440) * Adds focus on next or close button when certificate is deleted (#439) * Adds focus on next or close button when certificate is deleted * Enable test modules for initiate test run dialog (#400) Enable test modules for initiate test run dialog * Add steps to resolve to PDF report (#411) * Add progress for steps to resolve * Formatting * Remove print statements * Allow for no steps to resolve * Add multipage * Fix multipage * Fix config * update report unit tests --------- Signed-off-by: J Boddey <[email protected]> Co-authored-by: jhughesbiot <[email protected]> * Add new mac addr field for report deleting (#432) * Bump version to v1.2.2 (#433) * 337012359: (feat) add snackBar with wait or stop testrun (#444) * 337012359: (feat) add snackBar with wait or stop testrun * 337012359: (fix) update to fix failed tests * 337012359: (fix) add fix for deletCertificate test --------- Co-authored-by: Volha Mardvilka <[email protected]> * Feature/port stats (#430) * Add port speed and duplex tests Add unit tests for port stats testing Add place holder for ip port link test * Add ethtool to system dependencies Restructure conn stats methods and tests Resolve port stat information for link test * Fix runtime issue * Implement link test Fix unit tests Misc port stats updates * fix pylint issues * update readme * pylint fixes --------- Signed-off-by: J Boddey <[email protected]> Co-authored-by: J Boddey <[email protected]> * 339315842: (feat) add risk assessment tab (#450) * 339315842: (feat) add risk assessment tab * 339315842: (feat) add risk assessment tab --------- Co-authored-by: Volha Mardvilka <[email protected]> * Add steps to resolve to PDF report (#411) * Add progress for steps to resolve * Formatting * Remove print statements * Allow for no steps to resolve * Add multipage * Fix multipage * Fix config * update report unit tests --------- Signed-off-by: J Boddey <[email protected]> Co-authored-by: jhughesbiot <[email protected]> * Add new mac addr field for report deleting (#432) * Remove rebase error --------- Signed-off-by: J Boddey <[email protected]> Co-authored-by: Olga Mardvilko <[email protected]> Co-authored-by: Volha Mardvilka <[email protected]> Co-authored-by: J Boddey <[email protected]> Co-authored-by: jhughesbiot <[email protected]> Co-authored-by: jhughesbiot <[email protected]> * Rename "history" to "reports" (#456) * Rename "device-repository" to "devices" (#455) * Change certificates endpoints (#458) * 339311887: (feat) display saved risk profile (#460) Co-authored-by: Volha Mardvilka <[email protected]> * Fix ui defects (#459) * 340835710: (fix) [Risk assessment] change page view when callout is visible (#461) Co-authored-by: Volha Mardvilka <[email protected]> * Fix style to allow screen reader to read label (#462) * Updaate device test module configuration from api start endpoint (#463) * Add get profiles format endpoint (#465) * 339311250: (feat) delete risk profile (#466) Co-authored-by: Volha Mardvilka <[email protected]> * 341254121: (fix) [a11y] add item name for aria-labels delete and copy buttons (#467) Co-authored-by: Volha Mardvilka <[email protected]> * Make testing statuses available outside of Testing Tab (#468) * Adds timeout token * Status is available on all pages; Removed unused field isTestrunStarted - actual status is available * Validate CA certificate on FE (#464) * Adds validation on certificate upload * Show notification when error happens * 341901606: (fix) [GAR 1.6]: update for arrows usage on risk profile (#471) Co-authored-by: Volha Mardvilka <[email protected]> * Adds space in certificate name regexp (#469) * 342096458: (fix) [GAR 1.3] add focus trap to certificates panel to prevent move focus to risk profile (#472) Co-authored-by: Volha Mardvilka <[email protected]> * The focus is not moved to the snackbar with certificate validation rule (#470) * Adds class to fix focus flow * Changes the delay according to string length * Adds file name in error message (#473) * Add certificate endpoints (#451) * Adds version analytics event (#306) * Techdebt: adds state for testrun page (#392) * Fix tests (#397) * Fix tests * Update node version * 331379891: (feat) disable connection settings when testrun is in progress (#371) * 331379891: (feat) disable connection settings when testrun is in progress * 331379891: (fix) include more testrun results as progress * 331379891: (fix) fix spelling * 333349715: (fix) GAR 1.3 The disabled system settings panel contains a focusable element (#388) Co-authored-by: Volha Mardvilka <[email protected]> --------- Co-authored-by: Volha Mardvilka <[email protected]> * Disable device item if device in progress (#370) * Adds ga to track testrun initiation (#415) Adds ga ti track testrun initiation * Certs progress * Add list and upload cert endpoint * Add delete certificate endpoint * Update cert response codes * Upgrade dependency --------- Co-authored-by: Sofia Kurilova <[email protected]> Co-authored-by: Olga Mardvilko <[email protected]> Co-authored-by: Volha Mardvilka <[email protected]> * Fix modify devices test (#449) * Fix modify devices * Remove excess logging * "Waiting for Device" :the snack bar appears on all pages (#474) * Make waiting for device snackbar global * Do not dismiss snack bar onDestroy * Rename testrun component (#480) * Rename settings component (#476) * Rename testrun component (#477) * Rename testrun component * Improve API test coverage (#291) * Improve API test coverage * Add timeouts * Improve coverage * Increase API timeout Signed-off-by: J Boddey <[email protected]> * Pylint fixes * Disable broken tests * Fix skip * Disable broken tests * Fix test --------- Signed-off-by: J Boddey <[email protected]> * Remove certificate if BE error happens (#484) * Add cert status (#478) * Add ethtool to make and docs (#483) * Add exception handling to certificate upload (#479) * Add cert status * Add exception handling to cert upload * Add get profiles format endpoint (#475) * Add get profiles format endpoint * Update risk assessment format * Re-add modules endpoint * Update session.py Signed-off-by: J Boddey <[email protected]> --------- Signed-off-by: J Boddey <[email protected]> * Reduce locations of Testrun version (#453) * Reduce locations of Testrun version * Update from comments * Resolve make control file --------- Signed-off-by: J Boddey <[email protected]> * Allow stop testrun from any other page (#487) * Feature/tls client protocols (#485) * Add methods to allow known protocols that dont fit into the strict tls client detection methods Add QUIC protocol to approved protocols Start moving unit tests to a docker container for consistency * Fix client connections protocol method script Downgrade cryptography and pyOpenSSL libraries Move unit testing into docker for TLS module * Misc cleanup and pylint issues --------- Co-authored-by: J Boddey <[email protected]> * The focus goes to the main page element after adding the ceriticate (#489) * Focus first interactive element in cert container when cert snack bar closed * The snack bar with test attempt status appears if the user is not on Testing page (#488) * Remove testrun status snack bar * Update consent form (#490) * Adds opt out checkbox * Adds announce when settings or certificate panel is opened (#493) * Set status code on failed cert upload (#491) * Add risk profiles (#486) * Add get profiles format endpoint * Update risk assessment format * Re-add modules endpoint * Work on profiles * Add load profiles format * Pylint * Add check status --------- Signed-off-by: J Boddey <[email protected]> * Add test count to PDF report (#482) * Add test count to PDF report * Fix pylint issue * Exclude error --------- Signed-off-by: J Boddey <[email protected]> * Change network mode on network modules to fix gateway routing (#495) * 342365574: (feat) display info about Risk Assessment during testing (#492) * 342365574: (feat) display info about Risk Assessment during testing * 342365574: (fix) change to show Risk Assessment callout only on InProgress --------- Co-authored-by: Volha Mardvilka <[email protected]> * Updates status with data from start response (#494) * 341966862: (feat) display info about risk assessment in welcome modal (#496) Co-authored-by: Volha Mardvilka <[email protected]> * Adds download zip window (#497) * 344874424: (fix) disable device tile in Canceling status (#500) Co-authored-by: Volha Mardvilka <[email protected]> * Fix/UI/345164706 (#501) * 345164706: (fix) disable start testrun btn in canceling state * 345164706: (fix) remove commented code --------- Co-authored-by: Volha Mardvilka <[email protected]> * GA option issues on the Welcome modal (#502) * Fix ga initial value * Fix label * 345202815: (fix) callout with the RA message is shown on the RA page (#503) Co-authored-by: Volha Mardvilka <[email protected]> * 345203686: (fix) update callout block view on the welcome modal (#504) Co-authored-by: Volha Mardvilka <[email protected]> * Allow UI to specify modules (#505) * Update risk assessment format (#499) * Fix issue with checking for error result (#498) * Fix issue with checking for error result * Resolve issue * Update html in test report Signed-off-by: J Boddey <[email protected]> --------- Signed-off-by: J Boddey <[email protected]> * Announce disabled state of settings panel (#506) * The Downlaod ZIP action can not be performed using the keaboard (#508) * Changes aria-label for Download Anyway button * Fix keyboard navigation for Download zip component * Add create and delete profile endpoints (#507) * Work towards creating profiles * Add delete profile endpoint * Exclude link local for arp (#418) * Add feature not detected test result (#396) * Add feature not present test result * Remove changes to tls module * Further pylint fixes * Add Feature Not Present to relevant tests * Reduce pylint limit * Change to feature not detected * Modify bacnet result * Update DNS test --------- Signed-off-by: J Boddey <[email protected]> * Add extension for cert upload (#510) * 340859666: (feat): display risk profile form with name field (#514) Co-authored-by: Volha Mardvilka <[email protected]> * Fixes some pylint issues (#511) * Fix some pylint issues * Fix more pylint issues * bug/test_baseline (#513) * Update mac address for baseline config dynamically * fix line endings * Update device config via Testrun api * Add API to no ui mode * Fix API endpoint call * Remove mac address update Change mac address in container * Add container start command back * Skip DNS tests * Cleanup --------- Co-authored-by: J Boddey <[email protected]> * Attach profile to ZIP report (#518) * Work towards creating profiles * Add delete profile endpoint * Work on attaching profile to zip * Pylint * Fix zipping * Pylint fixes --------- Signed-off-by: J Boddey <[email protected]> * Generate Risk profile from json (#515) Generate form from json * The Downlaod ZIP action can not be performed using the keyboard (#517) * Stop propagating event to eliminate the error * Fix tests * Adds tooltip * Fix export endpoint to use POST request * Fix zip download --------- Co-authored-by: Jacob Boddey <[email protected]> * Add required if applicable (#519) * WIP: Add required if applicable * Fix bug with TLS client test * Update TLS results * Fix styles for helperbird (#524) * Form from json validation (#523) * Adds field validation * Fix vulnerabilities in dependencies (#526) * Enable draft button when profile name is present; enable save button when form is valid; remove discard button (#530) * Correct result on tls client test (#528) * Add informational and fnd to report (#527) * Mark fields required when trimmed value is empty (#529) * Update requests dependency (#525) * Remove debug artifact (#531) * Fix scroll area on reports page (#532) * Announce risk form open; focus first element in container (#536) * Fix validation; change element for text-long (#538) * 345258435: (feat) display expired certificate (#539) Co-authored-by: Volha Mardvilka <[email protected]> * 348187954: (fix) update callouts position on the small window size (#540) Co-authored-by: Volha Mardvilka <[email protected]> * 348356236: (fix) add tooltips for icons without any accompanying text (#541) Co-authored-by: Volha Mardvilka <[email protected]> * 348353479: (fix) add tooltip for the download zip button using the keyboard (#542) Co-authored-by: Volha Mardvilka <[email protected]> * 348361925: (fix) add helper text for mandatory profile name field (#543) Co-authored-by: Volha Mardvilka <[email protected]> * Save new risk profile (#533) * Save new risk profile * Clear and close form after profile saved * Adds status valid for save profile * Fix DNS report when DNS packet is missing the qname property (#546) * Adds edit risk profile (#544) * Refactor delete form: rename it to simple dialog as it is not used for delete anymore * Adds edit risk profile * Fix autozise (#547) * Feature/risk profile (#522) * Update risk profile * Add unit tests for risk profile Fix service nmap unit test * Add unit tests for risk profile Fix service nmap unit test * Update api and session for new risk profile methods * pylint * pylint * Fix some pylint * Fix more pylint * Fix some bugs * Update risk profile logic (#535) * Update risk profile logic * Update test profiles Remove duplicate test file Cleanup temp test files * Remove categories from profile * Update expiration check to account for leap years * Update risk assessment questions * Update dependency * Add missing question * Update format and add error handling --------- Co-authored-by: jhughesbiot <[email protected]> --------- Signed-off-by: J Boddey <[email protected]> Co-authored-by: Jacob Boddey <[email protected]> * Adds save draft (#549) Co-authored-by: Sofia Kurilova <[email protected]> * 346351108: (feat) display risk assessment result (#553) * Close form after selected risk profile was deleted (#554) Co-authored-by: Sofia Kurilova <[email protected]> * Fix error when updating profile (#555) * Render informational result correctly (#551) * Re-add method for exporting profle (#550) * Fix bug when failed to fetch latest version (#548) * 349769454: (fix) update size on the empty reports page to prevent overlapping (#557) * Fix bad multiple ip report when no ip requested (#556) * Fix Duplicate Certificate Names (#545) * Check for existing common name before uploading new cert Misc pylint updates * Re-add missing session content --------- Signed-off-by: J Boddey <[email protected]> Co-authored-by: Jacob Boddey <[email protected]> * Changes the icon; adds create date (#552) * 349783464: (fix) add styles for selected elements and fix form size on RA (#558) * 349793005: (fix) change focus to profile form to scroll up on opening profile (#559) * Return focus on create button when new profile created; return focus on profile is profile was edited (#560) * Small refactoring; update validators on selected profile update and on profile list update (#564) * Enables save and draft button for edit mode (#565) * Validate multi select form group on last checkbox tab press (#566) * Remove copy button (#567) * Bug/bacnet device (#568) * Change BACnet device detection validation Add unit tests * Fix runtime * cleanup * Update unit tests to match runtime types * Show only valid profile in modal; fix condition to not download profile if redirect button clicked (#569) * Fix bug when saving draft profile (#563) * Fix bug when saving draft * Remove risk when status changes to draft * Re-add exception handling * Fix formatting : * Update questions before calculating risk * Update unit testing * Update unit testing * Invoke risk profile update method in favor of manually updating properties in session * Update risk after update and fix type error * Update risk correctly --------- Signed-off-by: J Boddey <[email protected]> Co-authored-by: jhughesbiot <[email protected]> * Focus title or first element in container when navigation is triggered by enter (#570) * Adds aria label and tooltip to risk profile icons (#572) * Add profile PDF (#562) * Work on pdf * Work on profile PDF * Fix risk answer formatting * Downgrade weasyprint * Remove duplicate line * Update risk assessment after review * Fix profile format undefined * Update zip file to use /tmp directory (#571) Update device report folder Update file paths to use old and new patterns Co-authored-by: J Boddey <[email protected]> * Remove cert from session after delete request (#575) * Fix error when only draft profiles are exist (#576) * Focus fix; fix profile status icon (#579) * Fix focus after page is opened * Fix profile status * Support longer string answers in profile PDF (#578) * Add extra spacing for long string answers * Format JSON * Cleanup old test devices from runtime (#583) * 351758698: (fix) update app version styles to meet design on expanded nav (#586) * Update risk profile description (#582) * Bump version for release (#584) * Remove skipped result (#580) * Prevent creating device with duplicate manufacturer and model (#581) * Prevent duplicate mf and model * Change error message to be more precise * Fix logic * Remove profile from runtime once included in ZIP (#577) * Remove profile after ZIP creation * Create /tmp dir for results Copy test results and profile to results dir Zip results dir and cleanup --------- Co-authored-by: jhughesbiot <[email protected]> * Do not show settings callout if there are no interfaces and saved settings (#587) * Fix modbus results (#588) * Don't show error if config is empty; don't show settings callout when settings are not empty after saving (#589) * Catch error to proceed with device creation/editing (#592) * Remove output logging from OS level commands (#594) * Fix cancel after monitor bug and add testrun.log (#595) * Fix step 1 callout error (#593) * Fix GAR bug with cert upload (#590) * Change exception logic on cert upload * Fix error logic * Update documentation (#591) * Work on docs changes * Update docs * Update roadmap * Update docs * Update docs * Remove dev README.md * Remove skipped from docs * Add exception handling to timestamp parsing (#598) * Change exception logic on cert upload * Fix error logic * Add exception handling to timestamp parse * Stick button to the bottom of risk page (#574) * Adds copy of risk profile (#573) * Lint fix * Set testrun IDLE status if report of finished test run is removed (#585) * Adds Discard risk profile (#596) * Load test modules dynamically (#597) * Update download zip modal: add link to Risk Profiles, remove redirect button, rename download button, add No Profile option (#599) * 351338001: (feat) update rule for the third step message (#600) * 347009372: (feat) add selector for profile options for GA4 (#604) * Adds tooltip for copy and delete; show "same name" error when more than one copy is created (#606) * 346999760: (feat) [GA4] Track CA Certificates (#607) * 353476778: (fix) GAR 2.11 change for prevent risk profile tiles overlap (#609) * If profile is editing, return focus on profile (#612) * Change title for save profile dialog according to type of profile (#610) * Get reports when app is opened and when report page is opened; change status if testrun does not exist in reports; do not change status if testrun is just finished but not in reports yet (#613) * Show tooltip only on keyboard or hover (#614) * Update condition as report field is unique (#615) * Expired profile profile (#619) * Use device mac_addr if report mac_addr is missing (#622) * get system network interfaces util func * test get_sys_interfaces * pylint * get all network interfaces on session start * dicts diff * detect network adapter change * pylint * logging * Add ws server * Add MQTT protocol * Upgrade ws server * paho-mqtt dependency * getting docker container IP by container name * MQTT client class * Fix pylint * rename mqtt client logger * APScheduler * initializing the client inside the testrun object * pylint * check networks adapters in background * remove extra lines at the end of a file * rename mgtt logger * move network_adapters_checker to network_orchestrator * Adds mqtt client, adds pop up when new adapter is available (#603) * Fix some pylint issues (#620) * Disabled test results (#212) * Better handling of disbled tests Add dns and tls tests back in disabled state * pyling fixes * Fix subscriptable error * Re-add old tests as informational --------- Co-authored-by: J Boddey <[email protected]> * remove get ip of docker container because it is not necessary * Fix individual test disabling when run from the UI (#629) * Fix individual test disabling when run from the UI * Remove disabled result for now --------- Co-authored-by: Jacob Boddey <[email protected]> * Update package.yml (#624) Signed-off-by: J Boddey <[email protected]> * Added risk profile api testing (#628) * added tests for profile endpoints * Modified test_start_testrun_started_successfully payload to match the expected json format, updated the profile endpoints tests * fixed the pylint errors from test_api.py * fixed few more pylint errors * Expired profile profile (#619) * Use device mac_addr if report mac_addr is missing (#622) * Fix some pylint issues (#620) * Disabled test results (#212) * Better handling of disbled tests Add dns and tls tests back in disabled state * pyling fixes * Fix subscriptable error * Re-add old tests as informational --------- Co-authored-by: J Boddey <[email protected]> * added try-except block to delete_all_profiles() * Revert session file back * Add new line * Update api testing * updated the tests for profile endpoint, added a new fixture (add_profile) to create a profile * Updated profile endpoints: created a new fixture add_profile for creating profiles * Fix pylint * Fix pylint * Fix pylint issues --------- Co-authored-by: Sofia Kurilova <[email protected]> Co-authored-by: J Boddey <[email protected]> Co-authored-by: jhughesbiot <[email protected]> * Adds close button for expired profile (#635) * Copy changes from hotfix 1.3.1 to dev (#631) * Copy changes from hotfix 1.3.1 to dev * Add pydyf version Signed-off-by: J Boddey <[email protected]> --------- Signed-off-by: J Boddey <[email protected]> * Inform FE about a new network adapter discovered( rename mqtt topic according to naming convention) (#634) * rename mqtt topic * Rename topic in ui --------- Co-authored-by: kurilova <[email protected]> Co-authored-by: J Boddey <[email protected]> * Fix network only mode issues (#617) Co-authored-by: J Boddey <[email protected]> * Update all unit tests to work within the runtime environment (#611) * Update all unit tests to work within the runtime environment * Fix some formatting * fix line endings * update gitignore * Fix binary files in dockerfile * Change unit tests to run from testrun root directory * Run unit tests in actions * Fix pylint issues * Change command in actions * Update testing.yml Signed-off-by: J Boddey <[email protected]> --------- Signed-off-by: J Boddey <[email protected]> Co-authored-by: Jacob Boddey <[email protected]> * Feature/dns report update (#637) * Update DNS module report Downgrade python packages for tls module * Fix header * pylint fixes * refactor func to handle case when network interface not exists * set test result "Error" * check device connected * thread for monitoring device connection * Minor changes * check the device connection only before each test * Adds tooltip (#638) Adds tooltip * send testrun status using mqtt * remove duplicatied line * refactor setting remaining tests to error * pylint * Fix focus after profile delete - track by name (#640) Fix focus after profile delete - track by name * Update the requests dependency (#643) * Update requests dependency * Update requests dependency * Update dependency in TLS test * Update docker dependency --------- Signed-off-by: J Boddey <[email protected]> * Revert "Expired profile (#619)" (#645) Prevent opening of Expired risk profile * Improve documentation (#639) * Improve docs * Remove paragraph * Text changes * Fix text for the BE error * Change tooltip (#650) * Change tooltip * Allows draft profiles to become expired (#636) * Allow draft profiles to expire * Move status method into risk profile class * Use existing method * Check for expiry in validate method * Remove unused variable * Build UI during package instead of install (#621) * Build UI during package * Fix local build * Install npm * Remove duplicate build message * Fix ESLint * Fix script * Modify scripts * Improve scripts * Fix copy command * Try installing package * Depend on package job * Add sudo * Add sudo * Troubleshoot * Fix workflow * Checkout source for prepare command * Built ui within a container * Mount src files for build instead of static copy in build image * Attempt to fix actions * Remove manual build container cleanup methods * undo failed attempts to fix actions * Fix path * Remove -it flag --------- Signed-off-by: J Boddey <[email protected]> Co-authored-by: kurilova <[email protected]> Co-authored-by: jhughesbiot <[email protected]> * Feature/risk in selected (#654) * Adds risk to selected value * Adds risk to selected value --------- Co-authored-by: J Boddey <[email protected]> * Show risk for each question in the Risk profile (#647) * Show risk for each question in the Risk profile * set top position to 0 --------- Co-authored-by: J Boddey <[email protected]> * Show internet connection (#653) * MQTT show internet connection * remove unused method * Change tooltip for internet icon (#656) * Change tooltip for internet icon * Remove unused import' --------- Co-authored-by: Jacob Boddey <[email protected]> --------- Signed-off-by: J Boddey <[email protected]> Co-authored-by: J Boddey <[email protected]> Co-authored-by: Sofia Kurilova <[email protected]> * bug/modbus_constructor (#657) * Pin all required packages Update modbus constructor to prevent error Add full trace logging for general errors in tests * Fix pylint issue --------- Co-authored-by: Jacob Boddey <[email protected]> * Use mqtt service instead of calling GET /status every 5 seconds. (#644) * Use mqtt service instead of calling GET /status every 5 seconds. * Adds tooltip (#638) Adds tooltip * Fix focus after profile delete - track by name (#640) Fix focus after profile delete - track by name * Update the requests dependency (#643) * Update requests dependency * Update requests dependency * Update dependency in TLS test * Update docker dependency --------- Signed-off-by: J Boddey <[email protected]> * remove unused output * encode mqtt message to json * Revert "Expired profile (#619)" (#645) Prevent opening of Expired risk profile * Improve documentation (#639) * Improve docs * Remove paragraph * Text changes * Fix text for the BE error * Change tooltip (#650) * Change tooltip * Allows draft profiles to become expired (#636) * Allow draft profiles to expire * Move status method into risk profile class * Use existing method * Check for expiry in validate method * Remove unused variable * Build UI during package instead of install (#621) * Build UI during package * Fix local build * Install npm * Remove duplicate build message * Fix ESLint * Fix script * Modify scripts * Improve scripts * Fix copy command * Try installing package * Depend on package job * Add sudo * Add sudo * Troubleshoot * Fix workflow * Checkout source for prepare command * Built ui within a container * Mount src files for build instead of static copy in build image * Attempt to fix actions * Remove manual build container cleanup methods * undo failed attempts to fix actions * Fix path * Remove -it flag --------- Signed-off-by: J Boddey <[email protected]> Co-authored-by: kurilova <[email protected]> Co-authored-by: jhughesbiot <[email protected]> * Feature/risk in selected (#654) * Adds risk to selected value * Adds risk to selected value --------- Co-authored-by: J Boddey <[email protected]> * Show risk for each question in the Risk profile (#647) * Show risk for each question in the Risk profile * set top position to 0 --------- Co-authored-by: J Boddey <[email protected]> * Use mqtt service instead of calling GET /status every 5 seconds. * Use mqtt service instead of calling GET /status every 5 seconds. * Use mqtt service instead of calling GET /status every 5 seconds. * pylint --------- Signed-off-by: J Boddey <[email protected]> Co-authored-by: J Boddey <[email protected]> Co-authored-by: Aliaksandr Nikitsin <[email protected]> Co-authored-by: jhughesbiot <[email protected]> * Adds test statuses (#661) * Ignore folders when loading certs (#660) * Remove scorecard schedule and bump version (#659) * Allow ICMP response to DHCP messages in DHCP snooping test (#608) * Allow ICMP response to DHCP messages * Bug/unit test runtime (#655) * Change base test module startup to allow setup script to run independent of module startup process Update connection_module to allow for unit testing Update unit test run script to use new process * enable all unit tests update google cert * Remove binary fix lines from docker files pylint updates * pylint updates --------- Co-authored-by: jhughesbiot <[email protected]> * The risk profile saved with old format is shown improperly while loading based on a new format (#664) * Fill only fields that are present in profile * GAR : The alt text for the expired risk profile should be communicated on Enter key (#662) * Change Expired profile title on Enter; announce Expired profile title on Enter * Update wording of tls cipher results (#671) * Show error message if provided; show default message if no (#680) * Test install on supported operating systems (#675) * Test install on multiple versions * Update step names * Remove recommendations on error (#674) * Tests for API (#649) * changed the tests order in test_api.py * added tests for '/system/config' POST endpoint * added the tests for 'system/shutdown' endpoint * added the test for GET '/reports' endpoint, updated 'test_update_system_config_invalid_config' to return error 400 * Check for missing fields Signed-off-by: J Boddey <[email protected]> * added tests for delete profile (404, 400), added tests for create and update profile (400), added test 'run_test_and_get_report' skipped due to blocking during testing phase * added a new json file in '/testing/api/' used in 400 error tests * added error handling if 'name' and 'questions' not in profile json * fixed pylint * Added tests when update is available and 500 status code for '/system/version', test for system/modules * added responses library in requirements.txt * fixed the requested changes in api.py * Renamed the load_profile method to load_json and changed the logic to allow to load any json based on file name and relative path, corrected the new lines issues * updated restore_config fixture to run after the test * added test for create/update profile (500 error) * fixed pylint * fixed spacing, removed get_report_one_report * added tests: 500 error for delete '/profiles', 500 error for 'profles/format', 400, 404, 409 for '/system/start' * modified the tests for 500 response * added new profile with missing 'answer' * removed the tests with mock response * Update NTP report (#666) * Update NTP report * cleanup imports * pylint updates * modified update profile for bad request * changed validate_profile_json: handling empty spaces in name and question, handle if 'risk' field missing if status is 'Valid' * updated the requested changes * Add further profile validation * Fix pylint issues * Fix profile tests * Move validation to session * Fix pylint issue Signed-off-by: J Boddey <[email protected]> --------- Signed-off-by: J Boddey <[email protected]> Co-authored-by: J Boddey <[email protected]> Co-authored-by: jhughesbiot <[email protected]> * Fix a delay in the internet connectivity check (#669) * Add a timeout to the command * move single-intf check to scheduler * add timeout arg to run_command * move jobs to constructor * fping for internet connection checking * Update internet connection when device is In Progress, Monitoring, Waiting for Device status (#677) * Update internet connection when device is In Progress, Monitoring, Waiting for Device status * check if interface physically connected * Revert "fping for internet connection checking" --------- Co-authored-by: Aliaksandr Nikitsin <[email protected]> Co-authored-by: Sofia Kurilova <[email protected]> * Check if device folder already exists (#678) * Check if device folder already exists * Fix error message * Fix pylint issue * Remove debug mqtt logs (#692) --------- Signed-off-by: J Boddey <[email protected]> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: jhughesbiot <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Sofia Kurilova <[email protected]> Co-authored-by: Olga Mardvilko <[email protected]> Co-authored-by: Volha Mardvilka <[email protected]> Co-authored-by: jhughesbiot <[email protected]> Co-authored-by: Sofia Kurilova <[email protected]> Co-authored-by: Aliaksandr Nikitsin <[email protected]> Co-authored-by: Marius <[email protected]>
Fix weasyprint/pydyf dependency mismatch that causes an API runtime e… …rror (too many arguments passed to pydif function by weasyprint) (#625) * * lock pydyf to 0.8.0 * Revert "* lock pydyf to 0.8.0" This reverts commit 6f8b2b1. * * update weasyprint to 62.3 * * lock pydyf to 0.11.0 in requirements.txt * Remove pin for pydyf Signed-off-by: J Boddey <[email protected]> * Pin dependencies Signed-off-by: J Boddey <[email protected]> * Bump version for hotfix * Modify version --------- Signed-off-by: J Boddey <[email protected]> Co-authored-by: J Boddey <[email protected]>
Merge dev into main (Release v1.2.2) (#398) * Create startup capture (#37) * Connection (#40) * Initial add of connection test module with ping test * Update host user resolving * Update host user resolving for validator * add get user method to validator * Conn mac oui (#42) * Initial add of connection test module with ping test * Update host user resolving * Update host user resolving for validator * add get user method to validator * Add mac_oui test Add option to return test result and details of test for reporting * Con mac address (#43) * Initial add of connection test module with ping test * Update host user resolving * Update host user resolving for validator * add get user method to validator * Add mac_oui test Add option to return test result and details of test for reporting * Add connection.mac_address test * Dns (#44) * Add MDNS test * Update existing mdns logging to be more consistent with other tests * Add startup and monitor captures * File permissions (#45) * Fix validator file permissions * Fix test module permissions * Fix device capture file permissions * Fix device results permissions * Add connection single ip test (#47) * Nmap results (#49) * Update processing of nmap results to use xml output and json conversions for stability * Update matching with regex to prevent wrong service matches and duplicate processing for partial matches * Update max port scan range * Framework restructure (#50) * Restructure framework and modules * Fix CI paths * Fix base module * Add build script * Remove build logs * Update base and template docker files to fit the new format Implement a template option on network modules Fix skipping of base image build * remove base image build in ci * Remove group from chown --------- Co-authored-by: jhughesbiot <[email protected]> * Ip control (#51) * Add initial work for ip control module * Implement ip control module with additional cleanup methods * Update link check to not use error stream * Add error checking around container network configurations * Add network cleanup for namespaces and links * formatting * Move config to /local (#52) * Move config to /local * Fix testing config * Fix ovs_control config location * Fix faux dev config location * Add documentation (#53) * Sync dev to main (#56) * Merge dev into main (Sprint 7 and 8) (#33) * Implement test orchestrator (#4) * Initial work on test-orchestrator * Ignore runtime folder * Update runtime directory for test modules * Fix logging Add initial framework for running tests * logging and misc cleanup * logging changes * Add a stop hook after all tests complete * Refactor test_orc code * Add arg passing Add option to use locally cloned via install or remote via main project network orchestrator * Fix baseline module Fix orchestrator exiting only after timeout * Add result file to baseline test module Change result format to match closer to design doc * Refactor pylint * Skip test module if it failed to start * Refactor * Check for valid log level --------- Co-authored-by: Jacob Boddey <[email protected]> * Add issue report templates (#7) * Add issue templates * Update README.md * Discover devices on the network (#5) * Test run sync (#8) * Initial work on test-orchestrator * Ignore runtime folder * Update runtime directory for test modules * Fix logging Add initial framework for running tests * logging and misc cleanup * logging changes * Add a stop hook after all tests complete * Refactor test_orc code * Add arg passing Add option to use locally cloned via install or remote via main project network orchestrator * Fix baseline module Fix orchestrator exiting only after timeout * Add result file to baseline test module Change result format to match closer to design doc * Refactor pylint * Skip test module if it failed to start * Refactor * Check for valid log level * Add config file arg Misc changes to network start procedure * fix merge issues * Update runner and test orch procedure Add useful runtiem args * Restructure test run startup process Misc updates to work with net orch updates * Refactor --------- * Quick refactor (#9) * Fix duplicate sleep calls * Add net orc (#11) * Add network orchestrator repository * cleanup duplicate start and install scripts * Temporary fix for python dependencies * Remove duplicate python requirements * remove duplicate conf files * remove remote-net option * cleanp unecessary files * Add the DNS test module (#12) * Add network orchestrator repository * cleanup duplicate start and install scripts * Temporary fix for python dependencies * Remove duplicate python requirements * remove duplicate conf files * remove remote-net option * cleanp unecessary files * Add dns test module Fix test module build process * Add mac address of device under test to test container Update dns test to use mac address filter * Update dns module tests * Change result output * logging update * Update test module for better reusability * Load in module config to test module * logging cleanup * Update baseline module to new template Misc cleanup * Add ability to disable individual tests * remove duplicate readme * Update device directories * Remove local folder * Update device template Update test module to work with new device config file format * Change test module network config options Do not start network services for modules not configured for network * Refactor --------- * Add baseline and pylint tests (#25) * Discover devices on the network (#22) * Discover devices on the network * Add defaults when missing from config Implement monitor wait period from config * Add steady state monitor Remove duplicate callback registrations * Load devices into network orchestrator during testrun start --------- Co-authored-by: jhughesbiot <[email protected]> * Build dependencies first (#21) * Build dependencies first * Remove debug message * Add depend on option to test modules * Re-add single interface option * Import subprocess --------- Co-authored-by: jhughesbiot <[email protected]> * Port scan test module (#23) * Add network orchestrator repository * cleanup duplicate start and install scripts * Temporary fix for python dependencies * Remove duplicate python requirements * remove duplicate conf files * remove remote-net option * cleanp unecessary files * Add dns test module Fix test module build process * Add mac address of device under test to test container Update dns test to use mac address filter * Update dns module tests * Change result output * logging update * Update test module for better reusability * Load in module config to test module * logging cleanup * Update baseline module to new template Misc cleanup * Add ability to disable individual tests * remove duplicate readme * Update device directories * Remove local folder * Update device template Update test module to work with new device config file format * Change test module network config options Do not start network services for modules not configured for network * Initial nmap test module add Add device ip resolving to base module Add network mounting for test modules * Update ipv4 device resolving in test modules * Map in ip subnets and remove hard coded references * Add ftp port test * Add ability to pass config for individual tests within a module Update nmap module scan to run tests based on config * Add full module check for compliance * Add all tcp port scans to config * Update nmap commands to match existing DAQ tests Add udp scanning and tests * logging cleanup * Update TCP port scanning range Update logging * Merge device config into module config Update device template * fix merge issues * Update timeouts Add multi-threading for multiple scanns to run simultaneously Add option to use scan scripts for services * Fix merge issues * Fix device configs * Remove unecessary files * Cleanup duplicate properties * Cleanup install script * Formatting (#26) * Fix pylint issues in net orc * more pylint fixes * fix listener lint issues * fix logger lint issues * fix validator lint issues * fix util lint issues * Update base network module linting issues * Cleanup linter issues for dhcp modules Remove old code testing code * change to single quote delimeter * Cleanup linter issues for ntp module * Cleanup linter issues for radius module * Cleanup linter issues for template module * fix linter issues with faux-dev * Test results (#27) * Collect all module test results * Fix test modules without config options * Add timestamp to test results * Test results (#28) * Collect all module test results * Fix test modules without config options * Add timestamp to test results * Add attempt timing and device info to test results * Ignore disabled test containers when generating results * Fully skip modules that are disabled * Fix pylint test and skip internet tests so CI passes (#29) * disable internet checks for pass * fix pylint test * Increase pylint score (#31) * More formatting fixes * More formatting fixes * More formatting fixes * More formatting fixes * Misc pylint fixes Fix test module logger --------- Co-authored-by: jhughesbiot <[email protected]> * Pylint (#32) * More formatting fixes * More formatting fixes * More formatting fixes * More formatting fixes * Misc pylint fixes Fix test module logger * remove unused files * more formatting * revert breaking pylint changes * more formatting * fix results file * More formatting * ovs module formatting --------- Co-authored-by: Jacob Boddey <[email protected]> * Add license header (#36) * More formatting fixes * More formatting fixes * More formatting fixes * More formatting fixes * Misc pylint fixes Fix test module logger * remove unused files * more formatting * revert breaking pylint changes * more formatting * fix results file * More formatting * ovs module formatting * Add ovs control into network orchestrator * Add verification methods for the base network * Add network validation and misc logging updates * remove ovs module * add license header to all python files --------- Co-authored-by: Jacob Boddey <[email protected]> Co-authored-by: SuperJonotron <[email protected]> * Ovs (#35) * More formatting fixes * More formatting fixes * More formatting fixes * More formatting fixes * Misc pylint fixes Fix test module logger * remove unused files * more formatting * revert breaking pylint changes * more formatting * fix results file * More formatting * ovs module formatting * Add ovs control into network orchestrator * Add verification methods for the base network * Add network validation and misc logging updates * remove ovs module --------- Co-authored-by: Jacob Boddey <[email protected]> Co-authored-by: SuperJonotron <[email protected]> * remove ovs files added back in during merge * Nmap (#38) * More formatting fixes * More formatting fixes * More formatting fixes * More formatting fixes * Misc pylint fixes Fix test module logger * remove unused files * more formatting * revert breaking pylint changes * more formatting * fix results file * More formatting * ovs module formatting * Add ovs control into network orchestrator * Add verification methods for the base network * Add network validation and misc logging updates * remove ovs module * add license header to all python files * Update tcp scans to speed up full port range scan Add version checking Implement ssh version checking * Add unknown port checks Match unknown ports to existing services Add unknown ports without existing services to results file --------- Co-authored-by: Jacob Boddey <[email protected]> Co-authored-by: SuperJonotron <[email protected]> * Create startup capture (#37) * Connection (#40) * Initial add of connection test module with ping test * Update host user resolving * Update host user resolving for validator * add get user method to validator * Conn mac oui (#42) * Initial add of connection test module with ping test * Update host user resolving * Update host user resolving for validator * add get user method to validator * Add mac_oui test Add option to return test result and details of test for reporting * Con mac address (#43) * Initial add of connection test module with ping test * Update host user resolving * Update host user resolving for validator * add get user method to validator * Add mac_oui test Add option to return test result and details of test for reporting * Add connection.mac_address test * Dns (#44) * Add MDNS test * Update existing mdns logging to be more consistent with other tests * Add startup and monitor captures * File permissions (#45) * Fix validator file permissions * Fix test module permissions * Fix device capture file permissions * Fix device results permissions * Add connection single ip test (#47) * Nmap results (#49) * Update processing of nmap results to use xml output and json conversions for stability * Update matching with regex to prevent wrong service matches and duplicate processing for partial matches * Update max port scan range * Framework restructure (#50) * Restructure framework and modules * Fix CI paths * Fix base module * Add build script * Remove build logs * Update base and template docker files to fit the new format Implement a template option on network modules Fix skipping of base image build * remove base image build in ci * Remove group from chown --------- Co-authored-by: jhughesbiot <[email protected]> * Ip control (#51) * Add initial work for ip control module * Implement ip control module with additional cleanup methods * Update link check to not use error stream * Add error checking around container network configurations * Add network cleanup for namespaces and links * formatting * Move config to /local (#52) * Move config to /local * Fix testing config * Fix ovs_control config location * Fix faux dev config location * Add documentation (#53) --------- Co-authored-by: jhughesbiot <[email protected]> Co-authored-by: jhughesbiot <[email protected]> Co-authored-by: Noureddine <[email protected]> Co-authored-by: SuperJonotron <[email protected]> * Sprint 8 Hotfix (#54) * Fix connection results.json * Re add try/catch * Fix log level * Debug test module load order * Add depends on to nmap module * Remove logging change --------- Co-authored-by: jhughesbiot <[email protected]> Co-authored-by: jhughesbiot <[email protected]> Co-authored-by: Noureddine <[email protected]> Co-authored-by: SuperJonotron <[email protected]> * Fix missing results on udp tests when tcp ports are also defined (#59) * Add licence header (#61) * Resolve merge conflict * Add network docs (#63) * Add network docs * Rename to readme * Add link to template module * Dhcp (#64) * Add initial work for ip control module * Implement ip control module with additional cleanup methods * Update link check to not use error stream * Add error checking around container network configurations * Add network cleanup for namespaces and links * formatting * initial work on adding grpc functions for dhcp tests * rework code to allow for better usage and unit testing * working poc for test containers and grpc client to dhcp-1 * Move grpc client code into base image * Move grpc proto builds outside of dockerfile into module startup script * Setup pythonpath var in test module base startup process misc cleanup * pylinting and logging updates * Add python path resolving to network modules Update grpc path to prevent conflicts misc pylinting * Change lease resolving method to fix pylint issue * cleanup unit tests * cleanup unit tests * Add grpc updates to dhcp2 module Update dhcp_config to deal with missing optional variables * Add grpc updates to dhcp2 module Update dhcp_config to deal with missing optional variables * fix line endings * misc cleanup * Dhcp (#67) * Add initial work for ip control module * Implement ip control module with additional cleanup methods * Update link check to not use error stream * Add error checking around container network configurations * Add network cleanup for namespaces and links * formatting * initial work on adding grpc functions for dhcp tests * rework code to allow for better usage and unit testing * working poc for test containers and grpc client to dhcp-1 * Move grpc client code into base image * Move grpc proto builds outside of dockerfile into module startup script * Setup pythonpath var in test module base startup process misc cleanup * pylinting and logging updates * Add python path resolving to network modules Update grpc path to prevent conflicts misc pylinting * Change lease resolving method to fix pylint issue * cleanup unit tests * cleanup unit tests * Add grpc updates to dhcp2 module Update dhcp_config to deal with missing optional variables * Add grpc updates to dhcp2 module Update dhcp_config to deal with missing optional variables * fix line endings * misc cleanup * Move isc-dhcp-server and radvd to services Move DHCP server monitoring and booting to python script * Add grpc methods to interact with dhcp_server module Update dhcp_server to control radvd server directly from calls Fix radvd service status method * Add updates to dhcp2 module Update radvd service * Add license headers * Add connection.dhcp_address test (#68) * Add NTP tests (#60) * Add ntp support test * Add extra log message * Modify descriptions * Pylint * Pylint (#69) --------- Co-authored-by: jhughesbiot <[email protected]> * Add ipv6 tests (#65) * Add ipv6 tests * Check for ND_NS * Connection private address (#71) * Add ntp support test * Add extra log message * Modify descriptions * Pylint * formatting * Change isc-dhcp service setup Fix dhcpd logging Add start and stop methods to grpc dhcp client Add dhcp2 client Inttial private_addr test * Add max lease time Add unit tests * fix last commit * finish initial work on test * pylinting * Breakup test and allow better failure reporting * restore network after test * Wait for device to get a lease from original dhcp range after network restore * pylinting * Fix ipv6 tests --------- Co-authored-by: Jacob Boddey <[email protected]> * fix windows line ending * Fix python import * move isc-dhcp service commands to their own class update logging pylinting * fix dhcp1 * Initial CI testing for tests (#72) * Fix radvd conf * Fix individual test disable * Add NTP Pass CI test (#76) * add shared address test (#75) * Fix single ip test (#58) * Fix single ip test from detecting faux-device during validation as a failure * remove dhcp server capture file from scan --------- Co-authored-by: J Boddey <[email protected]> * Merge API into dev (#70) * Start API * Write interfaces * Get current configuration * Set versions * Add more API methods * Correct no-ui flag * Do not launch API on baseline test * Move loading devices back to Test Run core * Merge dev into api (#74) * Merge dev into main (Add license header) (#62) Add license header * Add network docs (#63) * Add network docs * Rename to readme * Add link to template module * Dhcp (#64) * Add initial work for ip control module * Implement ip control module with additional cleanup methods * Update link check to not use error stream * Add error checking around container network configurations * Add network cleanup for namespaces and links * formatting * initial work on adding grpc functions for dhcp tests * rework code to allow for better usage and unit testing * working poc for test containers and grpc client to dhcp-1 * Move grpc client code into base image * Move grpc proto builds outside of dockerfile into module startup script * Setup pythonpath var in test module base startup process misc cleanup * pylinting and logging updates * Add python path resolving to network modules Update grpc path to prevent conflicts misc pylinting * Change lease resolving method to fix pylint issue * cleanup unit tests * cleanup unit tests * Add grpc updates to dhcp2 module Update dhcp_config to deal with missing optional variables * Add grpc updates to dhcp2 module Update dhcp_config to deal with missing optional variables * fix line endings * misc cleanup * Dhcp (#67) * Add initial work for ip control module * Implement ip control module with additional cleanup methods * Update link check to not use error stream * Add error checking around container network configurations * Add network cleanup for namespaces and links * formatting * initial work on adding grpc functions for dhcp tests * rework code to allow for better usage and unit testing * working poc for test containers and grpc client to dhcp-1 * Move grpc client code into base image * Move grpc proto builds outside of dockerfile into module startup script * Setup pythonpath var in test module base startup process misc cleanup * pylinting and logging updates * Add python path resolving to network modules Update grpc path to prevent conflicts misc pylinting * Change lease resolving method to fix pylint issue * cleanup unit tests * cleanup unit tests * Add grpc updates to dhcp2 module Update dhcp_config to deal with missing optional variables * Add grpc updates to dhcp2 module Update dhcp_config to deal with missing optional variables * fix line endings * misc cleanup * Move isc-dhcp-server and radvd to services Move DHCP server monitoring and booting to python script * Add grpc methods to interact with dhcp_server module Update dhcp_server to control radvd server directly from calls Fix radvd service status method * Add updates to dhcp2 module Update radvd service * Add license headers * Add connection.dhcp_address test (#68) * Add NTP tests (#60) * Add ntp support test * Add extra log message * Modify descriptions * Pylint * Pylint (#69) --------- Co-authored-by: jhughesbiot <[email protected]> * Add ipv6 tests (#65) * Add ipv6 tests * Check for ND_NS * Merge dev into main (Sprint 9) (#66) * Implement test orchestrator (#4) * Initial work on test-orchestrator * Ignore runtime folder * Update runtime directory for test modules * Fix logging Add initial framework for running tests * logging and misc cleanup * logging changes * Add a stop hook after all tests complete * Refactor test_orc code * Add arg passing Add option to use locally cloned via install or remote via main project network orchestrator * Fix baseline module Fix orchestrator exiting only after timeout * Add result file to baseline test module Change result format to match closer to design doc * Refactor pylint * Skip test module if it failed to start * Refactor * Check for valid log level --------- Co-authored-by: Jacob Boddey <[email protected]> * Add issue report templates (#7) * Add issue templates * Update README.md * Discover devices on the network (#5) * Test run sync (#8) * Initial work on test-orchestrator * Ignore runtime folder * Update runtime directory for test modules * Fix logging Add initial framework for running tests * logging and misc cleanup * logging changes * Add a stop hook after all tests complete * Refactor test_orc code * Add arg passing Add option to use locally cloned via install or remote via main project network orchestrator * Fix baseline module Fix orchestrator exiting only after timeout * Add result file to baseline test module Change result format to match closer to design doc * Refactor pylint * Skip test module if it failed to start * Refactor * Check for valid log level * Add config file arg Misc changes to network start procedure * fix merge issues * Update runner and test orch procedure Add useful runtiem args * Restructure test run startup process Misc updates to work with net orch updates * Refactor --------- * Quick refactor (#9) * Fix duplicate sleep calls * Add net orc (#11) * Add network orchestrator repository * cleanup duplicate start and install scripts * Temporary fix for python dependencies * Remove duplicate python requirements * remove duplicate conf files * remove remote-net option * cleanp unecessary files * Add the DNS test module (#12) * Add network orchestrator repository * cleanup duplicate start and install scripts * Temporary fix for python dependencies * Remove duplicate python requirements * remove duplicate conf files * remove remote-net option * cleanp unecessary files * Add dns test module Fix test module build process * Add mac address of device under test to test container Update dns test to use mac address filter * Update dns module tests * Change result output * logging update * Update test module for better reusability * Load in module config to test module * logging cleanup * Update baseline module to new template Misc cleanup * Add ability to disable individual tests * remove duplicate readme * Update device directories * Remove local folder * Update device template Update test module to work with new device config file format * Change test module network config options Do not start network services for modules not configured for network * Refactor --------- * Add baseline and pylint tests (#25) * Discover devices on the network (#22) * Discover devices on the network * Add defaults when missing from config Implement monitor wait period from config * Add steady state monitor Remove duplicate callback registrations * Load devices into network orchestrator during testrun start --------- Co-authored-by: jhughesbiot <[email protected]> * Build dependencies first (#21) * Build dependencies first * Remove debug message * Add depend on option to test modules * Re-add single interface option * Import subprocess --------- Co-authored-by: jhughesbiot <[email protected]> * Port scan test module (#23) * Add network orchestrator repository * cleanup duplicate start and install scripts * Temporary fix for python dependencies * Remove duplicate python requirements * remove duplicate conf files * remove remote-net option * cleanp unecessary files * Add dns test module Fix test module build process * Add mac address of device under test to test container Update dns test to use mac address filter * Update dns module tests * Change result output * logging update * Update test module for better reusability * Load in module config to test module * logging cleanup * Update baseline module to new template Misc cleanup * Add ability to disable individual tests * remove duplicate readme * Update device directories * Remove local folder * Update device template Update test module to work with new device config file format * Change test module network config options Do not start network services for modules not configured for network * Initial nmap test module add Add device ip resolving to base module Add network mounting for test modules * Update ipv4 device resolving in test modules * Map in ip subnets and remove hard coded references * Add ftp port test * Add ability to pass config for individual tests within a module Update nmap module scan to run tests based on config * Add full module check for compliance * Add all tcp port scans to config * Update nmap commands to match existing DAQ tests Add udp scanning and tests * logging cleanup * Update TCP port scanning range Update logging * Merge device config into module config Update device template * fix merge issues * Update timeouts Add multi-threading for multiple scanns to run simultaneously Add option to use scan scripts for services * Fix merge issues * Fix device configs * Remove unecessary files * Cleanup duplicate properties * Cleanup install script * Formatting (#26) * Fix pylint issues in net orc * more pylint fixes * fix listener lint issues * fix logger lint issues * fix validator lint issues * fix util lint issues * Update base network module linting issues * Cleanup linter issues for dhcp modules Remove old code testing code * change to single quote delimeter * Cleanup linter issues for ntp module * Cleanup linter issues for radius module * Cleanup linter issues for template module * fix linter issues with faux-dev * Test results (#27) * Collect all module test results * Fix test modules without config options * Add timestamp to test results * Test results (#28) * Collect all module test results * Fix test modules without config options * Add timestamp to test results * Add attempt timing and device info to test results * Ignore disabled test containers when generating results * Fully skip modules that are disabled * Fix pylint test and skip internet tests so CI passes (#29) * disable internet checks for pass * fix pylint test * Increase pylint score (#31) * More formatting fixes * More formatting fixes * More formatting fixes * More formatting fixes * Misc pylint fixes Fix test module logger --------- Co-authored-by: jhughesbiot <[email protected]> * Pylint (#32) * More formatting fixes * More formatting fixes * More formatting fixes * More formatting fixes * Misc pylint fixes Fix test module logger * remove unused files * more formatting * revert breaking pylint changes * more formatting * fix results file * More formatting * ovs module formatting --------- Co-authored-by: Jacob Boddey <[email protected]> * Add license header (#36) * More formatting fixes * More formatting fixes * More formatting fixes * More formatting fixes * Misc pylint fixes Fix test module logger * remove unused files * more formatting * revert breaking pylint changes * more formatting * fix results file * More formatting * ovs module formatting * Add ovs control into network orchestrator * Add verification methods for the base network * Add network validation and misc logging updates * remove ovs module * add license header to all python files --------- Co-authored-by: Jacob Boddey <[email protected]> Co-authored-by: SuperJonotron <[email protected]> * Ovs (#35) * More formatting fixes * More formatting fixes * More formatting fixes * More formatting fixes * Misc pylint fixes Fix test module logger * remove unused files * more formatting * revert breaking pylint changes * more formatting * fix results file * More formatting * ovs module formatting * Add ovs control into network orchestrator * Add verification methods for the base network * Add network validation and misc logging updates * remove ovs module --------- Co-authored-by: Jacob Boddey <[email protected]> Co-authored-by: SuperJonotron <[email protected]> * remove ovs files added back in during merge * Nmap (#38) * More formatting fixes * More formatting fixes * More formatting fixes * More formatting fixes * Misc pylint fixes Fix test module logger * remove unused files * more formatting * revert breaking pylint changes * more formatting * fix results file * More formatting * ovs module formatting * Add ovs control into network orchestrator * Add verification methods for the base network * Add network validation and misc logging updates * remove ovs module * add license header to all python files * Update tcp scans to speed up full port range scan Add version checking Implement ssh version checking * Add unknown port checks Match unknown ports to existing services Add unknown ports without existing services to results file --------- Co-authored-by: Jacob Boddey <[email protected]> Co-authored-by: SuperJonotron <[email protected]> * Create startup capture (#37) * Connection (#40) * Initial add of connection test module with ping test * Update host user resolving * Update host user resolving for validator * add get user method to validator * Conn mac oui (#42) * Initial add of connection test module with ping test * Update host user resolving * Update host user resolving for validator * add get user method to validator * Add mac_oui test Add option to return test result and details of test for reporting * Con mac address (#43) * Initial add of connection test module with ping test * Update host user resolving * Update host user resolving for validator * add get user method to validator * Add mac_oui test Add option to return test result and details of test for reporting * Add connection.mac_address test * Dns (#44) * Add MDNS test * Update existing mdns logging to be more consistent with other tests * Add startup and monitor captures * File permissions (#45) * Fix validator file permissions * Fix test module permissions * Fix device capture file permissions * Fix device results permissions * Add connection single ip test (#47) * Nmap results (#49) * Update processing of nmap results to use xml output and json conversions for stability * Update matching with regex to prevent wrong service matches and duplicate processing for partial matches * Update max port scan range * Framework restructure (#50) * Restructure framework and modules * Fix CI paths * Fix base module * Add build script * Remove build logs * Update base and template docker files to fit the new format Implement a template option on network modules Fix skipping of base image build * remove base image build in ci * Remove group from chown --------- Co-authored-by: jhughesbiot <[email protected]> * Ip control (#51) * Add initial work for ip control module * Implement ip control module with additional cleanup methods * Update link check to not use error stream * Add error checking around container network configurations * Add network cleanup for namespaces and links * formatting * Move config to /local (#52) * Move config to /local * Fix testing config * Fix ovs_control config location * Fix faux dev config location * Add documentation (#53) * Sync dev to main (#56) * Merge dev into main (Sprint 7 and 8) (#33) * Implement test orchestrator (#4) * Initial work on test-orchestrator * Ignore runtime folder * Update runtime directory for test modules * Fix logging Add initial framework for running tests * logging and misc cleanup * logging changes * Add a stop hook after all tests complete * Refactor test_orc code * Add arg passing Add option to use locally cloned via install or remote via main project network orchestrator * Fix baseline module Fix orchestrator exiting only after timeout * Add result file to baseline test module Change result format to match closer to design doc * Refactor pylint * Skip test module if it failed to start * Refactor * Check for valid log level --------- Co-authored-by: Jacob Boddey <[email protected]> * Add issue report templates (#7) * Add issue templates * Update README.md * Discover devices on the network (#5) * Test run sync (#8) * Initial work on test-orchestrator * Ignore runtime folder * Update runtime directory for test modules * Fix logging Add initial framework for running tests * logging and misc cleanup * logging changes * Add a stop hook after all tests complete * Refactor test_orc code * Add arg passing Add option to use locally cloned via install or remote via main project network orchestrator * Fix baseline module Fix orchestrator exiting only after timeout * Add result file to baseline test module Change result format to match closer to design doc * Refactor pylint * Skip test module if it failed to start * Refactor * Check for valid log level * Add config file arg Misc changes to network start procedure * fix merge issues * Update runner and test orch procedure Add useful runtiem args * Restructure test run startup process Misc updates to work with net orch updates * Refactor --------- * Quick refactor (#9) * Fix duplicate sleep calls * Add net orc (#11) * Add network orchestrator repository * cleanup duplicate start and install scripts * Temporary fix for python dependencies * Remove duplicate python requirements * remove duplicate conf files * remove remote-net option * cleanp unecessary files * Add the DNS test module (#12) * Add network orchestrator repository * cleanup duplicate start and install scripts * Temporary fix for python dependencies * Remove duplicate python requirements * remove duplicate conf files * remove remote-net option * cleanp unecessary files * Add dns test module Fix test module build process * Add mac address of device under test to test container Update dns test to use mac address filter * Update dns module tests * Change result output * logging update * Update test module for better reusability * Load in module config to test module * logging cleanup * Update baseline module to new template Misc cleanup * Add ability to disable individual tests * remove duplicate readme * Update device directories * Remove local folder * Update device template Update test module to work with new device config file format * Change test module network config options Do not start network services for modules not configured for network * Refactor --------- * Add baseline and pylint tests (#25) * Discover devices on the network (#22) * Discover devices on the network * Add defaults when missing from config Implement monitor wait period from config * Add steady state monitor Remove duplicate callback registrations * Load devices into network orchestrator during testrun start --------- Co-authored-by: jhughesbiot <[email protected]> * Build dependencies first (#21) * Build dependencies first * Remove debug message * Add depend on option to test modules * Re-add single interface option * Import subprocess --------- Co-authored-by: jhughesbiot <[email protected]> * Port scan test module (#23) * Add network orchestrator repository * cleanup duplicate start and install scripts * Temporary fix for python dependencies * Remove duplicate python requirements * remove duplicate conf files * remove remote-net option * cleanp unecessary files * Add dns test module Fix test module build process * Add mac address of device under test to test container Update dns test to use mac address filter * Update dns module tests * Change result output * logging update * Update test module for better reusability * Load in module config to test module * logging cleanup * Update baseline module to new template Misc cleanup * Add ability to disable individual tests * remove duplicate readme * Update device directories * Remove local folder * Update device template Update test module to work with new device config file format * Change test module network config options Do not start network services for modules not configured for network * Initial nmap test module add Add device ip resolving to base module Add network mounting for test modules * Update ipv4 device resolving in test modules * Map in ip subnets and remove hard coded references * Add ftp port test * Add ability to pass config for individual tests within a module Update nmap module scan to run tests based on config * Add full module check for compliance * Add all tcp port scans to config * Update nmap commands to match existing DAQ tests Add udp scanning and tests * logging cleanup * Update TCP port scanning range Update logging * Merge device config into module config Update device template * fix merge issues * Update timeouts Add multi-threading for multiple scanns to run simultaneously Add option to use scan scripts for services * Fix merge issues * Fix device configs * Remove unecessary files * Cleanup duplicate properties * Cleanup install script * Formatting (#26) * Fix pylint issues in net orc * more pylint fixes * fix listener lint issues * fix logger lint issues * fix validator lint issues * fix util lint issues * Update base network module linting issues * Cleanup linter issues for dhcp modules Remove old code testing code * change to single quote delimeter * Cleanup linter issues for ntp module * Cleanup linter issues for radius module * Cleanup linter issues for template module * fix linter issues with faux-dev * Test results (#27) * Collect all module test results * Fix test modules without config options * Add timestamp to test results * Test results (#28) * Collect all module test results * Fix test modules without config options * Add timestamp to test results * Add attempt timing and device info to test results * Ignore disabled test containers when generating results * Fully skip modules that are disabled * Fix pylint test and skip internet tests so CI passes (#29) * disable internet checks for pass * fix pylint test * Increase pylint score (#31) * More formatting fixes * More formatting fixes * More formatting fixes * More formatting fixes * Misc pylint fixes Fix test module logger --------- Co-authored-by: jhughesbiot <[email protected]> * Pylint (#32) * More formatting fixes * More formatting fixes * More formatting fixes * More formatting fixes * Misc pylint fixes Fix test module logger * remove unused files * more formatting * revert breaking pylint changes * more formatting * fix results file * More formatting * ovs module formatting --------- Co-authored-by: Jacob Boddey <[email protected]> * Add license header (#36) * More formatting fixes * More formatting fixes * More formatting fixes * More formatting fixes * Misc pylint fixes Fix test module logger * remove unused files * more formatting * revert breaking pylint changes * more formatting * fix results file * More formatting * ovs module formatting * Add ovs control into network orchestrator * Add verification methods for the base network * Add network validation and misc logging updates * remove ovs module * add license header to all python files --------- Co-authored-by: Jacob Boddey <[email protected]> Co-authored-by: SuperJonotron <[email protected]> * Ovs (#35) * More formatting fixes * More formatting fixes * More formatting fixes * More formatting fixes * Misc pylint fixes Fix test module logger * remove unused files * more formatting * revert breaking pylint changes * more formatting * fix results file * More formatting * ovs module formatting * Add ovs control into network orchestrator * Add verification methods for the base network * Add network validation and misc logging updates * remove ovs module --------- Co-authored-by: Jacob Boddey <[email protected]> Co-authored-by: SuperJonotron <[email protected]> * remove ovs files added back in during merge * Nmap (#38) * More formatting fixes * More formatting fixes * More formatting fixes * More formatting fixes * Misc pylint fixes Fix test module logger * remove unused files * more formatting * revert breaking pylint changes * more formatting * fix results file * More formatting * ovs module formatting * Add ovs control into network orchestrator * Add verification methods for the base network * Add network validation and misc logging updates * remove ovs module * add license header to all python files * Update tcp scans to speed up full port range scan Add version checking Implement ssh version checking * Add unknown port checks Match unknown ports to existing services Add unknown ports without existing services to results file --------- Co-authored-by: Jacob Boddey <[email protected]> Co-authored-by: SuperJonotron <[email protected]> * Create startup capture (#37) * Connection (#40) * Initial add of connection test module with ping test * Update host user resolving * Update host user resolving for validator * add get user method to validator * Conn mac oui (#42) * Initial add of connection test module with ping test * Update host user resolving * Update host user resolving for validator * add get user method to validator * Add mac_oui test Add option to return test result and details of test for reporting * Con mac address (#43) * Initial add of connection test module with ping test * Update host user resolving * Update host user resolving for validator * add get user method to validator * Add mac_oui test Add option to return test result and details of test for reporting * Add connection.mac_address test * Dns (#44) * Add MDNS test * Update existing mdns logging to be more consistent with other tests * Add startup and monitor captures * File permissions (#45) * Fix validator file permissions * Fix test module permissions * Fix device capture file permissions * Fix device results permissions * Add connection single ip test (#47) * Nmap results (#49) * Update processing of nmap results to use xml output and json conversions for stability * Update matching with regex to prevent wrong service matches and duplicate processing for partial matches * Update max port scan range * Framework restructure (#50) * Restructure framework and modules * Fix CI paths * Fix base module * Add build script * Remove build logs * Update base and template docker files to fit the new format Implement a template option on network modules Fix skipping of base image build * remove base image build in ci * Remove group from chown --------- Co-authored-by: jhughesbiot <[email protected]> * Ip control (#51) * Add initial work for ip control module * Implement ip control module with additional cleanup methods * Update link check to not use error stream * Add error checking around container network configurations * Add network cleanup for namespaces and links * formatting * Move config to /local (#52) * Move config to /local * Fix testing config * Fix ovs_control config location * Fix faux dev config location * Add documentation (#53) --------- Co-authored-by: jhughesbiot <[email protected]> Co-authored-by: jhughesbiot <[email protected]> Co-authored-by: Noureddine <[email protected]> Co-authored-by: SuperJonotron <[email protected]> * Sprint 8 Hotfix (#54) * Fix connection results.json * Re add try/catch * Fix log level * Debug test module load order * Add depends on to nmap module * Remove logging change --------- Co-authored-by: jhughesbiot <[email protected]> Co-authored-by: jhughesbiot <[email protected]> Co-authored-by: Noureddine <[email protected]> Co-authored-by: SuperJonotron <[email protected]> * Fix missing results on udp tests when tcp ports are also defined (#59) * Add licence header (#61) * Resolve merge conflict * Add network docs (#63) * Add network docs * Rename to readme * Add link to template module * Dhcp (#64) * Add initial work for ip control module * Implement ip control module with additional cleanup methods * Update link check to not use error stream * Add error checking around container network configurations * Add network cleanup for namespaces and links * formatting * initial work on adding grpc functions for dhcp tests * rework code to allow for better usage and unit testing * working poc for test containers and grpc client to dhcp-1 * Move grpc client code into base image * Move grpc proto builds outside of dockerfile into module startup script * Setup pythonpath var in test module base startup process misc cleanup * pylinting and logging updates * Add python path resolving to network modules Update grpc path to prevent conflicts misc pylinting * Change lease resolving method to fix pylint issue * cleanup unit tests * cleanup unit tests * Add grpc updates to dhcp2 module Update dhcp_config to deal with missing optional variables * Add grpc updates to dhcp2 module Update dhcp_config to deal with missing optional variables * fix line endings * misc cleanup * Dhcp (#67) * Add initial work for ip control module * Implement ip control module with additional cleanup methods * Update link check to not use error stream * Add error checking around container network configurations * Add network cleanup for namespaces and links * formatting * initial work on adding grpc functions for dhcp tests * rework code to allow for better usage and unit testing * working poc for test containers and grpc client to dhcp-1 * Move grpc client code into base image * Move grpc proto builds outside of dockerfile into module startup script * Setup pythonpath var in test module base startup process misc cleanup * pylinting and logging updates * Add python path resolving to network modules Update grpc path to prevent conflicts misc pylinting * Change lease resolving method to fix pylint issue * cleanup unit tests * cleanup unit tests * Add grpc updates to dhcp2 module Update dhcp_config to deal with missing optional variables * Add grpc updates to dhcp2 module Update dhcp_config to deal with missing optional variables * fix line endings * misc cleanup * Move isc-dhcp-server and radvd to services Move DHCP server monitoring and booting to python script * Add grpc methods to interact with dhcp_server module Update dhcp_server to control radvd server directly from calls Fix radvd service status method * Add updates to dhcp2 module Update radvd service * Add license headers * Add connection.dhcp_address test (#68) * Add NTP tests (#60) * Add ntp support test * Add extra log message * Modify descriptions * Pylint * Pylint (#69) --------- Co-authored-by: jhughesbiot <[email protected]> * Add ipv6 tests (#65) * Add ipv6 tests * Check for ND_NS --------- Co-authored-by: jhughesbiot <[email protected]> Co-authored-by: jhughesbiot <[email protected]> Co-authored-by: Noureddine <[email protected]> Co-authored-by: SuperJonotron <[email protected]> * Connection private address (#71) * Add ntp support test * Add extra log message * Modify descriptions * Pylint * formatting * Change isc-dhcp service setup Fix dhcpd logging Add start and stop methods to grpc dhcp client Add dhcp2 client Inttial private_addr test * Add max lease time Add unit tests * fix last commit * finish initial work on test * pylinting * Breakup test and allow better failure reporting * restore network after test * Wait for device to get a lease from original dhcp range after network restore * pylinting * Fix ipv6 tests --------- Co-authored-by: Jacob Boddey <[email protected]> * fix windows line ending * Fix python import * move isc-dhcp service commands to their own class update logging pylinting * fix dhcp1 * Initial CI testing for tests (#72) * Fix radvd conf --------- Co-authored-by: jhughesbiot <[email protected]> Co-authored-by: jhughesbiot <[email protected]> Co-authored-by: Noureddine <[email protected]> Co-authored-by: SuperJonotron <[email protected]> * Fix testing command * Disable API on testing * Add API session * Remove old method * Remove local vars * Replace old var * Add device config * Add device configs * Fix paths * Change MAC address * Revert mac * Fix copy path * Debug loading devices * Remove reference * Changes * Re-add checks to prevent null values * Fix variable * Fix * Use dict instead of string * Try without json conversion * Container output to log * Undo changes to nmap module * Add post devices route --------- Co-authored-by: jhughesbiot <[email protected]> Co-authored-by: jhughesbiot <[email protected]> Co-authored-by: Noureddine <[email protected]> Co-authored-by: SuperJonotron <[email protected]> * Dhcp tests (#81) * Separate dhcp control methods into their own module Implement ip change test Add place holder for dhcp failover test * Stabilize network before leaving ip_change test Add dhcp_failover test * fix regression issue with individual test enable/disable setting * fix gitignore * Merge tls tests into dev (#80) * initial add of security module and tls tests * Fix server test and implement 1.3 version * pylinting * More work on client tests * Add client tls tests Add unit tets Add common python code to base test module * re-enable dhcp unit tests disabled during dev * rename module to tls * fix renaming * Fix unit tests broken by module rename Add TLS 1.3 tests to config * Add TLS 1.3 tests to config fix unit tests * Add certificate signature checks * Add local cert mounting for signature validatoin Fix test results * Update tls 1.2 server to pass with tls 1.3 compliance Add unit tests around tls 1.2 server Misc updates and cleanup * pylinting * Update cipher checks and add test * Fix test results when None is returned with details * Fix duplicate results --------- Co-authored-by: jhughesbiot <[email protected]> * Test output restructure (#79) * Change runtime test structure to allow for multiple old tests * fix current test move * logging changes * Add device test count to device config * Change max report naming Add optional default value to system.json * Copy current test instead of moving to keep a consistent location of the most recent test * fix merge issue * pylint * Use local device folder and use session for config --------- Co-authored-by: Jacob Boddey <[email protected]> * Keep test results in memory (#82) * Keep results in memory * More useful debug message * Fix file path * Result descriptions (#92) * Add short descriptions to conn module Add result_description to results with shorter wording for UI usage * Add result details to ipv6 tests * Update test descriptions in baseline module * Update dns test result details * Update skip results to include details when present * dns module formatting * add result details to nmap tests * add result details to ntp tests * Add short descriptions to tls module and formatting * misc test module formatting * fix typo * Misc cleanup (#93) * Fix network request from module config Misc formatting issues in test orchestrator * fix misc network orchestrator formatting issues * fix misc ovs control formatting issues * fix misc ip control formatting issues * Allow CORS (#91) * Allow CORS * Fix add device * Configurable API port * Add /history and device config endpoints (#88) * Add /history and device config endpoints * Add total tests * Add report to device * Only run tests if baseline passes * Re-enable actions, fix conn module (#89) * Re-enable actions, fix conn module * Fix net_orc init * Update report file name in testing * Add required result to module configs (#95) * Fix DNS test name (#110) * Clear runtime folder on start (#111) * Initial work on pdf report output and format via html (#103) * Add user interface (#98) * Add UI, small changes * Update UI * Update expected tests * Add some documentation * Save test modules (#115) * Expand testing to include API and more testing (#96) * Create Testrun package (#114) * Merge dev into main (Sprint 10 and 11) (#86) * Implement test orchestrator (#4) * Initial work on test-orchestrator * Ignore runtime folder * Update runtime directory for test modules * Fix logging Add initial framework for running tests * logging and misc cleanup * logging changes * Add a stop hook after all tests complete * Refactor test_orc code * Add arg passing Add option to use locally cloned via install or remote via main project network orchestrator * Fix baseline module Fix orchestrator exiting only after timeout * Add result file to baseline test module Change result format to match closer to design doc * Refactor pylint * Skip test module if it failed to start * Refactor * Check for valid log level --------- Co-authored-by: Jacob Boddey <[email protected]> * Add issue report templates (#7) * Add issue templates * Update README.md * Discover devices on the network (#5) * Test run sync (#8) * Initial work on test-orchestrator * Ignore runtime folder * Update runtime directory for test modules * Fix logging Add initial framework for running tests * logging and misc cleanup * logging changes * Add a stop hook after all tests complete * Refactor test_orc code * Add arg passing Add option to use locally cloned via install or remote via main project network orchestrator * Fix baseline module Fix orchestrator exiting only after timeout * Add result file to baseline test module Change result format to match closer to design doc * Refactor pylint * Skip test module if it failed to start * Refactor * Check for valid log level * Add config file arg Misc changes to network start procedure * fix merge issues * Update runner and test orch procedure Add useful runtiem args * Restructure test run startup process Misc updates to work with net orch updates * Refactor --------- * Quick refactor (#9) * Fix duplicate sleep calls * Add net orc (#11) * Add network orchestrator repository * cleanup duplicate start and install scripts * Temporary fix for python dependencies * Remove duplicate python requirements * remove duplicate conf files * remove remote-net option * cleanp unecessary files * Add the DNS test module (#12) * Add network orchestrator repository * cleanup duplicate start and install scripts * Temporary fix for python dependencies * Remove duplicate python requirements * remove duplicate conf files * remove remote-net option * cleanp unecessary files * Add dns test module Fix test module build process * Add mac address of device under test to test container Update dns test to use mac address filter * Update dns module tests * Change result output * logging update * Update test module for better reusability * Load in module config to test module * logging cleanup * Update baseline module to new template Misc cleanup * Add ability to disable individual tests * remove duplicate readme * Update device directories * Remove local folder * Update device template Update test module to work with new device config file format * Change test module network config options Do not start network services for modules not configured for network * Refactor --------- * Add baseline and pylint tests (#25) * Discover devices on the network (#22) * Discover devices on the network * Add defaults when missing from config Implement monitor wait period from config * Add steady state monitor Remove duplicate callback registrations * Load devices into network orchestrator during testrun start --------- Co-authored-by: jhughesbiot <[email protected]> * Build dependencies first (#21) * Build dependencies first * Remove debug message * Add depend on option to test modules * Re-add single interface option * Import subprocess --------- Co-authored-by: jhughesbiot <[email protected]> * Port scan test module (#23) * Add network orchestrator repository * cleanup duplicate start and install scripts * Temporary fix for python dependencies * Remove duplicate python requirements * remove duplicate conf files * remove remote-net option * cleanp unecessary files * Add dns test module Fix test module build process * Add mac address of device under test to test container Update dns test to use mac address filter * Update dns module tests * Change result output * logging update * Update test module for better reusability * Load in module config to test module * logging cleanup * Update baseline module to new template Misc cleanup * Add ability to disable individual tests * remove duplicate readme * Update device directories * Remove local folder * Update device template Update test module to work with new device config file format * Change test module network config options Do not start network services for modules not configured for network * Initial nmap test module add Add device ip resolving to base module Add network mounting for test modules * Update ipv4 device resolving in test modules * Map in ip subnets and remove hard coded references * Add ftp port test * Add ability to pass config for individual tests within a module Update nmap module scan to run tests based on config * Add full module check for compliance * Add all tcp port scans to config * Update nmap commands to match existing DAQ tests Add udp scanning and tests * logging cleanup * Update TCP port scanning range Update logging * Merge device config into module config Update device template * fix merge issues * Update timeouts Add multi-threading for multiple scanns to run simultaneously Add option to use scan scripts for services * Fix merge issues * Fix device configs * Remove unecessary files * Cleanup duplicate properties * Cleanup install script * Formatting (#26) * Fix pylint issues in net orc * more pylint fixes * fix listener lint issues * fix logger lint issues * fix validator lint issues * fix util lint issues * Update base network module linting issues * Cleanup linter issues for dhcp modules Remove old code testing code * change to single quote delimeter * Cleanup linter issues for ntp module * Cleanup linter issues for radius module * Cleanup linter issues for template module * fix linter issues with faux-dev * Test results (#27) * Collect all module test results * Fix test modules without config options * Add timestamp to test results * Test results (#28) * Collect all module test results * Fix test modules without config options * Add timestamp to test results * Add attempt timing and device info to test results * Ignore disabled test containers when generating results * Fully skip modules that are disabled * Fix pylint test and skip internet tests so CI passes (#29) * disable internet checks for pass * fix pylint test * Increase pylint score (#31) *…
PreviousNext