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

End-to-end Testing - UI Configuration #8163

Open
wants to merge 91 commits into
base: devel
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
ae34062
initial commit
satkunas Nov 1, 2023
78f1725
working resources
satkunas Nov 3, 2023
7b94531
rename
satkunas Nov 3, 2023
94d6dcb
cleanup
satkunas Nov 3, 2023
e63a901
working collections
satkunas Nov 9, 2023
2990d79
add realms
satkunas Nov 10, 2023
a90a24f
adjust async
satkunas Nov 10, 2023
3c3310f
working collection CRUD
satkunas Nov 22, 2023
d92d6f0
add decorations
satkunas Nov 23, 2023
2c79d74
fix CRUD
satkunas Nov 23, 2023
5bbc302
cleanup
satkunas Nov 23, 2023
45cbe6b
add decorations
satkunas Nov 24, 2023
b0f4f03
add sources
satkunas Nov 24, 2023
047646d
fix sources
satkunas Nov 27, 2023
80fbe81
add scan engines
satkunas Nov 27, 2023
8e22929
add clouds
satkunas Nov 27, 2023
b22328c
add firewalls
satkunas Nov 27, 2023
2d88462
add syslog parsers
satkunas Nov 27, 2023
fdf22bc
add event loggers
satkunas Nov 27, 2023
6b59aa8
add mfas
satkunas Nov 27, 2023
f79090c
add pki providers
satkunas Nov 27, 2023
03116ad
reuse session between tests
satkunas Nov 28, 2023
023e813
upscale results resolution
satkunas Nov 29, 2023
b3ad37f
add provisioning
satkunas Nov 29, 2023
bc31456
adjust timeouts
satkunas Dec 8, 2023
56c4198
add runtime fixtures to iterate static collections
satkunas Dec 8, 2023
d40dfa8
fixes
satkunas Dec 8, 2023
0b1d286
add maintenance tasks
satkunas Dec 8, 2023
9dc87a1
add node-fetch@2
satkunas Dec 8, 2023
54b86f7
add switch groups
satkunas Dec 8, 2023
8be83e0
add connection profiles, improve form entry
satkunas Dec 8, 2023
c2f89f3
add billing tiers, add form remap function
satkunas Dec 8, 2023
7fa391a
add security events, allow identifier to be undefined in fixture usin…
satkunas Dec 11, 2023
03d12ba
add required fields
satkunas Dec 11, 2023
272af16
add connectors
satkunas Dec 11, 2023
252e001
add radius profiles and SSL certs
satkunas Dec 12, 2023
8e70df9
add wrix locations
satkunas Dec 12, 2023
8a747c2
add switch templates
satkunas Dec 12, 2023
04d022b
add network behavior policies
satkunas Dec 12, 2023
3038a0d
add admin roles
satkunas Dec 13, 2023
e5ec2ce
add self services
satkunas Dec 13, 2023
5777e49
add required fields
satkunas Dec 13, 2023
e590768
add floating devices
satkunas Dec 13, 2023
1462514
add syslog forwarders
satkunas Dec 13, 2023
cb5663e
abstract pki base configuration
satkunas Dec 13, 2023
26bc905
add pki cas
satkunas Dec 13, 2023
5a691be
abstract fingerbank oses
satkunas Dec 14, 2023
da88ab9
add fingerbank combinations
satkunas Dec 14, 2023
9818983
add fingerbank devices
satkunas Dec 14, 2023
29d4ba6
add fingerbank DHCP fingerprints
satkunas Dec 14, 2023
ae136b4
add fingerbank DHCP vendors
satkunas Dec 14, 2023
4c3c6bf
add fingerbank DHCP6 fingerprints
satkunas Dec 14, 2023
63d1254
add fingerbank DHCP6 enterprises
satkunas Dec 14, 2023
6c38214
add fingerbank MAC vendors
satkunas Dec 14, 2023
13003c7
add fingerbank user agents
satkunas Dec 14, 2023
0302488
wait for tab to be visible
satkunas Dec 14, 2023
bc7dde0
increase timeout
satkunas Dec 14, 2023
0d0c1a9
flatten billingTiers fixture
satkunas Dec 14, 2023
e9dfa85
add scaling, allow bases and collections to be run in parallel using …
satkunas Dec 15, 2023
1e9c11f
cleanup
satkunas Dec 15, 2023
4996275
improve concurrency
satkunas Jan 5, 2024
5db7c77
rename existing scenario
satkunas Mar 7, 2024
fabb593
add new scenario
satkunas Mar 7, 2024
8596562
add missing scenario
satkunas Mar 8, 2024
1ad5269
add fs-extra
satkunas Mar 8, 2024
18219bd
readd fixture
satkunas Mar 18, 2024
2635499
swap params
satkunas Mar 18, 2024
6eac7fa
mix scenarios
satkunas Mar 19, 2024
ce46d5c
adjust timeouts
satkunas Mar 20, 2024
eb62fa3
add missing form field
satkunas Mar 20, 2024
49ee459
adjust tests
satkunas Mar 20, 2024
e36658a
add ad_fqdn to fixtures
satkunas Mar 25, 2024
4805a85
adjust timeouts
satkunas Mar 25, 2024
e860adb
make timeout global
satkunas Mar 26, 2024
366a51b
increase timeout
satkunas Mar 26, 2024
125404f
test ad_skip
satkunas Mar 27, 2024
fef2e96
increase request timeout
satkunas Mar 27, 2024
dafd197
expect request
satkunas Mar 27, 2024
e4400b7
fix variable naming
satkunas Mar 28, 2024
93d1223
cleanup
satkunas Apr 4, 2024
88a5975
fix domains
satkunas Apr 4, 2024
e382794
increase timeout
satkunas Apr 4, 2024
62ad0cf
increase browser timeout
satkunas Apr 5, 2024
b6afb7f
add broswer debug
satkunas Apr 10, 2024
eb5061a
libgl workaround
satkunas Apr 11, 2024
062dc13
add fs flags
satkunas Apr 12, 2024
a53eef6
expand path
satkunas Apr 12, 2024
8255c8b
fix typo
satkunas Apr 12, 2024
b7cf92c
writeJson
satkunas Apr 12, 2024
a337d41
increase debug
satkunas Apr 16, 2024
eeaab9e
adjust spacing
satkunas May 28, 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
42 changes: 38 additions & 4 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1196,15 +1196,31 @@ configurator_deb11:
- .test_script_job
- .test_devel_and_maintenance_rules

pfappserver_el8:
pfappserver_configurator_el8:
variables:
VAGRANT_PF_DOTFILE_PATH: /var/local/gitlab-runner/vagrant/vagrant-${CI_JOB_NAME}-${CI_JOB_ID}
extends:
- .test_job
- .test_script_job
- .test_devel_and_maintenance_rules

pfappserver_deb11:
pfappserver_configurator_deb11:
variables:
VAGRANT_PF_DOTFILE_PATH: /var/local/gitlab-runner/vagrant/vagrant-${CI_JOB_NAME}-${CI_JOB_ID}
extends:
- .test_job
- .test_script_job
- .test_devel_and_maintenance_rules

pfappserver_configuration_el8:
variables:
VAGRANT_PF_DOTFILE_PATH: /var/local/gitlab-runner/vagrant/vagrant-${CI_JOB_NAME}-${CI_JOB_ID}
extends:
- .test_job
- .test_script_job
- .test_devel_and_maintenance_rules

pfappserver_configuration_deb11:
variables:
VAGRANT_PF_DOTFILE_PATH: /var/local/gitlab-runner/vagrant/vagrant-${CI_JOB_NAME}-${CI_JOB_ID}
extends:
Expand Down Expand Up @@ -1361,7 +1377,25 @@ configurator_deb11_branches:
- .test_script_job
- .test_branches_only_rules

pfappserver_el8_branches:
pfappserver_configurator_el8_branches:
variables:
VAGRANT_PF_DOTFILE_PATH: /var/local/gitlab-runner/vagrant/vagrant-${CI_JOB_NAME}-${CI_JOB_ID}
VAGRANT_COMMON_DOTFILE_PATH: /var/local/gitlab-runner/vagrant/vagrant-common-devel
extends:
- .test_job
- .test_script_job
- .test_branches_only_rules

pfappserver_configurator_deb11_branches:
variables:
VAGRANT_PF_DOTFILE_PATH: /var/local/gitlab-runner/vagrant/vagrant-${CI_JOB_NAME}-${CI_JOB_ID}
VAGRANT_COMMON_DOTFILE_PATH: /var/local/gitlab-runner/vagrant/vagrant-common-devel
extends:
- .test_job
- .test_script_job
- .test_branches_only_rules

pfappserver_configuration_el8_branches:
variables:
VAGRANT_PF_DOTFILE_PATH: /var/local/gitlab-runner/vagrant/vagrant-${CI_JOB_NAME}-${CI_JOB_ID}
VAGRANT_COMMON_DOTFILE_PATH: /var/local/gitlab-runner/vagrant/vagrant-common-devel
Expand All @@ -1370,7 +1404,7 @@ pfappserver_el8_branches:
- .test_script_job
- .test_branches_only_rules

pfappserver_deb11_branches:
pfappserver_configuration_deb11_branches:
variables:
VAGRANT_PF_DOTFILE_PATH: /var/local/gitlab-runner/vagrant/vagrant-${CI_JOB_NAME}-${CI_JOB_ID}
VAGRANT_COMMON_DOTFILE_PATH: /var/local/gitlab-runner/vagrant/vagrant-common-devel
Expand Down
19 changes: 11 additions & 8 deletions html/pfappserver/root/src/App.vue
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,9 @@
<b-form-text v-t="'Server Hostname'"/> {{ hostname }}
</div>
</app-documentation>
<router-view/>
</b-container>
<!-- Router -->
<router-view data-router-view="true" class="px-3" />
<!-- Show login if session expires -->
<app-login modal />
<!-- Show notifications late in DOM for z-index above b-modal -->
Expand Down Expand Up @@ -192,44 +193,46 @@ const setup = (props, context) => {
})
}, { immediate: true })

const CatchNavigationDuplicated = e => { if (e.name !== "NavigationDuplicated") throw e }

useEvent('keydown', e => {
const { altKey = false, shiftKey = false, keyCode = false } = e
if (altKey && shiftKey) {
switch (true) {
case keyCode === 65 && canRoute('/auditing'): // A
e.preventDefault()
$router.push('/auditing')
.catch(e => { if (e.name !== "NavigationDuplicated") throw e })
.catch(CatchNavigationDuplicated)
break
case keyCode === 67 && canRoute('/configuration'): // C
e.preventDefault()
$router.push('/configuration')
.catch(e => { if (e.name !== "NavigationDuplicated") throw e })
.catch(CatchNavigationDuplicated)
break
case keyCode === 72: // H
e.preventDefault()
$store.dispatch('documentation/toggleViewer')
.catch(e => { if (e.name !== "NavigationDuplicated") throw e })
.catch(CatchNavigationDuplicated)
break
case keyCode === 78 && canRoute('/nodes'): // N
e.preventDefault()
$router.push('/nodes')
.catch(e => { if (e.name !== "NavigationDuplicated") throw e })
.catch(CatchNavigationDuplicated)
break
case keyCode === 82 && canRoute('/reports'): // R
e.preventDefault()
$router.push('/reports')
.catch(e => { if (e.name !== "NavigationDuplicated") throw e })
.catch(CatchNavigationDuplicated)
break
case keyCode === 83 && canRoute('/status'): // S
e.preventDefault()
$router.push('/status')
.catch(e => { if (e.name !== "NavigationDuplicated") throw e })
.catch(CatchNavigationDuplicated)
break
case keyCode === 85 && canRoute('/users'): // U
e.preventDefault()
$router.push('/users')
.catch(e => { if (e.name !== "NavigationDuplicated") throw e })
.catch(CatchNavigationDuplicated)
break
default:
break
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
<b-button v-if="interrupt"
type="button"
variant="danger"
:data-confirm="confirm"
@click="onClick($event)"
@mousemove="startInterrupt($event)"
@mouseover="startInterrupt($event)"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
'size-lg': size === 'lg'
}"
:data-namespace="namespace"
:data-chosen="true"

:value="inputValue"
:placeholder="inputPlaceholder"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
:valid-feedback="inputValidFeedback"
>
<base-input-switch :disabled="isLocked"
:data-namespace="namespace"
:size="size"
:onChange="onChange"
:value="inputValue"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
>
<b-form-textarea ref="input"
class="base-form-input"
:data-namespace="namespace"
:disabled="isLocked"
:readonly="inputReadonly"
:state="inputState"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
'size-lg': size === 'lg'
}"
:data-namespace="namespace"
:data-chosen="true"

:value="inputValue"
:placeholder="inputPlaceholder"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
</span>
</div>
<input type="range" ref="input"
v-bind="$attrs"
:tabIndex="tabIndex"
:value="rangeValue"
:step="1"
Expand Down
13 changes: 13 additions & 0 deletions html/pfappserver/root/src/globals/fingerbank.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
export const oses = { // uses natural order
33507: 'Windows Phone OS',
2: 'Mac OS X or macOS',
33453: 'Android OS',
1: 'Windows OS',
33471: 'BlackBerry OS',
33450: 'iOS',
5: 'Linux OS'
}

export default {
oses
}
74 changes: 74 additions & 0 deletions html/pfappserver/root/src/globals/pki.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
export const digests = {
0: 'UnknownSignatureAlgorithm',
1: 'MD2WithRSA',
2: 'MD5WithRSA',
3: 'SHA1WithRSA',
4: 'SHA256WithRSA',
5: 'SHA384WithRSA',
6: 'SHA512WithRSA',
7: 'DSAWithSHA1',
8: 'DSAWithSHA256',
9: 'ECDSAWithSHA1',
10: 'ECDSAWithSHA256',
11: 'ECDSAWithSHA384',
12: 'ECDSAWithSHA512',
13: 'SHA256WithRSAPSS',
14: 'SHA384WithRSAPSS',
15: 'SHA512WithRSAPSS',
16: 'PureEd25519'
}

export const keyTypes = {
0: ['KEY_ECDSA', [256, 384, 521]],
1: ['KEY_RSA', [2048, 4096]],
2: ['KEY_DSA', [1024, 2048, 3071]]
}

export const keyUsages = {
1: 'DigitalSignature',
2: 'ContentCommitment',
4: 'KeyEncipherment',
8: 'DataEncipherment',
16: 'KeyAgreement',
32: 'CertSign',
64: 'CRLSign',
128: 'EncipherOnly',
256: 'DecipherOnly'
}

export const extendedKeyUsages = {
0: 'Any',
1: 'ServerAuth',
2: 'ClientAuth',
3: 'CodeSigning',
4: 'EmailProtection',
5: 'IPSECEndSystem',
6: 'IPSECTunnel',
7: 'IPSECUser',
8: 'TimeStamping',
9: 'OCSPSigning',
10: 'MicrosoftServerGatedCrypto',
11: 'NetscapeServerGatedCrypto',
12: 'MicrosoftCommercialCodeSigning',
13: 'MicrosoftKernelCodeSigning'
}

export const revokeReasons = {
0: 'Unspecified',
1: 'KeyCompromise',
2: 'CACompromise',
3: 'AffiliationChanged',
4: 'Superseded',
5: 'CessationOfOperation',
6: 'CertificateHold',
8: 'RemoveFromCRL',
9: 'PrivilegeWithdrawn',
10: 'AACompromise'
}

export default {
digests,
keyUsages,
extendedKeyUsages,
revokeReasons
}
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { oses } from '@/globals/fingerbank'
import { BaseFormGroupChosenMultipleSearchable, BaseFormGroupChosenMultipleSearchableProps } from '@/components/new/'

export const props = {
Expand All @@ -6,15 +7,7 @@ export const props = {
// overload :options default
options: {
type: Array,
default: () => ([
{ text: 'Windows Phone OS', value: '33507' },
{ text: 'Mac OS X or macOS', value: '2' },
{ text: 'Android OS', value: '33453' },
{ text: 'Windows OS', value: '1' },
{ text: 'BlackBerry OS', value: '33471' },
{ text: 'iOS', value: '33450' },
{ text: 'Linux OS', value: '5' }
])
default: () => Object.entries(oses).map(([value, text]) => ({ text, value }))
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,14 @@ export default (props) => {
.nullable()
.required(i18n.t('Billing Tier required.'))
.billingTierIdentifierNotExistsExcept((!isNew && !isClone) ? id : undefined, i18n.t('Billing Tier exists.')),
name: yup.string().nullable().label(i18n.t('Name')),
description: yup.string().nullable().label(i18n.t('Description')),
name: yup.string().nullable().label(i18n.t('Name'))
.required(i18n.t('Name required.')),
description: yup.string().nullable().label(i18n.t('Description'))
.required(i18n.t('Description required.')),
price: yup.string().nullable().label(i18n.t('Price'))
.isPrice(i18n.t('Invalid price.')),
.isPrice(i18n.t('Invalid price.'))
.required(i18n.t('Price required.')),
role: yup.string().nullable().label(i18n.t('Role'))
.required(i18n.t('Role required.'))
})
}
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ const setup = (props, context) => {
}
}
}
return undefined
return BaseInput
})

const matchOptions = ref([])
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,10 @@ export default (props) => {
.nullable()
.required(i18n.t('Connector ID required.'))
.connectorIdentifierNotExistsExcept((!isNew && !isClone) ? id : undefined, i18n.t('Connector ID exists.')),
description: yup.string().nullable().label(i18n.t('Description')),
networks: schemaNetworks
description: yup.string().nullable().label(i18n.t('Description'))
.required(i18n.t('Description required.')),
networks: schemaNetworks,
secret: yup.string().nullable().label(i18n.t('Secret'))
.required(i18n.t('Secret required.'))
})
}
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@ export default (props) => {
.isMAC(i18n.t('Invalid MAC address.'))
.floatingDeviceIdentifierNotExistsExcept((!isNew && !isClone) ? id : undefined, i18n.t('MAC Address exists.')),
ip: yup.string().nullable().label('IP'),
pvid: yup.string().nullable().label('VLAN'),
pvid: yup.string().nullable().label('VLAN')
.required(i18n.t('VLAN required.')),
taggedVlan: yup.string().nullable().label('VLAN')
})
}
Loading
Loading