Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
512 commits
Select commit Hold shift + click to select a range
2ad32b0
Update requirements.txt (#429)
jboddey May 7, 2024
c860757
Remove in progress status after discovery (#422)
jboddey May 7, 2024
b8281c6
Add steps to resolve to PDF report (#411)
jboddey May 7, 2024
87ef9ae
Bump ejs in /modules/ui in the npm_and_yarn group across 1 directory …
dependabot[bot] May 7, 2024
9ae8411
For delete report take mac_addr from upper level (#436)
sofyakurilova May 7, 2024
4bfe420
Update dependencies (#435)
sofyakurilova May 7, 2024
7820ded
Add new mac addr field for report deleting (#432)
jboddey May 7, 2024
9809ada
Bump version to v1.2.2 (#433)
jboddey May 7, 2024
b46f12b
fix: replace Feature Not Present to Feature Not Detected (#445)
OlgaMardvilko May 10, 2024
7fc7f93
Fix PDF alignment (#441)
jboddey May 10, 2024
0be6114
Merge branch 'main' into dev
jboddey May 10, 2024
117ebfd
Do not remove form control on destroy as it causes error; call system…
sofyakurilova May 10, 2024
8503605
Fix some pylint issues (#437)
jboddey May 11, 2024
191362f
Update documentation (#448)
jboddey May 13, 2024
e8fd570
Merge branch 'main' into dev
jboddey May 13, 2024
8df4783
V1.3 (#393)
sofyakurilova May 14, 2024
0e19c6b
Rename "history" to "reports" (#456)
sofyakurilova May 15, 2024
6f83f74
Rename "device-repository" to "devices" (#455)
sofyakurilova May 15, 2024
c61180f
Change certificates endpoints (#458)
sofyakurilova May 15, 2024
99da79f
339311887: (feat) display saved risk profile (#460)
OlgaMardvilko May 16, 2024
b050d65
Fix ui defects (#459)
sofyakurilova May 16, 2024
f17e2bb
340835710: (fix) [Risk assessment] change page view when callout is v…
OlgaMardvilko May 16, 2024
484101e
Fix style to allow screen reader to read label (#462)
sofyakurilova May 16, 2024
5a61d44
Updaate device test module configuration from api start endpoint (#463)
jhughesoti May 17, 2024
276100b
Add get profiles format endpoint (#465)
jboddey May 20, 2024
e00edcc
339311250: (feat) delete risk profile (#466)
OlgaMardvilko May 21, 2024
42a66b9
341254121: (fix) [a11y] add item name for aria-labels delete and copy…
OlgaMardvilko May 21, 2024
a458a94
Make testing statuses available outside of Testing Tab (#468)
sofyakurilova May 21, 2024
c65566d
Validate CA certificate on FE (#464)
sofyakurilova May 21, 2024
bc99878
341901606: (fix) [GAR 1.6]: update for arrows usage on risk profile (…
OlgaMardvilko May 22, 2024
f594c9c
Adds space in certificate name regexp (#469)
sofyakurilova May 22, 2024
122b002
342096458: (fix) [GAR 1.3] add focus trap to certificates panel to pr…
OlgaMardvilko May 22, 2024
dcb77b5
The focus is not moved to the snackbar with certificate validation ru…
sofyakurilova May 23, 2024
190c66a
Adds file name in error message (#473)
sofyakurilova May 23, 2024
6bf596b
Add certificate endpoints (#451)
jboddey May 23, 2024
5bfa042
Fix modify devices test (#449)
jboddey May 23, 2024
8993bc7
"Waiting for Device" :the snack bar appears on all pages (#474)
sofyakurilova May 24, 2024
b50c309
Rename testrun component (#480)
sofyakurilova May 24, 2024
caf53fc
Rename settings component (#476)
sofyakurilova May 24, 2024
9a357b2
Rename testrun component (#477)
sofyakurilova May 24, 2024
4cc9df5
Improve API test coverage (#291)
jboddey May 24, 2024
cb2cde9
Remove certificate if BE error happens (#484)
sofyakurilova May 29, 2024
d2ec464
Add cert status (#478)
jboddey May 30, 2024
56b37e8
Add ethtool to make and docs (#483)
jboddey May 30, 2024
e91a0ed
Add exception handling to certificate upload (#479)
jboddey May 30, 2024
9521f4f
Add get profiles format endpoint (#475)
jboddey May 30, 2024
a2ac8ae
Reduce locations of Testrun version (#453)
jboddey May 30, 2024
2739f30
Allow stop testrun from any other page (#487)
sofyakurilova May 31, 2024
5b9c05c
Feature/tls client protocols (#485)
jhughesoti May 31, 2024
ac3274f
The focus goes to the main page element after adding the ceriticate (…
sofyakurilova May 31, 2024
db9eea1
The snack bar with test attempt status appears if the user is not on…
sofyakurilova May 31, 2024
273d72d
Update consent form (#490)
sofyakurilova Jun 3, 2024
ab96d19
Adds announce when settings or certificate panel is opened (#493)
sofyakurilova Jun 3, 2024
3e5b0b3
Set status code on failed cert upload (#491)
jboddey Jun 3, 2024
0723bd9
Add risk profiles (#486)
jboddey Jun 3, 2024
a14a596
Add test count to PDF report (#482)
jboddey Jun 3, 2024
9b18651
Change network mode on network modules to fix gateway routing (#495)
jhughesoti Jun 4, 2024
2ebff25
342365574: (feat) display info about Risk Assessment during testing (…
OlgaMardvilko Jun 4, 2024
4b31f13
Updates status with data from start response (#494)
sofyakurilova Jun 4, 2024
9399e9b
341966862: (feat) display info about risk assessment in welcome modal…
OlgaMardvilko Jun 5, 2024
d436aea
Adds download zip window (#497)
sofyakurilova Jun 5, 2024
e15da61
344874424: (fix) disable device tile in Canceling status (#500)
OlgaMardvilko Jun 6, 2024
56610c6
Fix/UI/345164706 (#501)
OlgaMardvilko Jun 6, 2024
816fb20
GA option issues on the Welcome modal (#502)
sofyakurilova Jun 6, 2024
ac0fe7c
345202815: (fix) callout with the RA message is shown on the RA page …
OlgaMardvilko Jun 6, 2024
2171ece
345203686: (fix) update callout block view on the welcome modal (#504)
OlgaMardvilko Jun 6, 2024
b17814b
Allow UI to specify modules (#505)
jboddey Jun 6, 2024
8e94b54
Update risk assessment format (#499)
jboddey Jun 6, 2024
059566f
Fix issue with checking for error result (#498)
jboddey Jun 6, 2024
4c82935
Announce disabled state of settings panel (#506)
sofyakurilova Jun 7, 2024
629d310
The Downlaod ZIP action can not be performed using the keaboard (#508)
sofyakurilova Jun 7, 2024
8a3e491
Add create and delete profile endpoints (#507)
jboddey Jun 10, 2024
eeeb9fe
Exclude link local for arp (#418)
jboddey Jun 10, 2024
fb3199e
Add feature not detected test result (#396)
jboddey Jun 10, 2024
1da685e
Add extension for cert upload (#510)
jboddey Jun 10, 2024
00cf688
Resolve merge conflicts
jboddey Jun 10, 2024
99d1afd
340859666: (feat): display risk profile form with name field (#514)
OlgaMardvilko Jun 11, 2024
4f690b3
Fixes some pylint issues (#511)
jboddey Jun 12, 2024
570b77f
bug/test_baseline (#513)
jhughesoti Jun 12, 2024
433ed7d
Attach profile to ZIP report (#518)
jboddey Jun 17, 2024
4cf7623
Generate Risk profile from json (#515)
sofyakurilova Jun 18, 2024
d5eb67c
The Downlaod ZIP action can not be performed using the keyboard (#517)
sofyakurilova Jun 18, 2024
fc06d86
Add required if applicable (#519)
jboddey Jun 18, 2024
b31d4ca
Fix styles for helperbird (#524)
sofyakurilova Jun 18, 2024
d84adbf
Form from json validation (#523)
sofyakurilova Jun 18, 2024
eaa92d1
Fix vulnerabilities in dependencies (#526)
sofyakurilova Jun 18, 2024
051b6d4
Enable draft button when profile name is present; enable save button …
sofyakurilova Jun 19, 2024
88ed878
Correct result on tls client test (#528)
jboddey Jun 19, 2024
be7889b
Add informational and fnd to report (#527)
jboddey Jun 19, 2024
16ebd35
Mark fields required when trimmed value is empty (#529)
sofyakurilova Jun 19, 2024
fc087d8
Update requests dependency (#525)
jboddey Jun 19, 2024
9675431
Remove debug artifact (#531)
sofyakurilova Jun 20, 2024
128696c
Fix scroll area on reports page (#532)
sofyakurilova Jun 21, 2024
c0a2b8c
Announce risk form open; focus first element in container (#536)
sofyakurilova Jun 24, 2024
364ce41
Fix validation; change element for text-long (#538)
sofyakurilova Jun 24, 2024
91cb5f3
345258435: (feat) display expired certificate (#539)
OlgaMardvilko Jun 25, 2024
02a44de
348187954: (fix) update callouts position on the small window size (#…
OlgaMardvilko Jun 25, 2024
9545386
348356236: (fix) add tooltips for icons without any accompanying text…
OlgaMardvilko Jun 25, 2024
da6d8dc
348353479: (fix) add tooltip for the download zip button using the ke…
OlgaMardvilko Jun 25, 2024
68df9d8
348361925: (fix) add helper text for mandatory profile name field (#543)
OlgaMardvilko Jun 26, 2024
978e657
Save new risk profile (#533)
sofyakurilova Jun 26, 2024
44769d8
Fix DNS report when DNS packet is missing the qname property (#546)
jhughesoti Jun 27, 2024
a2c8dd4
Adds edit risk profile (#544)
sofyakurilova Jun 27, 2024
3c264f5
Fix autozise (#547)
sofyakurilova Jun 27, 2024
f2a5ccf
Feature/risk profile (#522)
jhughesoti Jun 27, 2024
bf6ddfc
Adds save draft (#549)
sofyakurilova Jun 27, 2024
132a8a7
346351108: (feat) display risk assessment result (#553)
OlgaMardvilko Jun 27, 2024
36871e1
Close form after selected risk profile was deleted (#554)
sofyakurilova Jun 27, 2024
c26f9b1
Fix error when updating profile (#555)
jboddey Jun 27, 2024
0e81537
Render informational result correctly (#551)
jboddey Jun 27, 2024
a2435d7
Re-add method for exporting profle (#550)
jboddey Jun 27, 2024
121ae32
Fix bug when failed to fetch latest version (#548)
jboddey Jun 27, 2024
59af340
349769454: (fix) update size on the empty reports page to prevent ove…
OlgaMardvilko Jun 28, 2024
79c116e
Fix bad multiple ip report when no ip requested (#556)
jhughesoti Jun 28, 2024
f180e07
Fix Duplicate Certificate Names (#545)
jhughesoti Jun 28, 2024
cf1257c
Changes the icon; adds create date (#552)
sofyakurilova Jun 28, 2024
560695d
349783464: (fix) add styles for selected elements and fix form size o…
OlgaMardvilko Jun 28, 2024
9cca920
349793005: (fix) change focus to profile form to scroll up on opening…
OlgaMardvilko Jun 28, 2024
85ff703
Return focus on create button when new profile created; return focus …
sofyakurilova Jun 28, 2024
4975b7d
Small refactoring; update validators on selected profile update and o…
sofyakurilova Jul 1, 2024
b83dc13
Enables save and draft button for edit mode (#565)
sofyakurilova Jul 1, 2024
824aa7e
Validate multi select form group on last checkbox tab press (#566)
sofyakurilova Jul 2, 2024
0698962
Remove copy button (#567)
sofyakurilova Jul 2, 2024
f2ebea2
Bug/bacnet device (#568)
jhughesoti Jul 2, 2024
fd713c7
Show only valid profile in modal; fix condition to not download profi…
sofyakurilova Jul 3, 2024
6928858
Fix bug when saving draft profile (#563)
jboddey Jul 3, 2024
8ce6660
Focus title or first element in container when navigation is triggere…
sofyakurilova Jul 3, 2024
f4452cc
Adds aria label and tooltip to risk profile icons (#572)
sofyakurilova Jul 4, 2024
9e91fdd
Add profile PDF (#562)
jboddey Jul 4, 2024
2b0e05f
Update zip file to use /tmp directory (#571)
jhughesoti Jul 4, 2024
0f0f108
Remove cert from session after delete request (#575)
jboddey Jul 5, 2024
f1d479c
Fix error when only draft profiles are exist (#576)
sofyakurilova Jul 5, 2024
2738d14
Focus fix; fix profile status icon (#579)
sofyakurilova Jul 5, 2024
d35da11
Support longer string answers in profile PDF (#578)
jboddey Jul 5, 2024
9613bb0
Cleanup old test devices from runtime (#583)
jhughesoti Jul 5, 2024
e23e568
351758698: (fix) update app version styles to meet design on expanded…
OlgaMardvilko Jul 8, 2024
7326725
Update risk profile description (#582)
jboddey Jul 8, 2024
ae749aa
Bump version for release (#584)
jboddey Jul 8, 2024
5b86016
Remove skipped result (#580)
jboddey Jul 8, 2024
338102b
Prevent creating device with duplicate manufacturer and model (#581)
jboddey Jul 8, 2024
ef351c3
Remove profile from runtime once included in ZIP (#577)
jboddey Jul 8, 2024
42bbda8
Do not show settings callout if there are no interfaces and saved set…
sofyakurilova Jul 9, 2024
9ff1923
Fix modbus results (#588)
jhughesoti Jul 9, 2024
6a64bb5
Don't show error if config is empty; don't show settings callout when…
sofyakurilova Jul 9, 2024
d7c58d0
Catch error to proceed with device creation/editing (#592)
sofyakurilova Jul 9, 2024
76b35bb
Remove output logging from OS level commands (#594)
jhughesoti Jul 9, 2024
2d94467
Fix cancel after monitor bug and add testrun.log (#595)
jboddey Jul 9, 2024
c5ba902
Fix step 1 callout error (#593)
sofyakurilova Jul 10, 2024
54e915c
Fix GAR bug with cert upload (#590)
jboddey Jul 10, 2024
aadd95f
Update documentation (#591)
jboddey Jul 10, 2024
fc5d90b
Add exception handling to timestamp parsing (#598)
jboddey Jul 10, 2024
044d5b4
Stick button to the bottom of risk page (#574)
sofyakurilova Jul 4, 2024
a3c6f0e
Adds copy of risk profile (#573)
sofyakurilova Jul 4, 2024
b2b7d63
Lint fix
sofyakurilova Jul 9, 2024
8eff3b2
Set testrun IDLE status if report of finished test run is removed (#585)
sofyakurilova Jul 9, 2024
769a47c
Adds Discard risk profile (#596)
sofyakurilova Jul 10, 2024
9d3d1e0
Load test modules dynamically (#597)
sofyakurilova Jul 10, 2024
9956186
Update download zip modal: add link to Risk Profiles, remove redirect…
sofyakurilova Jul 11, 2024
1968c4a
351338001: (feat) update rule for the third step message (#600)
OlgaMardvilko Jul 11, 2024
dec1098
347009372: (feat) add selector for profile options for GA4 (#604)
OlgaMardvilko Jul 15, 2024
b2e60c6
Adds tooltip for copy and delete; show "same name" error when more th…
sofyakurilova Jul 16, 2024
4222780
346999760: (feat) [GA4] Track CA Certificates (#607)
OlgaMardvilko Jul 16, 2024
209fff1
353476778: (fix) GAR 2.11 change for prevent risk profile tiles overl…
OlgaMardvilko Jul 16, 2024
8b03e9a
If profile is editing, return focus on profile (#612)
sofyakurilova Jul 17, 2024
f8261ac
Change title for save profile dialog according to type of profile (#610)
sofyakurilova Jul 17, 2024
271d5aa
Get reports when app is opened and when report page is opened; change…
sofyakurilova Jul 17, 2024
7542870
Show tooltip only on keyboard or hover (#614)
sofyakurilova Jul 17, 2024
4a23312
Update condition as report field is unique (#615)
sofyakurilova Jul 18, 2024
409338e
Expired profile profile (#619)
sofyakurilova Jul 22, 2024
e11375a
Use device mac_addr if report mac_addr is missing (#622)
sofyakurilova Jul 22, 2024
2728248
get system network interfaces util func
hitnik Jun 25, 2024
1a8cbf2
test get_sys_interfaces
hitnik Jun 25, 2024
a4551d7
pylint
hitnik Jun 25, 2024
a21977a
get all network interfaces on session start
hitnik Jun 25, 2024
dd7ac3a
dicts diff
hitnik Jun 27, 2024
3ded7e5
detect network adapter change
hitnik Jun 27, 2024
7415ad4
pylint
hitnik Jun 27, 2024
6cebb31
logging
hitnik Jun 27, 2024
98f7ffd
Add ws server
jboddey Jun 13, 2024
bf7de27
Add MQTT protocol
jboddey Jun 17, 2024
cf137e6
Upgrade ws server
jboddey Jun 17, 2024
d31fd92
paho-mqtt dependency
hitnik Jun 19, 2024
c8f7185
getting docker container IP by container name
hitnik Jun 19, 2024
09727ae
MQTT client class
hitnik Jun 20, 2024
41e3fd3
Fix pylint
hitnik Jun 20, 2024
2ff2b34
rename mqtt client logger
hitnik Jun 21, 2024
5aea251
APScheduler
hitnik Jun 28, 2024
8651f74
initializing the client inside the testrun object
hitnik Jun 28, 2024
a7afa2d
pylint
hitnik Jun 28, 2024
2988c62
check networks adapters in background
hitnik Jun 28, 2024
66e1f91
remove extra lines at the end of a file
hitnik Jul 8, 2024
02bb5c0
rename mgtt logger
hitnik Jul 8, 2024
f73191f
move network_adapters_checker to network_orchestrator
hitnik Jul 9, 2024
77b97c4
Adds mqtt client, adds pop up when new adapter is available (#603)
sofyakurilova Jul 15, 2024
358072a
Fix some pylint issues (#620)
jboddey Jul 22, 2024
86d0583
Disabled test results (#212)
jhughesoti Jul 22, 2024
8aaed06
remove get ip of docker container because it is not necessary
hitnik Jul 23, 2024
06915a4
Merge branch 'feature/new_adapter' into dev
hitnik Jul 23, 2024
cbeec19
Fix individual test disabling when run from the UI (#629)
jhughesoti Jul 24, 2024
3d766f8
Update package.yml (#624)
jboddey Jul 24, 2024
74135bc
Resolve merge conflicts with main
jboddey Jul 24, 2024
eed64c3
Added risk profile api testing (#628)
MariusBaldovin Jul 25, 2024
5e874c8
Adds close button for expired profile (#635)
sofyakurilova Jul 25, 2024
67d3521
Copy changes from hotfix 1.3.1 to dev (#631)
jboddey Jul 25, 2024
9d77fca
Inform FE about a new network adapter discovered( rename mqtt topic …
hitnik Jul 25, 2024
6026902
Fix network only mode issues (#617)
jhughesoti Jul 25, 2024
f9dbb0f
Update all unit tests to work within the runtime environment (#611)
jhughesoti Jul 25, 2024
5671752
Feature/dns report update (#637)
jhughesoti Jul 25, 2024
9f98cea
refactor func to handle case when network interface not exists
hitnik Jul 2, 2024
c5e6e30
set test result "Error"
hitnik Jul 12, 2024
b55b9a5
check device connected
hitnik Jul 12, 2024
d5517fc
thread for monitoring device connection
hitnik Jul 12, 2024
a209e10
Minor changes
jboddey Jul 21, 2024
b1f0227
check the device connection only before each test
hitnik Jul 25, 2024
ba18bfc
Adds tooltip (#638)
sofyakurilova Jul 26, 2024
b683f86
send testrun status using mqtt
hitnik Jul 29, 2024
3a2837d
remove duplicatied line
hitnik Jul 29, 2024
fbfb765
refactor setting remaining tests to error
hitnik Jul 29, 2024
b949db7
pylint
hitnik Jul 30, 2024
7d80f4c
Fix focus after profile delete - track by name (#640)
sofyakurilova Jul 30, 2024
b879d53
Update the requests dependency (#643)
jboddey Jul 30, 2024
3f8e4af
Merge branch 'dev' into feature/device_connected
jboddey Jul 31, 2024
93c3054
Revert "Expired profile (#619)" (#645)
sofyakurilova Jul 31, 2024
4eb604f
Improve documentation (#639)
jboddey Jul 31, 2024
6f29b6b
Text changes
sofyakurilova Jul 29, 2024
c0bf316
Fix text for the BE error
sofyakurilova Jul 31, 2024
a3936ee
Change tooltip (#650)
sofyakurilova Aug 1, 2024
2fc75c0
Allows draft profiles to become expired (#636)
jboddey Aug 1, 2024
f8299c8
Build UI during package instead of install (#621)
jboddey Aug 2, 2024
0c9627c
Feature/risk in selected (#654)
sofyakurilova Aug 2, 2024
5df7470
Show risk for each question in the Risk profile (#647)
hitnik Aug 2, 2024
3b7b337
Show internet connection (#653)
hitnik Aug 2, 2024
5be54da
Merge branch 'dev' into feature/device_connected
jboddey Aug 2, 2024
e803708
bug/modbus_constructor (#657)
jhughesoti Aug 4, 2024
9053f60
Use mqtt service instead of calling GET /status every 5 seconds. (#644)
sofyakurilova Aug 4, 2024
41b5e2d
Adds test statuses (#661)
sofyakurilova Aug 5, 2024
236c562
Ignore folders when loading certs (#660)
jboddey Aug 5, 2024
7ff6da5
Remove scorecard schedule and bump version (#659)
jboddey Aug 5, 2024
00a4d44
Allow ICMP response to DHCP messages in DHCP snooping test (#608)
jboddey Aug 6, 2024
d7c1e8b
The risk profile saved with old format is shown improperly while loa…
sofyakurilova Aug 7, 2024
9b06a7e
GAR : The alt text for the expired risk profile should be communicate…
sofyakurilova Aug 7, 2024
6a7349e
Merge branch 'dev' into feature/device_connected
hitnik Aug 8, 2024
c435c09
Update wording of tls cipher results (#671)
jhughesoti Aug 12, 2024
c38a561
Show error message if provided; show default message if no (#680)
sofyakurilova Aug 13, 2024
dedcc5d
Test install on supported operating systems (#675)
jboddey Aug 13, 2024
5aceedd
Remove recommendations on error (#674)
jboddey Aug 14, 2024
25e1d12
Tests for API (#649)
MariusBaldovin Aug 14, 2024
e40e5a9
Fix a delay in the internet connectivity check (#669)
jboddey Aug 14, 2024
a099599
Check if device folder already exists (#678)
jboddey Aug 14, 2024
cbab1f8
Remove debug mqtt logs (#692)
jboddey Aug 19, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 66 additions & 2 deletions .github/workflows/package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,13 @@ on:
push:
branches:
- 'dev'
- 'release/*'

permissions:
contents: read

jobs:
testrun_package:
create_package:
permissions: {}
name: Package
runs-on: ubuntu-22.04
Expand All @@ -24,4 +28,64 @@ jobs:
uses: actions/upload-artifact@694cdabd8bdb0f10b2cea11669e1bf5453eed0a6 # v4.2.0
with:
name: testrun_package
path: testrun*.deb
path: testrun*.deb

install_package_20:
permissions: {}
needs: create_package
name: Install on Ubuntu 20.04
runs-on: ubuntu-20.04
timeout-minutes: 15
steps:
- name: Checkout source
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Download package
uses: actions/download-artifact@v4
with:
name: testrun_package
- name: Install dependencies
shell: bash {0}
run: sudo cmd/prepare
- name: Install package
shell: bash {0}
run: sudo apt install ./testrun*.deb

install_package_22:
permissions: {}
needs: create_package
name: Install on Ubuntu 22.04
runs-on: ubuntu-22.04
timeout-minutes: 15
steps:
- name: Checkout source
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Download package
uses: actions/download-artifact@v4
with:
name: testrun_package
- name: Install dependencies
shell: bash {0}
run: sudo cmd/prepare
- name: Install package
shell: bash {0}
run: sudo apt install ./testrun*.deb

install_package_24:
permissions: {}
needs: create_package
name: Install on Ubuntu 24.04
runs-on: ubuntu-24.04
timeout-minutes: 15
steps:
- name: Checkout source
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Download package
uses: actions/download-artifact@v4
with:
name: testrun_package
- name: Install dependencies
shell: bash {0}
run: sudo cmd/prepare
- name: Install package
shell: bash {0}
run: sudo apt install ./testrun*.deb
6 changes: 1 addition & 5 deletions .github/workflows/scorecard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,6 @@ on:
# For Branch-Protection check. Only the default branch is supported. See
# https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection
branch_protection_rule:
# To guarantee Maintained check is occasionally updated. See
# https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained
schedule:
- cron: '20 6 * * 4'
push:
branches: [ "main" ]

Expand Down Expand Up @@ -70,4 +66,4 @@ jobs:
- name: "Upload to code-scanning"
uses: github/codeql-action/upload-sarif@1b1aada464948af03b950897e5eb522f92603cc2 # v3.24.9
with:
sarif_file: results.sarif
sarif_file: results.sarif
24 changes: 23 additions & 1 deletion .github/workflows/testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
run: cmd/prepare
- name: Install Testrun
shell: bash {0}
run: TESTRUN_DIR=. cmd/install
run: cmd/install -l
timeout-minutes: 30
- name: Run tests
shell: bash {0}
Expand All @@ -55,6 +55,28 @@ jobs:
name: runtime_api_${{ github.run_id }}
path: runtime.tgz

testrun_unit:
permissions: {}
name: Unit
runs-on: ubuntu-20.04
timeout-minutes: 15
steps:
- name: Checkout source
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Install dependencies
shell: bash {0}
run: cmd/prepare
- name: Install Testrun
shell: bash {0}
run: cmd/install -l
- name: Build Testrun
shell: bash {0}
run: cmd/build
timeout-minutes: 10
- name: Run tests
shell: bash {0}
run: bash testing/unit/run.sh

pylint:
permissions: {}
name: Pylint
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,15 @@ build/

# Ignore generated files from unit tests
testing/unit_test/temp/
testing/unit/conn/output/
testing/unit/dns/output/
testing/unit/nmap/output/
testing/unit/ntp/output/
testing/unit/tls/output/
testing/unit/tls/tmp/
testing/unit/report/output/
testing/unit/risk_profile/output/
testing/unit/services/output/

*.deb
make/DEBIAN/postinst
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ When manual testing or configuration changes are required, Testrun will provide
- DHCP client - The device must be able to obtain an IP address via DHCP

## Get started ▶️
Once you have met the hardware and software requirements, you can get started with Testrun by following the [Get started guide](docs/get_started.md).
Once you have met the hardware and software requirements, you can get started with Testrun by following the [Get started guide](docs/get_started.md). Further docs are available in the [docs directory](docs)

## Roadmap :chart_with_upwards_trend:
Testrun will constantly evolve to further support end-users by automating device network behaviour against industry standards. For further information on upcoming features, check out the [Roadmap](docs/roadmap.pdf).
Expand All @@ -59,7 +59,7 @@ We are proud of our tool and strive to provide an enjoyable experience for all o
If the application has come across a problem at any point during setup or use, please raise an issue under the [issues tab](https://github.com/google/testrun/issues). Issue templates exist for both bug reports and feature requests. If neither of these are appropriate for your issue, raise a blank issue instead.

## Contributing :keyboard:
The contributing requirements can be found in [CONTRIBUTING.md](CONTRIBUTING.md). In short, checkout the [Google CLA](https://cla.developers.google.com/) site to get started.
The contributing requirements can be found in [CONTRIBUTING.md](CONTRIBUTING.md). In short, checkout the [Google CLA](https://cla.developers.google.com/) site to get started. After that, check out our [developer documentation](docs/dev/README.md).

## FAQ :raising_hand:
1) I have an issue whilst installing/upgrading Testrun, what do I do?
Expand Down
19 changes: 16 additions & 3 deletions cmd/build
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,28 @@ fi
# Builds all docker images
echo Building docker images

# Build user interface
echo Building user interface
if docker build -t test-run/ui -f modules/ui/ui.Dockerfile . ; then
# Check if UI has already been built (if -l was used during install)
if [ ! -d "modules/ui/dist" ]; then
cmd/build_ui
fi

# Build UI image
if docker build -t testrun/ui -f modules/ui/ui.Dockerfile . ; then
echo Successully built the user interface
else
echo An error occured whilst building the user interface
exit 1
fi

# Build websockets server
echo Building websockets server
if docker build -t testrun/ws -f modules/ws/ws.Dockerfile . ; then
echo Successully built the web sockets server
else
echo An error occured whilst building the websockets server
exit 1
fi

# Build network modules
echo Building network modules
mkdir -p build/network
Expand Down
37 changes: 37 additions & 0 deletions cmd/build_ui
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#!/bin/bash -e

# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Build the UI
echo Building the ui builder

# Build UI builder image
if docker build -t testrun/build-ui -f modules/ui/build.Dockerfile . ; then
echo Successully built the ui builder
else
echo An error occured whilst building the ui builder
exit 1
fi

# Check that the container is not already running
docker kill tr-ui-build 2> /dev/null || true

echo "Building the user interface"

# Start build container and build the ui dist
docker run --rm -v $PWD/modules/ui:/modules/ui testrun/build-ui /bin/sh -c "npm install && npm run build"

# Kill the container (Should not be running anymore)
docker kill tr-ui-build 2> /dev/null || true
18 changes: 16 additions & 2 deletions cmd/install
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,29 @@ echo Installing application dependencies
while getopts ":l" option; do
case $option in
l) # Install Testrun in local directory
TESTRUN_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")"/.. && pwd)
TESTRUN_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")"/.. && pwd)
esac
done

# Check if TESTRUN_DIR has been set, otherwise install in /usr/local/testrun
if [[ -z "${TESTRUN_DIR}" ]]; then
TESTRUN_DIR=/usr/local/testrun

# Check that user is sudo
if [[ "$EUID" -ne 0 ]]; then
echo "Installing Testrun in the default location requires sudo. Run using sudo cmd/install"
exit 1
fi

else
TESTRUN_DIR="${TESTRUN_DIR}"

# Check that user is in docker group
if ! (id -nGz "$USER" | grep -qzxF "docker"); then
echo User is not in docker group. Follow https://docs.docker.com/engine/install/linux-postinstall/ to finish setting up docker.
exit 1
fi

fi

echo Installing Testrun at $TESTRUN_DIR
Expand All @@ -51,7 +65,7 @@ cp -n local/system.json.example local/system.json
deactivate

# Build docker images
sudo cmd/build
cmd/build

# Create local folders
mkdir -p local/devices
Expand Down
13 changes: 11 additions & 2 deletions cmd/package
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,12 @@

# Creates a package for Testrun

# Check that user is not root
if [[ "$EUID" == 0 ]]; then
echo "Must not run as root. Use cmd/package as regular user"
exit 1
fi

MAKE_SRC_DIR=make
MAKE_CONTROL_DIR=make/DEBIAN/control

Expand All @@ -25,10 +31,10 @@ version=$(grep -R "Version: " $MAKE_CONTROL_DIR | awk '{print $2}')
# Replace invalid characters
version="${version//./_}"

# Delete existing make files
rm -rf $MAKE_SRC_DIR/usr
echo Building package for testrun v${version}

# Delete existing make files
echo Cleaning up previous build files
rm -rf $MAKE_SRC_DIR/usr

# Copy testrun script to /bin
Expand Down Expand Up @@ -60,6 +66,9 @@ mkdir -p $MAKE_SRC_DIR/usr/local/testrun/local/risk_profiles
mkdir -p local/root_certs
cp -r local/root_certs $MAKE_SRC_DIR/usr/local/testrun/local/

# Build the UI
cmd/build_ui

# Copy framework and modules into testrun folder
cp -r {framework,modules} $MAKE_SRC_DIR/usr/local/testrun

Expand Down
3 changes: 3 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,6 @@
- [Running on a virtual machine](virtual_machine.md)
- [Accessibility](ui/accessibility.mp4)
- [Roadmap](roadmap.pdf)

## Something missing?
If you feel there is some documentation that you would find useful, or have found an issue with existing documentation, please raise an issue on GitHub by navigating [here](https://github.com/google/testrun/issues/new/choose)
25 changes: 25 additions & 0 deletions docs/dev/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<img width="200" alt="Testrun logo" src="https://user-images.githubusercontent.com/7399056/221927867-4190a4e8-a571-4e40-9c2b-65780ad9264c.png" alt="Testrun">

## Developer docs

## Table of Contents
1) General guidelines (this page)
2) [Code quality](code_quality.md)

## General guidelines
As an open source project, we absolutely encourage contributions from the community to help Testrun remain an expanding but stable product. However, before contributing there are a number of things to take into consideration.

1) [Sign the Google CLA](https://cla.developers.google.com/): Whether you are an individual or contributing on behalf of your organisation, you must be covered by a Google CLA.

2) Determine the scope of your contribution

- Your contribution is more likely to be accepted if fewer files are changed (keep it simple)
- Are you going to be fixing a bug, dependency issue or a new framework capability? Whatever it is, ensure your pull request fixes or changes just one thing.

3) Get in touch to discuss whether your proposed changes are likely to be accepted

- It is best to get the opinion from the core maintainers whether your proposed changes meet our objectives and align with Testrun principles.

4) Fork Testrun and get developing

- We aim to provide thorough and easy to ready developer documentation to help you contribute successfully.
16 changes: 16 additions & 0 deletions docs/dev/code_quality.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<img width="200" alt="Testrun logo" src="https://user-images.githubusercontent.com/7399056/221927867-4190a4e8-a571-4e40-9c2b-65780ad9264c.png" alt="Testrun">

## Code quality

Whilst developing code for Testrun, there are some style guides that you should follow.

- Python: https://google.github.io/styleguide/pyguide.html
- Angular: https://google.github.io/styleguide/angularjs-google-style.html
- Shell: https://google.github.io/styleguide/shellguide.html
- HTML/CSS: https://google.github.io/styleguide/htmlcssguide.html
- JSON: https://google.github.io/styleguide/jsoncstyleguide.xml
- Markdown: https://google.github.io/styleguide/docguide/style.html

### Automated actions

The current code base has been able to achieve 0 code lint issues. To maintain this, all lint checks are enforced on pull requests to dev and main. Please ensure that these lint checks are passing before marking your pull requests as 'Ready for review'.
3 changes: 1 addition & 2 deletions docs/network/README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
<img width="200" alt="Testrun logo" src="https://user-images.githubusercontent.com/7399056/221927867-4190a4e8-a571-4e40-9c2b-65780ad9264c.png" alt="Testrun">


## Network Overview

## Table of Contents
1) Network Overview (this page)
1) Network overview (this page)
2) [How to identify network interfaces](identify_interfaces.md)
3) [Addresses](addresses.md)
4) [Add a new network service](add_new_service.md)
Expand Down
2 changes: 1 addition & 1 deletion docs/network/add_new_service.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ COPY $MODULE_DIR/bin /testrun/bin
# Copy over all python files
COPY $MODULE_DIR/python /testrun/python

# Do not specify a CMD or Entrypoint as Test Run will automatically start your service as required
# Do not specify a CMD or Entrypoint as Testrun will automatically start your service as required
```

### Example of start_network_service script
Expand Down
Loading