Skip to content

Tags: google/testrun

Tags

v2.1

Toggle v2.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge release v2.1 into main (#994)

v2.0.1

Toggle v2.0.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Fix issue with incompatible Python versions (#881)

v2.0

Toggle v2.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge release v2.0 into main (#876)

v1.4

Toggle v1.4's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
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]>

v1.3.2

Toggle v1.3.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
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]>

v1.4-a

Toggle v1.4-a's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
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]>

v1.3.1

Toggle v1.3.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
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]>

v1.3

Toggle v1.3's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Add exception handling to timestamp parsing (#598)

* Change exception logic on cert upload

* Fix error logic

* Add exception handling to timestamp parse

v1.2.2

Toggle v1.2.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
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)

*…

v1.2.1

Toggle v1.2.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Hotfix 1.2.1 (#389)

* Fix modbus test
Bump version for hotfix

* Add final error result from unknown test results