Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Field validation issues #538

Merged
merged 1 commit into from
Jun 24, 2024
Merged

Field validation issues #538

merged 1 commit into from
Jun 24, 2024

Conversation

sofyakurilova
Copy link
Collaborator

Fix validation - email allows , and ; as separator; change element for text-long - textarea; adds separate validation for max length
Tests
54U8CqKFnCuLjgk
Screenshots after changes
GkHSGAezDWfgscg
5PQohSYSSHWgoBx

@sofyakurilova sofyakurilova self-assigned this Jun 24, 2024
@sofyakurilova sofyakurilova added bug Something isn't working ui Bug or request that impacts the user interface labels Jun 24, 2024
@sofyakurilova sofyakurilova added this to the Release 1.3 milestone Jun 24, 2024
@sofyakurilova sofyakurilova merged commit 364ce41 into dev Jun 24, 2024
10 checks passed
@sofyakurilova sofyakurilova deleted the bug/profile_form_validation branch June 24, 2024 11:11
jboddey added a commit that referenced this pull request Jul 11, 2024
* Remove duplicate device config (#290)

* Report cleanup (#297)

* recommit files

* Cleanup DNS module report
Nmap module misc cleanup

* enable all unit tests

* dns module cleanup

* Fix text; fix gaps (#299)

* Re-enable protocol tests (#277)

* Re-enable protocol tests

* Reorder protocol module run order

* Add protocol display name to report

---------

Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>

* 326951948: (fix) [a11y] add accessible names for welcome modal and buttons (#304)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* Feature/add bacnet version (#300)

* Re-enable protocol tests

* Reorder protocol module run order

* Add protocol display name to report

* Add bacnet version test

* Fix focus style when consent pop-up closed (#301)

* Adds state for devices component; devices added to shared state (#298)

* Return old version if request fails (#303)

Co-authored-by: Olga Mardvilko <omardvilko@mail.ru>

* 327410289: (feat) add protocol module (#307)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 327607397: (fix) update packages to fix security issue from dependabot (#308)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 327544271: (feat) update texts in app (#310)

* 327544271: (feat) update texts in app

* 327544271: (fix) update text for description on monitoring time dropdown

---------

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 327324282: (fix) remove compliant high and limited statuses from filters (#312)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 325424134: (fix) change borders for results table to be visible on scrolling (#311)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* Remove steps to resolve from in progress tests (#302)

* Improve dev process (#286)

* Check for errors during container build

* Allow alt install path

* Remove package from baseline tests

* Install at current path

* Create local folders

* Change command

* Remove path from API testing

* Start Testrun

* Allow local install

* Add comments to scripts

* Change path command

---------

Signed-off-by: J Boddey <boddey@google.com>

* 326193923: (fix) change to prevent the callout for step 1 blinks on loading/reloading the page (#316)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 327722371 (fix) make the Welcome modal appears in case the version response returns the error (#318)

* 327722371 (fix) make the Welcome modal appears in case the version response returns the error

* 327722371 (fix) make the Welcome modal appears in case the version response returns the error

---------

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* Change test status when cancelling test (#305)

* 327161779: (fix) change get status with finished data to display a proper status on status bar (#313)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 327324281: (feat) change callout messages for missing setting ports (#321)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* Remove consent dialog close on esc (#322)

* Update documentation (#319)

* Update documentation

* Add protocol module to list

Signed-off-by: J Boddey <boddey@google.com>

---------

Signed-off-by: J Boddey <boddey@google.com>

* Fix padding in menu item (#323)

* 327352736: (fix) add notification about validation on the create device modal (#324)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* Update README.md

* Change progress page spinner size to small (#327)

* Adds whole row highlight on hover (steps to resolve) (#328)

* Save expand/collapse state (#330)

* Adds zip report link (#333)

* Tls module report (#331)

* Initial tls module report

* Fix report title
add dependencies to tls test module
change gateway capture to tls module capture

* Add no cert result

* Additional formatting for tls report header

* 329086273: (fix) [a11Y] change the version button accessible name (#336)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 328175839: (fix) [a11Y] change to set focus on opening the settings panel (#339)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* Disable test_tests temporarily (#338)

* Disable test_tests temporarily

* Add high level permissions

* Fix edge cases in listener (#341)

* Add hotfix changes (#332)

* Updates error message for version endpoint (#340)

Co-authored-by: J Boddey <boddey@google.com>

* Adds empty table for cancelled state (if no tests are available) (#337)

Co-authored-by: J Boddey <boddey@google.com>

* Remove cancel on download click (#334)

* Run package on every dev commit and every PR (#296)

* Bug/tls server cert chain (#344)

* Add cert chain lookup and validation from trusted CA

* remove certs

* Add simple local CA to generate testing certs
Add unit testing with local certs to validate signature checks
Misc cert name and path fixes in runtime

* enable all unit tests

* 329834205: (fix) apply Angular tooltip to fix the long text issue on hover (#345)

* 329834205: (fix) apply Angular tooltip to fix the long text issue on hover

* 329834205: (fix) change words Test Run to Testrun

---------

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* Fix sort and filtering on data source update (#343)

* Fix report removal from session (#320)

* Remove report limit for now

* Re-enable test limit
Fix timestamp comparison in device for session report removal

---------

Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>

* Zip report updates (#348)

* Add system.conf to runtime
Zip full runtime directory into results

* Add device config to test folder

* Add virtual machine install guide (#174)

* Improve design for module pages (#314)

* Changes to report design

* Report improvements

* Use HTML design

* Add report to nmap module

* Remove duplicate reports

* Add type to port

* Add margin to icon

* Update report generation unit tests for dns module

* Update nmap module report unit tests

* Update NTP module report unit tests

* misc cleanup

* update report unit tests

* fix module report pagination

* Remove TLS module for this version

* Fixes

---------

Signed-off-by: J Boddey <boddey@google.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>

* Resolve merge conflicts (#342)

* Resolve some merge conflicts

* Remove analytics disclaimer

* Resolve UI merge conflicts

* Fixed lowercase letter in README

* Fix report generation

---------

Signed-off-by: J Boddey <boddey@google.com>
Co-authored-by: kurilova <sonnycactus@gmail.com>

* Remove postinst file

* 328405692: (fix) [a11y] add validation, error messages, hints for filters modal (#350)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 330699330: (fix) change styles to prevent unexpected space on pages with welcome modal (#351)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* improve pylint score (#353)

add debugging to help identify reported issue

* Bump dependabot alerts (#349)

* Bump follow-redirects to 1.15.6

* Bump webpack dev middleware to 5.3.4

* fix: update outdated packages to fix security issues (#354)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* Cache oui.txt to prevent install fail (#355)

* 330700777: (fix) update styles for fixing ui focus border issues (#356)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* Add private ip subnet filter for non-tls traffic (#352)

* 331364084: (fix) update label and placeholder for started modal filter (#357)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 328745809: (fix) [a11y] change styles to status card and device item for meet requirements dyslexia (#358)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 331572594: (fix) [a11Y] GAR 1.13 The firmware field validation (#359)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* Add arp inspection and dhcp snooping tests (#280)

* Add arp inspection and dhcp snooping tests

* Remove irrelevant comment

* Add arp dhcp inspection ovs (#309)

* Add dhcp snooping and arp inspection to ovs flows

* Update and disable arp inspection flows

* Update check

---------

Co-authored-by: jhughesbiot <50999916+jhughesbiot@users.noreply.github.com>

* Remove all pylint errors in framework (#360)

* Fix pylint score

* Fix pylint and statuses

* Update oui cache file (#365)

Fix download command

* pin python requirement versions (#366)

* Fix bug with ARP inspection test (#369)

* Allow ARP from 0.0.0.0

* Fix logic

* Bug/docker network dns (#368)

* Remove private network from network service containers

* Remove private network creation and cleanup

* Fix pylint

---------

Co-authored-by: Jacob Boddey <boddey@google.com>

* Fix bug with deleting reports (#372)

* Allow ARP from 0.0.0.0

* Fix logic

* Fix deleting report

* Add a SYN/ACK filter to unencrypted TLS check (#373)

* Add test status docs (#382)

* Render error result in PDF report (#381)

* Bump version

* Render error result in PDF

* Rename nmap module to services (#374)

* Rename nmap module to services

* rename nmap module to services in ui service

---------

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* Bump version to v1.2.1-alpha (#380)

* Bump version

* Add shutdown endpoint (#363)

* Bump version

* Add shutdown endpoint

* monitor device disconnect (#376)

* Monitor device interface during monitor period and cancel testrun if disconnected

* pylint cleanup

---------

Signed-off-by: J Boddey <boddey@google.com>
Co-authored-by: J Boddey <boddey@google.com>

* 330867613: (feat) change start testrun icon on device tile (#367)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 331378849: (feat) add log level explanation (#362)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* Extend timeout when testrun is stopping (#375)

Extend timeout when testrun is stopping

* Fix modbus test and bump version (#394)

* Upgrade dependencies in TLS module (#395)

* Bump TLS libraries

* Upgrade module

* Fix AsyncSniffer not storing packets during monitor period (#384)

* Fix AsyncSniffer not storing packets during monitor period

* cleanup

* Fix pylint issue

---------

Co-authored-by: Jacob Boddey <boddey@google.com>

* 332883321: (feat) add support for Feature Not Present and Error statuses (#399)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* Expand pylint to whole project and fix simple pylint issues (#401)

* 333723882: (feat) add download options on testing page (#406)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* Fix scrolls for mozilla (#405)

* 333725552: (feat) ability to shutdown testrun (#410)

* 333725552: (feat) ability to shutdown testrun

* 333725552: (feat) ability to shutdown testrun

---------

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 336737453: (fix) the reports table is not fitting the content (#416)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 336268076: (fix) change borders for the button and options in download dropdown (#419)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* Fix mac_address validation (#403)

* Returns the currently installed version if Testrun fails to fetch the latest version (#364)

* Bump version

* Add shutdown endpoint

* Return installed version if fail to fetch latest version

* Add hardcoded version

* Fix load version error handling

---------

Signed-off-by: J Boddey <boddey@google.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>

* Change model and manufacturer length (#417)

* Change paddings depends on table width (#408)

* Change paddings depends on table width (#407)

* In progress test result (#404)

* Do not show test result "In Progress" when "finished" data is present

* Disable device item if device in progress

* Fixes defects in the PDF report if a long device name is specified (#383)

* Fix PDF defects with long device name

* Modify max length of manufacturer and model name

* Reduce max number of tests

* Up to 11

* Update module report table row size

* Update table continuation calculation value

---------

Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>

* Change report limit default behavior (#423)

* Bug/test results too long (#426)

* Add details option to test results
Move current TLS description results to details and add short descriptions

* Shorten modbus description and move longe results to details

* Support certificate names with spaces in TLS test (#390)

* Support certificate names with spaces

* Add tls module test, rework run_command logging

* Add logs to test module utils run_command function, update gitignore, fxi some typos

* Reset module reports after testrun (#427)

* Update requirements.txt (#429)

Signed-off-by: J Boddey <boddey@google.com>

* 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 <boddey@google.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>

* 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] <support@github.com>
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 <mardvilka@google.com>

* 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 <mardvilka@google.com>

---------

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 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 <boddey@google.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>

* 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 <mardvilka@google.com>

* 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 <boddey@google.com>
Co-authored-by: J Boddey <boddey@google.com>

* 339315842: (feat) add risk assessment tab (#450)

* 339315842: (feat) add risk assessment tab

* 339315842: (feat) add risk assessment tab

---------

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 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 <boddey@google.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>

* Add new mac addr field for report deleting (#432)

* Remove rebase error

---------

Signed-off-by: J Boddey <boddey@google.com>
Co-authored-by: Olga Mardvilko <omardvilko@mail.ru>
Co-authored-by: Volha Mardvilka <mardvilka@google.com>
Co-authored-by: J Boddey <boddey@google.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>
Co-authored-by: jhughesbiot <50999916+jhughesbiot@users.noreply.github.com>

* 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 <mardvilka@google.com>

* Fix ui defects (#459)

* 340835710: (fix) [Risk assessment] change page view when callout is visible (#461)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 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 <mardvilka@google.com>

* 341254121: (fix) [a11y] add item name for aria-labels delete and copy buttons (#467)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 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 <mardvilka@google.com>

* 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 <mardvilka@google.com>

* 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 <mardvilka@google.com>

---------

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 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 <sonnycactus@gmail.com>
Co-authored-by: Olga Mardvilko <omardvilko@mail.ru>
Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 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 <boddey@google.com>

* Pylint fixes

* Disable broken tests

* Fix skip

* Disable broken tests

* Fix test

---------

Signed-off-by: J Boddey <boddey@google.com>

* 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 <boddey@google.com>

---------

Signed-off-by: J Boddey <boddey@google.com>

* Reduce locations of Testrun version (#453)

* Reduce locations of Testrun version

* Update from comments

* Resolve make control file

---------

Signed-off-by: J Boddey <boddey@google.com>

* 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 <boddey@google.com>

* 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 <boddey@google.com>

* Add test count to PDF report (#482)

* Add test count to PDF report

* Fix pylint issue

* Exclude error

---------

Signed-off-by: J Boddey <boddey@google.com>

* 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 <mardvilka@google.com>

* Updates status with data from start response (#494)

* 341966862: (feat) display info about risk assessment in welcome modal (#496)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* Adds download zip window (#497)

* 344874424: (fix) disable device tile in Canceling status (#500)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* Fix/UI/345164706 (#501)

* 345164706: (fix) disable start testrun btn in canceling state

* 345164706: (fix) remove commented code

---------

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 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 <mardvilka@google.com>

* 345203686: (fix) update callout block view on the welcome modal (#504)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 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 <boddey@google.com>

---------

Signed-off-by: J Boddey <boddey@google.com>

* 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 <boddey@google.com>

* Add extension for cert upload (#510)

* 340859666: (feat): display risk profile form with name field (#514)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 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 <boddey@google.com>

* 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 <boddey@google.com>

* 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 <boddey@google.com>

* 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 <mardvilka@google.com>

* 348187954: (fix) update callouts position on the small window size (#540)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 348356236: (fix) add tooltips for icons without any accompanying text (#541)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 348353479: (fix) add tooltip for the download zip button using the keyboard (#542)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 348361925: (fix) add helper text for mandatory profile name field (#543)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 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 <jonathan.hughes@buildingsiot.com>

---------

Signed-off-by: J Boddey <boddey@google.com>
Co-authored-by: Jacob Boddey <boddey@google.com>

* Adds save draft (#549)

Co-authored-by: Sofia Kurilova <kurilova@google.com>

* 346351108: (feat) display risk assessment result (#553)

* Close form after selected risk profile was deleted (#554)

Co-authored-by: Sofia Kurilova <kurilova@google.com>

* 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 <boddey@google.com>
Co-authored-by: Jacob Boddey <boddey@google.com>

* 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 <boddey@google.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>

* 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 <boddey@google.com>

* 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 <jonathan.hughes@buildingsiot.com>

* 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

---------

Signed-off-by: J Boddey <boddey@google.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: jhughesbiot <50999916+jhughesbiot@users.noreply.github.com>
Co-authored-by: Sofia Kurilova <sonnycactus@gmail.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>
Co-authored-by: Olga Mardvilko <omardvilko@mail.ru>
Co-authored-by: Volha Mardvilka <mardvilka@google.com>
Co-authored-by: Gabriel Herman Bernardim Andrade <gabrielhbandrade@hotmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sofia Kurilova <kurilova@google.com>
jboddey added a commit that referenced this pull request Aug 20, 2024
* Update requirements.txt (#429)

Signed-off-by: J Boddey <boddey@google.com>

* 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 <boddey@google.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>

* 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] <support@github.com>
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 <mardvilka@google.com>

* 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 <mardvilka@google.com>

---------

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 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 <boddey@google.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>

* 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 <mardvilka@google.com>

* 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 <boddey@google.com>
Co-authored-by: J Boddey <boddey@google.com>

* 339315842: (feat) add risk assessment tab (#450)

* 339315842: (feat) add risk assessment tab

* 339315842: (feat) add risk assessment tab

---------

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 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 <boddey@google.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>

* Add new mac addr field for report deleting (#432)

* Remove rebase error

---------

Signed-off-by: J Boddey <boddey@google.com>
Co-authored-by: Olga Mardvilko <omardvilko@mail.ru>
Co-authored-by: Volha Mardvilka <mardvilka@google.com>
Co-authored-by: J Boddey <boddey@google.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>
Co-authored-by: jhughesbiot <50999916+jhughesbiot@users.noreply.github.com>

* 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 <mardvilka@google.com>

* Fix ui defects (#459)

* 340835710: (fix) [Risk assessment] change page view when callout is visible (#461)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 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 <mardvilka@google.com>

* 341254121: (fix) [a11y] add item name for aria-labels delete and copy buttons (#467)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 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 <mardvilka@google.com>

* 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 <mardvilka@google.com>

* 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 <mardvilka@google.com>

---------

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 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 <sonnycactus@gmail.com>
Co-authored-by: Olga Mardvilko <omardvilko@mail.ru>
Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 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 <boddey@google.com>

* Pylint fixes

* Disable broken tests

* Fix skip

* Disable broken tests

* Fix test

---------

Signed-off-by: J Boddey <boddey@google.com>

* 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 <boddey@google.com>

---------

Signed-off-by: J Boddey <boddey@google.com>

* Reduce locations of Testrun version (#453)

* Reduce locations of Testrun version

* Update from comments

* Resolve make control file

---------

Signed-off-by: J Boddey <boddey@google.com>

* 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 <boddey@google.com>

* 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 <boddey@google.com>

* Add test count to PDF report (#482)

* Add test count to PDF report

* Fix pylint issue

* Exclude error

---------

Signed-off-by: J Boddey <boddey@google.com>

* 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 <mardvilka@google.com>

* Updates status with data from start response (#494)

* 341966862: (feat) display info about risk assessment in welcome modal (#496)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* Adds download zip window (#497)

* 344874424: (fix) disable device tile in Canceling status (#500)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* Fix/UI/345164706 (#501)

* 345164706: (fix) disable start testrun btn in canceling state

* 345164706: (fix) remove commented code

---------

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 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 <mardvilka@google.com>

* 345203686: (fix) update callout block view on the welcome modal (#504)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 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 <boddey@google.com>

---------

Signed-off-by: J Boddey <boddey@google.com>

* 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 <boddey@google.com>

* Add extension for cert upload (#510)

* 340859666: (feat): display risk profile form with name field (#514)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 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 <boddey@google.com>

* 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 <boddey@google.com>

* 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 <boddey@google.com>

* 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 <mardvilka@google.com>

* 348187954: (fix) update callouts position on the small window size (#540)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 348356236: (fix) add tooltips for icons without any accompanying text (#541)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 348353479: (fix) add tooltip for the download zip button using the keyboard (#542)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 348361925: (fix) add helper text for mandatory profile name field (#543)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 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 <jonathan.hughes@buildingsiot.com>

---------

Signed-off-by: J Boddey <boddey@google.com>
Co-authored-by: Jacob Boddey <boddey@google.com>

* Adds save draft (#549)

Co-authored-by: Sofia Kurilova <kurilova@google.com>

* 346351108: (feat) display risk assessment result (#553)

* Close form after selected risk profile was deleted (#554)

Co-authored-by: Sofia Kurilova <kurilova@google.com>

* 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 <boddey@google.com>
Co-authored-by: Jacob Boddey <boddey@google.com>

* 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 <boddey@google.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>

* 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 <boddey@google.com>

* 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 <jonathan.hughes@buildingsiot.com>

* 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 <boddey@google.com>

* 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 <boddey@google.com>

* Update package.yml (#624)

Signed-off-by: J Boddey <boddey@google.com>

* 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 <boddey@google.com>

* 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 <kurilova@google.com>
Co-authored-by: J Boddey <boddey@google.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>

* 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 <boddey@google.com>

---------

Signed-off-by: J Boddey <boddey@google.com>

* 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 <sonnycactus@gmail.com>
Co-authored-by: J Boddey <boddey@google.com>

* Fix network only mode issues (#617)

Co-authored-by: J Boddey <boddey@google.com>

* 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 <boddey@google.com>

---------

Signed-off-by: J Boddey <boddey@google.com>
Co-authored-by: Jacob Boddey <boddey@google.com>

* 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 <boddey@google.com>

* 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 <boddey@google.com>
Co-authored-by: kurilova <sonnycactus@gmail.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>

* Feature/risk in selected (#654)

* Adds risk to selected value

* Adds risk to selected value

---------

Co-authored-by: J Boddey <boddey@google.com>

* 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 <boddey@google.com>

* 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 <boddey@google.com>

---------

Signed-off-by: J Boddey <boddey@google.com>
Co-authored-by: J Boddey <boddey@google.com>
Co-authored-by: Sofia Kurilova <kurilova@google.com>

* 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 <boddey@google.com>

* 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 <boddey@google.com>

* 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 <boddey@google.com>
Co-authored-by: kurilova <sonnycactus@gmail.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>

* Feature/risk in selected (#654)

* Adds risk to selected value

* Adds risk to selected value

---------

Co-authored-by: J Boddey <boddey@google.com>

* 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 <boddey@google.com>

* 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 <boddey@google.com>
Co-authored-by: J Boddey <boddey@google.com>
Co-authored-by: Aliaksandr Nikitsin <aliaksandrn@google.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>

* 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 <jonathan.hughes@buildingsiot.com>

* 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 <boddey@google.com>

* 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 <boddey@google.com>

---------

Signed-off-by: J Boddey <boddey@google.com>
Co-authored-by: J Boddey <boddey@google.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>

* 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 <aliaksandrn@google.com>
Co-authored-by: Sofia Kurilova <kurilova@google.com>

* 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 <boddey@google.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sofia Kurilova <sonnycactus@gmail.com>
Co-authored-by: Olga Mardvilko <omardvilko@mail.ru>
Co-authored-by: Volha Mardvilka <mardvilka@google.com>
Co-authored-by: jhughesbiot <50999916+jhughesbiot@users.noreply.github.com>
Co-authored-by: Sofia Kurilova <kurilova@google.com>
Co-authored-by: Aliaksandr Nikitsin <aliaksandrn@google.com>
Co-authored-by: Marius <86727846+MariusBaldovin@users.noreply.github.com>
jboddey added a commit that referenced this pull request Aug 21, 2024
* Release v1.4 into main (#687)

* Update requirements.txt (#429)

Signed-off-by: J Boddey <boddey@google.com>

* 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 <boddey@google.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>

* 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] <support@github.com>
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 <mardvilka@google.com>

* 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 <mardvilka@google.com>

---------

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 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 <boddey@google.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>

* 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 <mardvilka@google.com>

* 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 <boddey@google.com>
Co-authored-by: J Boddey <boddey@google.com>

* 339315842: (feat) add risk assessment tab (#450)

* 339315842: (feat) add risk assessment tab

* 339315842: (feat) add risk assessment tab

---------

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 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 <boddey@google.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>

* Add new mac addr field for report deleting (#432)

* Remove rebase error

---------

Signed-off-by: J Boddey <boddey@google.com>
Co-authored-by: Olga Mardvilko <omardvilko@mail.ru>
Co-authored-by: Volha Mardvilka <mardvilka@google.com>
Co-authored-by: J Boddey <boddey@google.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>
Co-authored-by: jhughesbiot <50999916+jhughesbiot@users.noreply.github.com>

* 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 <mardvilka@google.com>

* Fix ui defects (#459)

* 340835710: (fix) [Risk assessment] change page view when callout is visible (#461)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 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 <mardvilka@google.com>

* 341254121: (fix) [a11y] add item name for aria-labels delete and copy buttons (#467)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 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 <mardvilka@google.com>

* 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 <mardvilka@google.com>

* 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 <mardvilka@google.com>

---------

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 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 <sonnycactus@gmail.com>
Co-authored-by: Olga Mardvilko <omardvilko@mail.ru>
Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 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 <boddey@google.com>

* Pylint fixes

* Disable broken tests

* Fix skip

* Disable broken tests

* Fix test

---------

Signed-off-by: J Boddey <boddey@google.com>

* 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 <boddey@google.com>

---------

Signed-off-by: J Boddey <boddey@google.com>

* Reduce locations of Testrun version (#453)

* Reduce locations of Testrun version

* Update from comments

* Resolve make control file

---------

Signed-off-by: J Boddey <boddey@google.com>

* 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 <boddey@google.com>

* 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 <boddey@google.com>

* Add test count to PDF report (#482)

* Add test count to PDF report

* Fix pylint issue

* Exclude error

---------

Signed-off-by: J Boddey <boddey@google.com>

* 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 <mardvilka@google.com>

* Updates status with data from start response (#494)

* 341966862: (feat) display info about risk assessment in welcome modal (#496)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* Adds download zip window (#497)

* 344874424: (fix) disable device tile in Canceling status (#500)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* Fix/UI/345164706 (#501)

* 345164706: (fix) disable start testrun btn in canceling state

* 345164706: (fix) remove commented code

---------

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 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 <mardvilka@google.com>

* 345203686: (fix) update callout block view on the welcome modal (#504)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 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 <boddey@google.com>

---------

Signed-off-by: J Boddey <boddey@google.com>

* 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 <boddey@google.com>

* Add extension for cert upload (#510)

* 340859666: (feat): display risk profile form with name field (#514)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 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 <boddey@google.com>

* 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 <boddey@google.com>

* 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 <boddey@google.com>

* 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 <mardvilka@google.com>

* 348187954: (fix) update callouts position on the small window size (#540)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 348356236: (fix) add tooltips for icons without any accompanying text (#541)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 348353479: (fix) add tooltip for the download zip button using the keyboard (#542)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 348361925: (fix) add helper text for mandatory profile name field (#543)

Co-authored-by: Volha Mardvilka <mardvilka@google.com>

* 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 <jonathan.hughes@buildingsiot.com>

---------

Signed-off-by: J Boddey <boddey@google.com>
Co-authored-by: Jacob Boddey <boddey@google.com>

* Adds save draft (#549)

Co-authored-by: Sofia Kurilova <kurilova@google.com>

* 346351108: (feat) display risk assessment result (#553)

* Close form after selected risk profile was deleted (#554)

Co-authored-by: Sofia Kurilova <kurilova@google.com>

* 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 <boddey@google.com>
Co-authored-by: Jacob Boddey <boddey@google.com>

* 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 <boddey@google.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>

* 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 <boddey@google.com>

* 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 <jonathan.hughes@buildingsiot.com>

* 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 <boddey@google.com>

* 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 <boddey@google.com>

* Update package.yml (#624)

Signed-off-by: J Boddey <boddey@google.com>

* 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 <boddey@google.com>

* 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 <kurilova@google.com>
Co-authored-by: J Boddey <boddey@google.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>

* 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 <boddey@google.com>

---------

Signed-off-by: J Boddey <boddey@google.com>

* 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 <sonnycactus@gmail.com>
Co-authored-by: J Boddey <boddey@google.com>

* Fix network only mode issues (#617)

Co-authored-by: J Boddey <boddey@google.com>

* 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 <boddey@google.com>

---------

Signed-off-by: J Boddey <boddey@google.com>
Co-authored-by: Jacob Boddey <boddey@google.com>

* 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 <boddey@google.com>

* 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 <boddey@google.com>
Co-authored-by: kurilova <sonnycactus@gmail.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>

* Feature/risk in selected (#654)

* Adds risk to selected value

* Adds risk to selected value

---------

Co-authored-by: J Boddey <boddey@google.com>

* 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 <boddey@google.com>

* 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 <boddey@google.com>

---------

Signed-off-by: J Boddey <boddey@google.com>
Co-authored-by: J Boddey <boddey@google.com>
Co-authored-by: Sofia Kurilova <kurilova@google.com>

* 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 <boddey@google.com>

* 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 <boddey@google.com>

* 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 <boddey@google.com>
Co-authored-by: kurilova <sonnycactus@gmail.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>

* Feature/risk in selected (#654)

* Adds risk to selected value

* Adds risk to selected value

---------

Co-authored-by: J Boddey <boddey@google.com>

* 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 <boddey@google.com>

* 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 <boddey@google.com>
Co-authored-by: J Boddey <boddey@google.com>
Co-authored-by: Aliaksandr Nikitsin <aliaksandrn@google.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>

* 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 <jonathan.hughes@buildingsiot.com>

* 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 <boddey@google.com>

* 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 <boddey@google.com>

---------

Signed-off-by: J Boddey <boddey@google.com>
Co-authored-by: J Boddey <boddey@google.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>

* 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 <aliaksandrn@google.com>
Co-authored-by: Sofia Kurilova <kurilova@google.com>

* 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 <boddey@google.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sofia Kurilova <sonnycactus@gmail.com>
Co-authored-by: Olga Mardvilko <omardvilko@mail.ru>
Co-authored-by: Volha Mardvilka <mardvilka@google.com>
Co-authored-by: jhughesbiot <50999916+jhughesbiot@users.noreply.github.com>
Co-authored-by: Sofia Kurilova <kurilova@google.com>
Co-authored-by: Aliaksandr Nikitsin <aliaksandrn@google.com>
Co-authored-by: Marius <86727846+MariusBaldovin@users.noreply.github.com>

* Resolve merge conflicts

---------

Signed-off-by: J Boddey <boddey@google.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sofia Kurilova <sonnycactus@gmail.com>
Co-authored-by: Olga Mardvilko <omardvilko@mail.ru>
Co-authored-by: Volha Mardvilka <mardvilka@google.com>
Co-authored-by: jhughesbiot <50999916+jhughesbiot@users.noreply.github.com>
Co-authored-by: Sofia Kurilova <kurilova@google.com>
Co-authored-by: Aliaksandr Nikitsin <aliaksandrn@google.com>
Co-authored-by: Marius <86727846+MariusBaldovin@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working ui Bug or request that impacts the user interface
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants