Untitled

 avatar
unknown
plain_text
a year ago
102 kB
6
Indexable
import 'cypress-localstorage-commands'
import { LF } from '../../support/whatnot'
import { reset_window, configure_common, configure_main, configure_custom, configure_oauth2, configure_dss, checkYAML } from '../../support/pages/batch-ing/rest'


const MAIN_MTLS =   { SHORT: { auth: 'mtls' } }
const MAIN_OAUTH2 = { SHORT: { auth: 'oauth2' } }
const DS_R_PAG = { SHORT: {} }
const DS_R_AUTH = { SHORT: { cid: 'fwcy-ds-cid', client_secret: '\${{}fwcy-ds-client-secret}', grant_type: 'fwcy-ds-grant-type', rid: 'network_node_registration', tkn_url: 'https://fwcy-ds.com' } }
const DS_R = { SHORT: { method: 'GET', body_key: 'fwcy_ds_rbk', body: 'fwcy-ds-bs', th_lim: 1000, pag: DS_R_PAG.SHORT } }  // .TODO: drop method, body_key, body, throttling_limit as they are not required.
const DS_R_EXT = { SHORT: { method: 'GET', body_key: 'fwcy_ds_rbk', body: 'fwcy-ds-bs', th_lim: 1000, pag: DS_R_PAG.SHORT, req_timeout: 100, retries_cnt: 10, retry_timeout: 10000, auth: DS_R_AUTH.SHORT } }  // 'OAuth2' auth method variant (extended). TODO: drop method, body_key, body, throttling_limit as they are not required.
const DS_DEP = { SHORT: { m: 31, h: 21, d: 11, mon: 'January',  wd: 'Monday' } }  // TODO: drop m, h, d, mon, wd as they are not required.
const DS_ING = { SHORT: { } }
const DS_MTLS = { SHORT: { response_type: 'Map' } }
const DS_OAUTH2 = { SHORT: { query_params: [ 'deviceid' ] } }

function ll__dss_req_pag_pag_lim__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R.SHORT, pag: { ...DS_R_PAG.SHORT, lim: 0 } }
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the limit value.
    cy.create()
    cy.switchEnv('DEV')
    cy.dropdown({ select: 'fwcy-dc_fwcy-ds', from : 'Select Batch Ingestion Config' })
    cy.checkYAML((raw, conf) => { expect(conf['source']['rest']['requests'][0]['pagination-properties']['limit']).to.equal(0) })
}

function hl__dss_req_pag_pag_lim__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R.SHORT, pag: { ...DS_R_PAG.SHORT, lim: '9223372036854775807' } }
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the limit value.
    cy.create()
    cy.switchEnv('DEV')
    cy.dropdown({ select: 'fwcy-dc_fwcy-ds', from : 'Select Batch Ingestion Config' })
    cy.checkYAML((raw, conf) => { expect(conf['source']['rest']['requests'][0]['pagination-properties']['limit'].toString()).to.equal('9223372036854775807') })
}

function ll__dss_req_pag_page_start__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R.SHORT, pag: { ...DS_R_PAG.SHORT, start: 1 } }
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the limit value.
    cy.create()
    cy.switchEnv('DEV')
    cy.dropdown({ select: 'fwcy-dc_fwcy-ds', from : 'Select Batch Ingestion Config' })
    cy.checkYAML((raw, conf) => { expect(conf['source']['rest']['requests'][0]['pagination-properties']['page-start']).to.equal(1) })
}

function hl__dss_req_pag_page_start__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R.SHORT, pag: { ...DS_R_PAG.SHORT, start: '9223372036854775807' } }
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the limit value.
    cy.create()
    cy.switchEnv('DEV')
    cy.dropdown({ select: 'fwcy-dc_fwcy-ds', from : 'Select Batch Ingestion Config' })
    cy.checkYAML((raw, conf) => { expect(conf['source']['rest']['requests'][0]['pagination-properties']['page-start'].toString()).to.equal('9223372036854775807') })
}

function ll__dss_req_th_req_th_lim__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R.SHORT, th_lim: 0 }
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the limit value.
    cy.create()
    cy.switchEnv('DEV')
    cy.dropdown({ select: 'fwcy-dc_fwcy-ds', from : 'Select Batch Ingestion Config' })
    cy.checkYAML((raw, conf) => { expect(conf['source']['rest']['requests'][0]['request-throttling']['request-limit']).to.equal(0) })
}

function hl__dss_req_th_req_th_lim__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R.SHORT, th_lim: '9223372036854775807' }
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the limit value.
    cy.create()
    cy.switchEnv('DEV')
    cy.dropdown({ select: 'fwcy-dc_fwcy-ds', from : 'Select Batch Ingestion Config' })
    cy.checkYAML((raw, conf) => { expect(conf['source']['rest']['requests'][0]['request-throttling']['request-limit'].toString()).to.equal('9223372036854775807') })
}

function ll__dss_req_th_sleep_duration_ms__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R.SHORT, sleep_duration: 0 }
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the limit value.
    cy.create()
    cy.switchEnv('DEV')
    cy.dropdown({ select: 'fwcy-dc_fwcy-ds', from : 'Select Batch Ingestion Config' })
    cy.checkYAML((raw, conf) => { expect(conf['source']['rest']['requests'][0]['request-throttling']['sleep-duration-in-milliseconds']).to.equal(0) })
}

function hl__dss_req_th_sleep_duration_ms__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R.SHORT, sleep_duration: '9223372036854775807' }
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the limit value.
    cy.create()
    cy.switchEnv('DEV')
    cy.dropdown({ select: 'fwcy-dc_fwcy-ds', from : 'Select Batch Ingestion Config' })
    cy.checkYAML((raw, conf) => { expect(conf['source']['rest']['requests'][0]['request-throttling']['sleep-duration-in-milliseconds'].toString()).to.equal('9223372036854775807') })
}

function ll__dss_req_req_timeout__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_OAUTH2.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R_EXT.SHORT, req_timeout: 0 }
    configure_dss({ 'fwcy-ds': { ...DS_OAUTH2.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the limit value.
    cy.create()
    cy.switchEnv('DEV')
    cy.dropdown({ select: 'fwcy-dc_fwcy-ds', from : 'Select Batch Ingestion Config' })
    cy.checkYAML((raw, conf) => { expect(conf['source']['rest']['requests'][0]['request-timeout']).to.equal(0) })
}

function hl__dss_req_req_timeout__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_OAUTH2.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R_EXT.SHORT, req_timeout: '9223372036854775807' }
    configure_dss({ 'fwcy-ds': { ...DS_OAUTH2.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the limit value.
    cy.create()
    cy.switchEnv('DEV')
    cy.dropdown({ select: 'fwcy-dc_fwcy-ds', from : 'Select Batch Ingestion Config' })
    cy.checkYAML((raw, conf) => { expect(conf['source']['rest']['requests'][0]['request-timeout'].toString()).to.equal('9223372036854775807') })
}

function ll__dss_req_retries_cnt__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_OAUTH2.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R_EXT.SHORT, retries_cnt: 0 }
    configure_dss({ 'fwcy-ds': { ...DS_OAUTH2.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the limit value.
    cy.create()
    cy.switchEnv('DEV')
    cy.dropdown({ select: 'fwcy-dc_fwcy-ds', from : 'Select Batch Ingestion Config' })
    cy.checkYAML((raw, conf) => { expect(conf['source']['rest']['requests'][0]['retries-count']).to.equal(0) })
}

function hl__dss_req_retries_cnt__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_OAUTH2.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R_EXT.SHORT, retries_cnt: '9223372036854775807' }
    configure_dss({ 'fwcy-ds': { ...DS_OAUTH2.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the limit value.
    cy.create()
    cy.switchEnv('DEV')
    cy.dropdown({ select: 'fwcy-dc_fwcy-ds', from : 'Select Batch Ingestion Config' })
    cy.checkYAML((raw, conf) => { expect(conf['source']['rest']['requests'][0]['retries-count'].toString()).to.equal('9223372036854775807') })
}

function ll__dss_req_retry_timeout__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_OAUTH2.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R_EXT.SHORT, retry_timeout: 0 }
    configure_dss({ 'fwcy-ds': { ...DS_OAUTH2.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the limit value.
    cy.create()
    cy.switchEnv('DEV')
    cy.dropdown({ select: 'fwcy-dc_fwcy-ds', from : 'Select Batch Ingestion Config' })
    cy.checkYAML((raw, conf) => { expect(conf['source']['rest']['requests'][0]['retry-timeout']).to.equal(0) })
}

function hl__dss_req_retry_timeout__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_OAUTH2.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R_EXT.SHORT, retry_timeout: '9223372036854775807' }
    configure_dss({ 'fwcy-ds': { ...DS_OAUTH2.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the limit value.
    cy.create()
    cy.switchEnv('DEV')
    cy.dropdown({ select: 'fwcy-dc_fwcy-ds', from : 'Select Batch Ingestion Config' })
    cy.checkYAML((raw, conf) => { expect(conf['source']['rest']['requests'][0]['retry-timeout'].toString()).to.equal('9223372036854775807') })
}

function ll__dss_dep_jads__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: { ...DS_DEP.SHORT, jads: 0 }, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the limit value.
    cy.create()
    cy.switchEnv('DEV')
    cy.dropdown({ select: 'fwcy-dc_fwcy-ds', from : 'Select Batch Ingestion Config' })
    cy.checkYAML((raw, conf) => { expect(conf['deploy']['job-active-deadline-seconds']).to.equal(0) })
}

function hl__dss_dep_jads__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: { ...DS_DEP.SHORT, jads: '9223372036854775807' }, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the limit value.
    cy.create()
    cy.switchEnv('DEV')
    cy.dropdown({ select: 'fwcy-dc_fwcy-ds', from : 'Select Batch Ingestion Config' })
    cy.checkYAML((raw, conf) => { expect(conf['deploy']['job-active-deadline-seconds'].toString()).to.equal('9223372036854775807') })
}

function ll__dss_dep_k8s_cpu__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: { ...DS_DEP.SHORT, k8s_cpu: 1 }, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the limit value.
    cy.create()
    cy.switchEnv('DEV')
    cy.dropdown({ select: 'fwcy-dc_fwcy-ds', from : 'Select Batch Ingestion Config' })
    cy.checkYAML((raw, conf) => { expect(conf['deploy']['k8s-resource-cpu']).to.equal(1) })
}

function hl__dss_dep_k8s_cpu__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: { ...DS_DEP.SHORT, k8s_cpu: '9223372036854775807' }, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the limit value.
    cy.create()
    cy.switchEnv('DEV')
    cy.dropdown({ select: 'fwcy-dc_fwcy-ds', from : 'Select Batch Ingestion Config' })
    cy.checkYAML((raw, conf) => { expect(conf['deploy']['k8s-resource-cpu'].toString()).to.equal('9223372036854775807') })
}

function ll__dss_dep_k8s_ram__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: { ...DS_DEP.SHORT, k8s_ram: '1Gi' }, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the limit value.
    cy.create()
    cy.switchEnv('DEV')
    cy.dropdown({ select: 'fwcy-dc_fwcy-ds', from : 'Select Batch Ingestion Config' })
    cy.checkYAML((raw, conf) => { expect(conf['deploy']['k8s-resource-memory']).to.equal('1Gi') })
}

function hl__dss_dep_k8s_ram__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: { ...DS_DEP.SHORT, k8s_ram: '32Gi' }, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the limit value.
    cy.create()
    cy.switchEnv('DEV')
    cy.dropdown({ select: 'fwcy-dc_fwcy-ds', from : 'Select Batch Ingestion Config' })
    cy.checkYAML((raw, conf) => { expect(conf['deploy']['k8s-resource-memory']).to.equal('32Gi') })
}

function ll__dss_dep_m__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: { ...DS_DEP.SHORT, m: 0 }, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the limit value.
    cy.create()
    cy.switchEnv('DEV')
    cy.dropdown({ select: 'fwcy-dc_fwcy-ds', from : 'Select Batch Ingestion Config' })
    cy.checkYAML((raw, conf) => { expect(conf['deploy']['job-schedule']).to.equal('0 21 11 1 1') })
}

function hl__dss_dep_m__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: { ...DS_DEP.SHORT, m: 59 }, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the limit value.
    cy.create()
    cy.switchEnv('DEV')
    cy.dropdown({ select: 'fwcy-dc_fwcy-ds', from : 'Select Batch Ingestion Config' })
    cy.checkYAML((raw, conf) => { expect(conf['deploy']['job-schedule']).to.equal('59 21 11 1 1') })
}

function ll__dss_dep_h__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: { ...DS_DEP.SHORT, h: 0 }, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the limit value.
    cy.create()
    cy.switchEnv('DEV')
    cy.dropdown({ select: 'fwcy-dc_fwcy-ds', from : 'Select Batch Ingestion Config' })
    cy.checkYAML((raw, conf) => { expect(conf['deploy']['job-schedule']).to.equal('31 0 11 1 1') })
}

function hl__dss_dep_h__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: { ...DS_DEP.SHORT, h: 23 }, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the limit value.
    cy.create()
    cy.switchEnv('DEV')
    cy.dropdown({ select: 'fwcy-dc_fwcy-ds', from : 'Select Batch Ingestion Config' })
    cy.checkYAML((raw, conf) => { expect(conf['deploy']['job-schedule']).to.equal('31 23 11 1 1') })
}

function ll__dss_dep_d__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: { ...DS_DEP.SHORT, d: 1 }, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the limit value.
    cy.create()
    cy.switchEnv('DEV')
    cy.dropdown({ select: 'fwcy-dc_fwcy-ds', from : 'Select Batch Ingestion Config' })
    cy.checkYAML((raw, conf) => { expect(conf['deploy']['job-schedule']).to.equal('31 21 1 1 1') })
}

function hl__dss_dep_d__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: { ...DS_DEP.SHORT, d: 31 }, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the limit value.
    cy.create()
    cy.switchEnv('DEV')
    cy.dropdown({ select: 'fwcy-dc_fwcy-ds', from : 'Select Batch Ingestion Config' })
    cy.checkYAML((raw, conf) => { expect(conf['deploy']['job-schedule']).to.equal('31 21 31 1 1') })
}

function ll__dss_ing_bblock_size__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: { ...DS_ING.SHORT, bblock: 1 }, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the limit value.
    cy.create()
    cy.switchEnv('DEV')
    cy.dropdown({ select: 'fwcy-dc_fwcy-ds', from : 'Select Batch Ingestion Config' })
    cy.checkYAML((raw, conf) => { expect(conf['ingestion']['blob-block-size-mb']).to.equal(1) })
}

function hl__dss_ing_bblock_size__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: { ...DS_ING.SHORT, bblock: '9223372036854775807' }, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the limit value.
    cy.create()
    cy.switchEnv('DEV')
    cy.dropdown({ select: 'fwcy-dc_fwcy-ds', from : 'Select Batch Ingestion Config' })
    cy.checkYAML((raw, conf) => { expect(conf['ingestion']['blob-block-size-mb'].toString()).to.equal('9223372036854775807') })
}

function ll__dss_ing_bbuff_size__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: { ...DS_ING.SHORT, bbuff: 1 }, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the limit value.
    cy.create()
    cy.switchEnv('DEV')
    cy.dropdown({ select: 'fwcy-dc_fwcy-ds', from : 'Select Batch Ingestion Config' })
    cy.checkYAML((raw, conf) => { expect(conf['ingestion']['blob-buffer-size-mb']).to.equal(1) })
}

function hl__dss_ing_bbuff_size__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: { ...DS_ING.SHORT, bbuff: '9223372036854775807' }, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the limit value.
    cy.create()
    cy.switchEnv('DEV')
    cy.dropdown({ select: 'fwcy-dc_fwcy-ds', from : 'Select Batch Ingestion Config' })
    cy.checkYAML((raw, conf) => { expect(conf['ingestion']['blob-buffer-size-mb'].toString()).to.equal('9223372036854775807') })
}

function ll__dss_ing_chunk_size__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: { ...DS_ING.SHORT, cs: 1 }, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the limit value.
    cy.create()
    cy.switchEnv('DEV')
    cy.dropdown({ select: 'fwcy-dc_fwcy-ds', from : 'Select Batch Ingestion Config' })
    cy.checkYAML((raw, conf) => { expect(conf['ingestion']['chunk-size']).to.equal(1) })
}

function hl__dss_ing_chunk_size__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: { ...DS_ING.SHORT, cs: '9223372036854775807' }, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the limit value.
    cy.create()
    cy.switchEnv('DEV')
    cy.dropdown({ select: 'fwcy-dc_fwcy-ds', from : 'Select Batch Ingestion Config' })
    cy.checkYAML((raw, conf) => { expect(conf['ingestion']['chunk-size']).to.equal('9223372036854775807') })
}

function blank__dc_dc__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: null, ing: 'rest', conf_dc: true, conf_dss: false })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Ingestion')
    const label = 'Data Collection'
    cy.checkErr({ err: `"${label}" is required!`, next_to: 'field', label })
}

function blank__dc_ing__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: undefined, conf_dc: true, conf_dss: false })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Ingestion')
    const label = 'Ingestion Type'
    cy.checkErr({ err: `"${label}" is required!`, next_to: 'dropdown', label })
}

function blank__dc_auth_method__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: true, conf_dss: false })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main({ ...MAIN_MTLS.SHORT, auth: undefined })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Ingestion')
    const label = 'Auth Method'
    cy.checkErr({ err: `"${label}" is required!`, next_to: 'dropdown', label })
}

function blank__dss_ds__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ _: { ...DS_MTLS.SHORT, ds: null, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'DataSet'
    cy.checkErr({ err: `"${label}" is required!`, next_to: 'field', label })
}

function blank__dss_dep_jvm__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: { ...DS_DEP.SHORT, jvm: null }, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'JVM Options'
    cy.checkErr({ err: `"${label}" is required!`, next_to: 'field', label })
}

function blank__dss_ing_bblock_size__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: { ...DS_ING.SHORT, bblock: null }, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Blob block size mb'
    cy.checkErr({ err: `"${label}" is required!`, next_to: 'field', label })
}

function blank__dss_ing_chunk_size__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: { ...DS_ING.SHORT, cs: null }, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Chunk Size'
    cy.checkErr({ err: `"${label}" is required!`, next_to: 'field', label })
}

function invalid__dc_dc__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ ing: 'rest', conf_dc: true, conf_dss: false })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Click the 'CREATE' button. Check the error message for every incorrect DC.
    const label = 'Data Collection'
    const err = `Incorrect "${label}"! It must be a 3+ characters string starting with a letter, and containing only lowercase letters, numbers, and dashes!`
    const check = dc => {
        configure_common({ dc })
        cy.create()
        cy.navigate('Ingestion')
        cy.checkErr({ err, next_to: 'field', label })
    }
    check('cy')        // Too short.
    check('fwcy dc')   // Contains whitespace character.
    check('fwcy_dc')   // Contains underscore.
    check('FWCY-DC')   // Contains capital letters.
    check('12345')     // Starts W/ a digit.
    check('fwcy.$@dc') // Contains special characters.
}

function invalid__dc_response_buffer_size__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: true, conf_dss: false })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main({ ...MAIN_MTLS.SHORT, rbs: 10000.5 })

    // Click the 'CREATE' button. Check the error message.
    const label = 'Response Buffer Size'
    throw new Error('check min/max value W/ Yevheniia')
    const err = `Incorrect "${label}"! It must be an integer higher than or equal to 000 and less than or equal to 000!`
    cy.create()
    cy.navigate('Ingestion')
    cy.checkErr({ err, next_to: 'field', label })
}

function invalid__dss_ds__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ _: { ds: null, ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT } })

    // Click the 'CREATE' button. Check the error message for every incorrect DC.
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'DataSet'
    const err = `Incorrect "${label}"! It must be a 3+ characters string starting with a letter, and containing only lowercase letters, numbers, and dashes!`
    const check = type => {
        cy.get('mat-dialog-container', LF).field({ type, into: label, clear: true })
        cy.get('mat-dialog-container', LF).contains('button', 'Save', LF).click()
        cy.create()
        cy.navigate('Data Sets')
        cy.get('table td > button[aria-label="Edit"]', LF).click()
        cy.get('mat-dialog-container', LF).checkErr({ err, next_to: 'field', label })
    }
    check('cy')        // Too short.
    check('fwcy ds')   // Contains whitespace character.
    check('fwcy_ds')   // Contains underscore.
    check('FWCY-DS')   // Contains capital letters.
    check('12345')     // Starts W/ a digit.
    check('fwcy.$@ds') // Contains special characters.
}

function invalid__dss_req_api_url__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Api Url'
    const err = `Incorrect "${label}"! It must be a valid URL including the protocol (example: https://example.com)!`
    cy.checkErr({ err, next_to: 'field', label })
}

function invalid__dss_req_response_body_key__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R.SHORT, body_key: 'fwcy-ds-r-response-body-key' }
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Response Body Key'
    const err = `Incorrect "${label}"! It must be 1+ alpha-numeric words (underscores are allowed) separated by comma!`
    cy.checkErr({ err, next_to: 'field', label })
}

function invalid__dss_req_pag_pag_lim__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R.SHORT, pag: { ...DS_R_PAG.SHORT, lim: 1000000.5 } }
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Pagination Limit'
    cy.checkErr({ err: `Incorrect "${label}". It must be an integer higher than or equal to 1 and less than or equal to 9223372036854775807!`, next_to: 'field', label })
}

function invalid__dss_req_pag_page_start__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R.SHORT, pag: { ...DS_R_PAG.SHORT, start: 1000000.5 } }
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Page Start'
    cy.checkErr({ err: `Incorrect "${label}". It must be an integer higher than or equal to 1 and less than or equal to 9223372036854775807!`, next_to: 'field', label })
}

function invalid__dss_req_th_req_th_lim__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R.SHORT, th_lim: 1000000.5 }
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Request Throttling Limit'
    cy.checkErr({ err: `Incorrect "${label}". It must be an integer higher than or equal to 0 and less than or equal to 9223372036854775807!`, next_to: 'field', label })
}

function invalid__dss_req_th_sleep_duration_ms__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R.SHORT, sleep_duration: 1000000.5 }
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Sleep Duration ms'
    cy.checkErr({ err: `Incorrect "${label}". It must be an integer higher than or equal to 0 and less than or equal to 9223372036854775807!`, next_to: 'field', label })
}

function invalid__dss_req_auth_client_secret__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_OAUTH2.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R_EXT.SHORT, auth: { ...DS_R_AUTH.SHORT, client_secret: 'fwcy-ds-r-client-secret' } }
    configure_dss({ 'fwcy-ds': { ...DS_OAUTH2.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Client Secret'
    const err = `Incorrect "${label}"! It must be a string starting with the "$\{" and with the "}" at the end!`
    cy.checkErr({ err, next_to: 'field', label })
}

function invalid__dss_req_auth_token_url__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_OAUTH2.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R_EXT.SHORT, auth: { ...DS_R_AUTH.SHORT, tkn_url: 'fwcy-ds-r.com' } }
    configure_dss({ 'fwcy-ds': { ...DS_OAUTH2.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Token Uri'
    const err = `Incorrect "${label}"! It must be a valid URL including the protocol (example: https://example.com)!`
    cy.checkErr({ err, next_to: 'field', label })
}

function invalid__dss_req_req_timeout__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_OAUTH2.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R_EXT.SHORT, req_timeout: 1000000.5 }
    configure_dss({ 'fwcy-ds': { ...DS_OAUTH2.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Request Timeout'
    cy.checkErr({ err: `Incorrect "${label}". It must be an integer higher than or equal to 0 and less than or equal to 9223372036854775807!`, next_to: 'field', label })
}

function invalid__dss_req_retries_cnt__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_OAUTH2.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R_EXT.SHORT, retries_cnt: 1000000.5 }
    configure_dss({ 'fwcy-ds': { ...DS_OAUTH2.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Retries Count'
    cy.checkErr({ err: `Incorrect "${label}". It must be an integer higher than or equal to 0 and less than or equal to 9223372036854775807!`, next_to: 'field', label })
}

function invalid__dss_req_retry_timeout__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_OAUTH2.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R_EXT.SHORT, retry_timeout: 1000000.5 }
    configure_dss({ 'fwcy-ds': { ...DS_OAUTH2.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Retry Timeout'
    cy.checkErr({ err: `Incorrect "${label}". It must be an integer higher than or equal to 0 and less than or equal to 9223372036854775807!`, next_to: 'field', label })
}

function invalid__dss_dep_jads__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: { ...DS_DEP.SHORT, jads: 1000000.5 }, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Job Active Deadline Seconds'
    cy.checkErr({ err: `Incorrect "${label}". It must be an integer higher than or equal to 0 and less than or equal to 9223372036854775807!`, next_to: 'field', label })
}

function invalid__dss_dep_k8s_cpu__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: { ...DS_DEP.SHORT, k8s_cpu: 10.5 }, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'K8S Resource CPU'
    cy.checkErr({ err: `Incorrect "${label}". It must be an integer higher than or equal to 0 and less than or equal to 9223372036854775807!`, next_to: 'field', label })
}

function invalid__dss_dep_k8s_ram__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: { ...DS_DEP.SHORT, k8s_ram: '10.5Gi' }, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'K8S Resource Memory'
    const err = `Incorrect "${label}"! It must be an integer higher than or equal to 1 and less than or equal to 32 with a "Gi" at the end!`
	cy.checkErr({ err, next_to: 'field', label })
}

function invalid__dss_dep_m__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: { ...DS_DEP.SHORT, m: 30.5 }, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Minute - JobSchedule'
    const err = `Incorrect "${label}"! It must be an integer higher than or equal to 0 and less than or equal to 59!`
	cy.checkErr({ err, next_to: 'field', label })
}

function invalid__dss_dep_h__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: { ...DS_DEP.SHORT, h: 12.5 }, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Hour - Hour'
    const err = `Incorrect "${label}"! It must be an integer higher than or equal to 0 and less than or equal to 23!`
	cy.checkErr({ err, next_to: 'field', label })
}

function invalid__dss_dep_d__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: { ...DS_DEP.SHORT, d: 15.5 }, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Day of Month - JobSchedule'
    const err = `Incorrect "${label}"! It must be an integer higher than or equal to 1 and less than or equal to 31!`
	cy.checkErr({ err, next_to: 'field', label })
}

function invalid__dss_ing_bblock_size__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: { ...DS_ING.SHORT, bblock: 1000000.5 }, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Blob block size mb'
    const err = `Incorrect "${label}"! It must be an integer higher than or equal to 1 and less than or equal to 9223372036854775807!`
	cy.checkErr({ err, next_to: 'field', label })
}

function invalid__dss_ing_bbuff_size__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: { ...DS_ING.SHORT, bbuff: 1000000.5 }, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Blob buffer size mb'
    const err = `Incorrect "${label}"! It must be an integer higher than or equal to 1 and less than or equal to 9223372036854775807!`
	cy.checkErr({ err, next_to: 'field', label })
}

function invalid__dss_ing_chunk_size__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: { ...DS_ING.SHORT, cs: 1000000.5 }, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Chunk Size'
    const err = `Incorrect "${label}"! It must be an integer higher than or equal to 1 and less than or equal to 9223372036854775807!`
	cy.checkErr({ err, next_to: 'field', label })
}

function invalid__dss_ing_start_ts__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: { ...DS_ING.SHORT, ts: '2000/01/10T20:30:40' }, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Start tmstp'
    const err = `Incorrect "${label}"! It must be a valid datetime string in format: YYYY-mm-dd HH:MM:SS!`
	cy.checkErr({ err, next_to: 'field', label })
}

function ooll__dss_req_pag_pag_lim__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R.SHORT, pag: { ...DS_R_PAG.SHORT, lim: 0 } }
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Pagination Limit'
    cy.checkErr({ err: `Incorrect "${label}". It must be an integer higher than or equal to 1 and less than or equal to 9223372036854775807!`, next_to: 'field', label })
}

function oohl__dss_req_pag_pag_lim__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R.SHORT, pag: { ...DS_R_PAG.SHORT, lim: '9223372036854775808' } }
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Pagination Limit'
    cy.checkErr({ err: `Incorrect "${label}". It must be an integer higher than or equal to 1 and less than or equal to 9223372036854775807!`, next_to: 'field', label })
}

function ooll__dss_req_pag_page_start__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R.SHORT, pag: { ...DS_R_PAG.SHORT, start: 0 } }
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Page Start'
    cy.checkErr({ err: `Incorrect "${label}". It must be an integer higher than or equal to 1 and less than or equal to 9223372036854775807!`, next_to: 'field', label })
}

function oohl__dss_req_pag_page_start__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R.SHORT, pag: { ...DS_R_PAG.SHORT, start: '9223372036854775808' } }
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Page Start'
    cy.checkErr({ err: `Incorrect "${label}". It must be an integer higher than or equal to 1 and less than or equal to 9223372036854775807!`, next_to: 'field', label })
}

function ooll__dss_req_th_req_th_lim__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R.SHORT, th_lim: -1 }
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Request Throttling Limit'
    cy.checkErr({ err: `Incorrect "${label}". It must be an integer higher than or equal to 0 and less than or equal to 9223372036854775807!`, next_to: 'field', label })
}

function oohl__dss_req_th_req_th_lim__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R.SHORT, th_lim: '9223372036854775808' }
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Request Throttling Limit'
    cy.checkErr({ err: `Incorrect "${label}". It must be an integer higher than or equal to 0 and less than or equal to 9223372036854775807!`, next_to: 'field', label })
}

function ooll__dss_req_th_sleep_duration_ms__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R.SHORT, sleep_duration: -1 }
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Sleep Duration ms'
    cy.checkErr({ err: `Incorrect "${label}". It must be an integer higher than or equal to 0 and less than or equal to 9223372036854775807!`, next_to: 'field', label })
}

function oohl__dss_req_th_sleep_duration_ms__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_OAUTH2.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R_EXT.SHORT, sleep_duration: '9223372036854775808' }
    configure_dss({ 'fwcy-ds': { ...DS_OAUTH2.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Sleep Duration ms'
    cy.checkErr({ err: `Incorrect "${label}". It must be an integer higher than or equal to 0 and less than or equal to 9223372036854775807!`, next_to: 'field', label })
}

function ooll__dss_req_req_timeout__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_OAUTH2.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R_EXT.SHORT, req_timeout: -1 }
    configure_dss({ 'fwcy-ds': { ...DS_OAUTH2.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Request Timeout'
    cy.checkErr({ err: `Incorrect "${label}". It must be an integer higher than or equal to 0 and less than or equal to 9223372036854775807!`, next_to: 'field', label })
}

function oohl__dss_req_req_timeout__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_OAUTH2.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R_EXT.SHORT, req_timeout: '9223372036854775808' }
    configure_dss({ 'fwcy-ds': { ...DS_OAUTH2.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Request Timeout'
    cy.checkErr({ err: `Incorrect "${label}". It must be an integer higher than or equal to 0 and less than or equal to 9223372036854775807!`, next_to: 'field', label })
}

function ooll__dss_req_retries_cnt__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_OAUTH2.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R_EXT.SHORT, retries_cnt: -1 }
    configure_dss({ 'fwcy-ds': { ...DS_OAUTH2.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Retries Count'
    cy.checkErr({ err: `Incorrect "${label}". It must be an integer higher than or equal to 0 and less than or equal to 9223372036854775807!`, next_to: 'field', label })
}

function oohl__dss_req_retries_cnt__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_OAUTH2.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R_EXT.SHORT, retries_cnt: '9223372036854775808' }
    configure_dss({ 'fwcy-ds': { ...DS_OAUTH2.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Retries Count'
    cy.checkErr({ err: `Incorrect "${label}". It must be an integer higher than or equal to 0 and less than or equal to 9223372036854775807!`, next_to: 'field', label })
}

function ooll__dss_req_retry_timeout__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_OAUTH2.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R_EXT.SHORT, retry_timeout: -1 }
    configure_dss({ 'fwcy-ds': { ...DS_OAUTH2.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Retry Timeout'
    cy.checkErr({ err: `Incorrect "${label}". It must be an integer higher than or equal to 0 and less than or equal to 9223372036854775807!`, next_to: 'field', label })
}

function oohl__dss_req_retry_timeout__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_OAUTH2.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    const r = { ...DS_R_EXT.SHORT, retry_timeout: 1000000.5 }
    configure_dss({ 'fwcy-ds': { ...DS_OAUTH2.SHORT, dep: DS_DEP.SHORT, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': r } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Retry Timeout'
    cy.checkErr({ err: `Incorrect "${label}". It must be an integer higher than or equal to 0 and less than or equal to 9223372036854775807!`, next_to: 'field', label })
}

function ooll__dss_dep_jads__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: { ...DS_DEP.SHORT, jads: -1 }, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Job Active Deadline Seconds'
    cy.checkErr({ err: `Incorrect "${label}". It must be an integer higher than or equal to 0 and less than or equal to 9223372036854775807!`, next_to: 'field', label })
}

function oohl__dss_dep_jads__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: { ...DS_DEP.SHORT, jads: '9223372036854775808' }, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Job Active Deadline Seconds'
    cy.checkErr({ err: `Incorrect "${label}". It must be an integer higher than or equal to 0 and less than or equal to 9223372036854775807!`, next_to: 'field', label })
}

function ooll__dss_dep_k8s_cpu__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: { ...DS_DEP.SHORT, k8s_cpu: 0 }, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'K8S Resource CPU'
    cy.checkErr({ err: `Incorrect "${label}". It must be an integer higher than or equal to 0 and less than or equal to 9223372036854775807!`, next_to: 'field', label })
}

function oohl__dss_dep_k8s_cpu__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: { ...DS_DEP.SHORT, k8s_cpu: '9223372036854775808' }, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'K8S Resource CPU'
    cy.checkErr({ err: `Incorrect "${label}". It must be an integer higher than or equal to 0 and less than or equal to 9223372036854775807!`, next_to: 'field', label })
}

function ooll__dss_dep_k8s_ram__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: { ...DS_DEP.SHORT, k8s_ram: '0Gi' }, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'K8S Resource Memory'
    const err = `Incorrect "${label}"! It must be an integer higher than or equal to 1 and less than or equal to 32 with a "Gi" at the end!`
	cy.checkErr({ err, next_to: 'field', label })
}

function oohl__dss_dep_k8s_ram__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: { ...DS_DEP.SHORT, k8s_ram: '33Gi' }, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'K8S Resource Memory'
    const err = `Incorrect "${label}"! It must be an integer higher than or equal to 1 and less than or equal to 32 with a "Gi" at the end!`
	cy.checkErr({ err, next_to: 'field', label })
}

function ooll__dss_dep_m__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: { ...DS_DEP.SHORT, m: -1 }, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Minute - JobSchedule'
    const err = `Incorrect "${label}"! It must be an integer higher than or equal to 0 and less than or equal to 59!`
	cy.checkErr({ err, next_to: 'field', label })
}

function oohl__dss_dep_m__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: { ...DS_DEP.SHORT, m: 60 }, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Minute - JobSchedule'
    const err = `Incorrect "${label}"! It must be an integer higher than or equal to 0 and less than or equal to 59!`
	cy.checkErr({ err, next_to: 'field', label })
}

function ooll__dss_dep_h__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: { ...DS_DEP.SHORT, h: -1 }, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Hour - Hour'
    const err = `Incorrect "${label}"! It must be an integer higher than or equal to 0 and less than or equal to 23!`
	cy.checkErr({ err, next_to: 'field', label })
}

function oohl__dss_dep_h__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: { ...DS_DEP.SHORT, h: 24 }, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Hour - Hour'
    const err = `Incorrect "${label}"! It must be an integer higher than or equal to 0 and less than or equal to 23!`
	cy.checkErr({ err, next_to: 'field', label })
}

function ooll__dss_dep_d__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: { ...DS_DEP.SHORT, d: 0 }, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Day of Month - JobSchedule'
    const err = `Incorrect "${label}"! It must be an integer higher than or equal to 1 and less than or equal to 31!`
	cy.checkErr({ err, next_to: 'field', label })
}

function oohl__dss_dep_d__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: { ...DS_DEP.SHORT, d: 32 }, ing: DS_ING.SHORT, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Day of Month - JobSchedule'
    const err = `Incorrect "${label}"! It must be an integer higher than or equal to 1 and less than or equal to 31!`
	cy.checkErr({ err, next_to: 'field', label })
}

function ooll__dss_ing_bblock_size__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: { ...DS_ING.SHORT, bblock: 0 }, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Blob block size mb'
    const err = `Incorrect "${label}"! It must be an integer higher than or equal to 1 and less than or equal to 9223372036854775807!`
	cy.checkErr({ err, next_to: 'field', label })
}

function oohl__dss_ing_bblock_size__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: { ...DS_ING.SHORT, bblock: '9223372036854775808' }, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Blob block size mb'
    const err = `Incorrect "${label}"! It must be an integer higher than or equal to 1 and less than or equal to 9223372036854775807!`
	cy.checkErr({ err, next_to: 'field', label })
}

function ooll__dss_ing_bbuff_size__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: { ...DS_ING.SHORT, bbuff: 0 }, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Blob buffer size mb'
    const err = `Incorrect "${label}"! It must be an integer higher than or equal to 1 and less than or equal to 9223372036854775807!`
	cy.checkErr({ err, next_to: 'field', label })
}

function oohl__dss_ing_bbuff_size__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: { ...DS_ING.SHORT, bbuff: '9223372036854775808' }, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Blob buffer size mb'
    const err = `Incorrect "${label}"! It must be an integer higher than or equal to 1 and less than or equal to 9223372036854775807!`
	cy.checkErr({ err, next_to: 'field', label })
}

function ooll__dss_ing_chunk_size__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: { ...DS_ING.SHORT, cs: 0 }, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Chunk Size'
    const err = `Incorrect "${label}"! It must be an integer higher than or equal to 1 and less than or equal to 9223372036854775807!`
	cy.checkErr({ err, next_to: 'field', label })
}

function oohl__dss_ing_chunk_size__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)

    // Navigate to the 'Data Sets' tab. DEV: configure.
    cy.navigate('Data Sets')
    cy.switchEnv('DEV')
    configure_dss({ 'fwcy-ds': { ...DS_MTLS.SHORT, dep: DS_DEP.SHORT, ing: { ...DS_ING.SHORT, cs: '9223372036854775808' }, rs: { 'https://fwcy-ds.com': DS_R.SHORT } } })

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    cy.get('table td > button[aria-label="Edit"]', LF).click()
    const label = 'Chunk Size'
    const err = `Incorrect "${label}"! It must be an integer higher than or equal to 1 and less than or equal to 9223372036854775807!`
	cy.checkErr({ err, next_to: 'field', label })
}

function oth__no_envs__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: true, conf_dss: false })
    cy.switchEnv('DEV').switch('Configure', false)
    cy.switchEnv('TEST').switch('Configure', false)
    cy.switchEnv('PROD').switch('Configure', false)

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Ingestion')
    cy.checkErr({ err: 'At least one environment must be enabled!', next_to: 'switch', label: 'Configure' })
}

function oth__no_dss__test() {
    // Configure common. DEV: enable and configure.
    configure_common({ dc: 'fwcy-dc', ing: 'rest', conf_dc: false, conf_dss: true })
    cy.switchEnv('DEV').switch('Configure', true)
    configure_main(MAIN_MTLS.SHORT)
    

    // Click the 'CREATE' button. Check the error message.
    cy.create()
    cy.navigate('Data Sets')
    const err = 'At least one data set must be configured!'
    cy.get('app-datasets-tab section p.fdx-u-color--error', LF).invoke('text').should('eq', err)
}

function close__test() {
	cy.exit()
	cy.checkOnWelcomePage()
}

describe(
    'Batch Ingestiong wizard ("rest" ingestion type (common)) test suit.',
    () => {
        before(() => { cy.login() })
        beforeEach(() => {
			reset_window()
            cy.restoreLocalStorage()
            cy.visit('/')
            cy.open('Create Batch Ingestion')
        })
        // Limit values:
        // it('(M+) Lower limit value for the DC "Response Buffer Size" field.',                          ll__dc_response_buffer_size__test)  // TODO: clarify limits W/ Yevheniia.
        // it('(M+) Higher limit value for the DC "Response Buffer Size" field.',                         hl__dc_response_buffer_size__test)  // TODO: clarify limits W/ Yevheniia.
        it('(M+) Lower limit value for the DSs Request Pagination "Pagination Limit" field.',          ll__dss_req_pag_pag_lim__test)
        it('(M+) Higher limit value for the DSs Request Pagination "Pagination Limit" field.',         hl__dss_req_pag_pag_lim__test)
        it('(M+) Lower limit value for the DSs Request Pagination "Page Start" field.',                ll__dss_req_pag_page_start__test)
        it('(M+) Higher limit value for the DSs Request Pagination "Page Start" field.',               hl__dss_req_pag_page_start__test)
        it('(M+) Lower limit value for the DSs Request Throttling "Request Throttling Limit" field.',  ll__dss_req_th_req_th_lim__test)
        it('(M+) Higher limit value for the DSs Request Throttling "Request Throttling Limit" field.', hl__dss_req_th_req_th_lim__test)
        it('(M+) Lower limit value for the DSs Request Throttling "Sleep Duration ms" field.',         ll__dss_req_th_sleep_duration_ms__test)
        it('(M+) Higher limit value for the DSs Request Throttling "Sleep Duration ms" field.',        hl__dss_req_th_sleep_duration_ms__test)
        it('(M+) Lower limit value for the DSs Request "Request Timeout" field.',                      ll__dss_req_req_timeout__test)
        it('(M+) Higher limit value for the DSs Request "Request Timeout" field.',                     hl__dss_req_req_timeout__test)
        it('(M+) Lower limit value for the DSs Request "Retries Count" field.',                        ll__dss_req_retries_cnt__test)
        it('(M+) Higher limit value for the DSs Request "Retries Count" field.',                       hl__dss_req_retries_cnt__test)
        it('(M+) Lower limit value for the DSs Request "Retry Timeout" field.',                        ll__dss_req_retry_timeout__test)
        it('(M+) Higher limit value for the DSs Request "Retry Timeout" field.',                       hl__dss_req_retry_timeout__test)
        it('(M+) Lower limit value for the DSs Deploy "Job Active Deadline Seconds" field.',           ll__dss_dep_jads__test)
        it('(M+) Higher limit value for the DSs Deploy "Job Active Deadline Seconds" field.',          hl__dss_dep_jads__test)
        // it('(M+) Lower limit value for the DSs Deploy "JVM Options" field.',                           ll__dss_dep_jvm__test)  // TODO: clarify limits W/ Yevheniia.
        // it('(M+) Higher limit value for the DSs Deploy "JVM Options" field.',                          hl__dss_dep_jvm__test)  // TODO: clarify limits W/ Yevheniia.
        it('(M+) Lower limit value for the DSs Deploy "K8S Resource CPU" field.',                      ll__dss_dep_k8s_cpu__test)
        it('(M+) Higher limit value for the DSs Deploy "K8S Resource CPU" field.',                     hl__dss_dep_k8s_cpu__test)
        it('(M+) Lower limit value for the DSs Deploy "K8S Resource Memory" field.',                   ll__dss_dep_k8s_ram__test)
        it('(M+) Higher limit value for the DSs Deploy "K8S Resource Memory" field.',                  hl__dss_dep_k8s_ram__test)
        it('(M+) Lower limit value for the DSs Deploy "Minute - JobSchedule" field.',                  ll__dss_dep_m__test)
        it('(M+) Higher limit value for the DSs Deploy "Minute - JobSchedule" field.',                 hl__dss_dep_m__test)
        it('(M+) Lower limit value for the DSs Deploy "Hour - Hour" field.',                           ll__dss_dep_h__test)
        it('(M+) Higher limit value for the DSs Deploy "Hour - Hour" field.',                          hl__dss_dep_h__test)
        it('(M+) Lower limit value for the DSs Deploy "Day of Month - JobSchedule" field.',            ll__dss_dep_d__test)
        it('(M+) Higher limit value for the DSs Deploy "Day of Month - JobSchedule" field.',           hl__dss_dep_d__test)
        it('(M+) Lower limit value for the DSs Ingestion "Blob block size mb" field.',                 ll__dss_ing_bblock_size__test)
        it('(M+) Higher limit value for the DSs Ingestion "Blob block size mb" field.',                hl__dss_ing_bblock_size__test)
        it('(M+) Lower limit value for the DSs Ingestion "Blob buffer size mb" field.',                ll__dss_ing_bbuff_size__test)
        it('(M+) Higher limit value for the DSs Ingestion "Blob buffer size mb" field.',               hl__dss_ing_bbuff_size__test)
        it('(M+) Lower limit value for the DSs Ingestion "Chunk Size" field.',                         ll__dss_ing_chunk_size__test)
        it('(M+) Higher limit value for the DSs Ingestion "Chunk Size" field.',                        hl__dss_ing_chunk_size__test)
        // Options:
        // TODO: add dropdown options tests here (will be only for the "Ingestion Type" and "Auth Method").
        // Blanks:
        it('(L-) Blank DC "Data Collection" field.',               blank__dc_dc__test)
        it('(L-) Blank DC "Ingestion Type" dropdown.',             blank__dc_ing__test)
        it('(L-) Blank DC "Auth Method" dropdown.',                blank__dc_auth_method__test)
        it('(L-) Blank DSs "DataSet" field.',                      blank__dss_ds__test)
        it('(L-) Blank DSs Deploy "JVM Options" field.',           blank__dss_dep_jvm__test)
        it('(L-) Blank DSs Ingestion "Blob block size mb" field.', blank__dss_ing_bblock_size__test)
        it('(L-) Blank DSs Ingestion "Chunk Size" field.',         blank__dss_ing_chunk_size__test)
        // Invalid values:
        it('(L-) Invalid value for the DC "Data Collection" field.',                              invalid__dc_dc__test)
        // it('(L-) Invalid value for the DC "Response Buffer Size" field.',                         invalid__dc_response_buffer_size__test)  // TODO: Ask Yevheniia about min/max values.
        it('(L-) Invalid value for the DSs "DataSet" field.',                                     invalid__dss_ds__test)
        it('(L-) Invalid value for the DSs Request "Api Url" field.',                             invalid__dss_req_api_url__test)
        it('(L-) Invalid value for the DSs Request "Response Body Key" field.',                   invalid__dss_req_response_body_key__test)
        it('(L-) Invalid value for the DSs Request Pagination "Pagination Limit" field.',         invalid__dss_req_pag_pag_lim__test)
        it('(L-) Invalid value for the DSs Request Pagination "Page Start" field.',               invalid__dss_req_pag_page_start__test)
        it('(L-) Invalid value for the DSs Request Throttling "Request Throttling Limit" field.', invalid__dss_req_th_req_th_lim__test)
        it('(L-) Invalid value for the DSs Request Throttling "Sleep Duration ms" field.',        invalid__dss_req_th_sleep_duration_ms__test)
        it('(L-) Invalid value for the DSs Request Auth "Client Secret" field.',                  invalid__dss_req_auth_client_secret__test)
        it('(L-) Invalid value for the DSs Request Auth "Token Uri" field.',                      invalid__dss_req_auth_token_url__test)
        it('(L-) Invalid value for the DSs Request "Request Timeout" field.',                     invalid__dss_req_req_timeout__test)
        it('(L-) Invalid value for the DSs Request "Retries Count" field.',                       invalid__dss_req_retries_cnt__test)
        it('(L-) Invalid value for the DSs Request "Retry Timeout" field.',                       invalid__dss_req_retry_timeout__test)
        it('(L-) Invalid value for the DSs Deploy "Job Active Deadline Seconds" field.',          invalid__dss_dep_jads__test)
        // it('(L-) Invalid value for the DSs Deploy "JVM Options" field.',                          invalid__dss_dep_jvm__test)  // TODO: Ask Yevheniia about validation rules.
        it('(L-) Invalid value for the DSs Deploy "K8S Resource CPU" field.',                     invalid__dss_dep_k8s_cpu__test)
        it('(L-) Invalid value for the DSs Deploy "K8S Resource Memory" field.',                  invalid__dss_dep_k8s_ram__test)
        it('(L-) Invalid value for the DSs Deploy "Minute - JobSchedule" field.',                 invalid__dss_dep_m__test)
        it('(L-) Invalid value for the DSs Deploy "Hour - Hour" field.',                          invalid__dss_dep_h__test)
        it('(L-) Invalid value for the DSs Deploy "Day of Month - JobSchedule" field.',           invalid__dss_dep_d__test)
        it('(L-) Invalid value for the DSs Ingestion "Blob block size mb" field.',                invalid__dss_ing_bblock_size__test)
        it('(L-) Invalid value for the DSs Ingestion "Blob buffer size mb" field.',               invalid__dss_ing_bbuff_size__test)
        it('(L-) Invalid value for the DSs Ingestion "Chunk Size" field.',                        invalid__dss_ing_chunk_size__test)
        it('(L-) Invalid value for the DSs Ingestion "Start tmstp" field.',                       invalid__dss_ing_start_ts__test)  // TODO: Ask Yevheniia is there a dt validation (can we type February 31th for instance?).
        // Out-of-limits:
        // it('(L-) Out-of-lower-limit value for the DC "Response Buffer Size" field.',                          ooll__dc_response_buffer_size__test)  // TODO: clarify limits W/ Yevheniia.
        // it('(L-) Out-of-higher-limit value for the DC "Response Buffer Size" field.',                         oohl__dc_response_buffer_size__test)  // TODO: clarify limits W/ Yevheniia.
        it('(L-) Out-of-lower-limit value for the DSs Request Pagination "Pagination Limit" field.',          ooll__dss_req_pag_pag_lim__test)
        it('(L-) Out-of-higher-limit value for the DSs Request Pagination "Pagination Limit" field.',         oohl__dss_req_pag_pag_lim__test)
        it('(L-) Out-of-lower-limit value for the DSs Request Pagination "Page Start" field.',                ooll__dss_req_pag_page_start__test)
        it('(L-) Out-of-higher-limit value for the DSs Request Pagination "Page Start" field.',               oohl__dss_req_pag_page_start__test)
        it('(L-) Out-of-lower-limit value for the DSs Request Throttling "Request Throttling Limit" field.',  ooll__dss_req_th_req_th_lim__test)
        it('(L-) Out-of-higher-limit value for the DSs Request Throttling "Request Throttling Limit" field.', oohl__dss_req_th_req_th_lim__test)
        it('(L-) Out-of-lower-limit value for the DSs Request Throttling "Sleep Duration ms" field.',         ooll__dss_req_th_sleep_duration_ms__test)
        it('(L-) Out-of-higher-limit value for the DSs Request Throttling "Sleep Duration ms" field.',        oohl__dss_req_th_sleep_duration_ms__test)
        it('(L-) Out-of-lower-limit value for the DSs Request "Request Timeout" field.',                      ooll__dss_req_req_timeout__test)
        it('(L-) Out-of-higher-limit value for the DSs Request "Request Timeout" field.',                     oohl__dss_req_req_timeout__test)
        it('(L-) Out-of-lower-limit value for the DSs Request "Retries Count" field.',                        ooll__dss_req_retries_cnt__test)
        it('(L-) Out-of-higher-limit value for the DSs Request "Retries Count" field.',                       oohl__dss_req_retries_cnt__test)
        it('(L-) Out-of-lower-limit value for the DSs Request "Retry Timeout" field.',                        ooll__dss_req_retry_timeout__test)
        it('(L-) Out-of-higher-limit value for the DSs Request "Retry Timeout" field.',                       oohl__dss_req_retry_timeout__test)
        it('(L-) Out-of-lower-limit value for the DSs Deploy "Job Active Deadline Seconds" field.',           ooll__dss_dep_jads__test)
        it('(L-) Out-of-higher-limit value for the DSs Deploy "Job Active Deadline Seconds" field.',          oohl__dss_dep_jads__test)
        // // it('(L-) Out-of-lower-limit value for the DSs Deploy "JVM Options" field.',                           ooll__dss_dep_jvm__test)  // TODO: clarify limits W/ Yevheniia.
        // // it('(L-) Out-of-higher-limit value for the DSs Deploy "JVM Options" field.',                          oohl__dss_dep_jvm__test)  // TODO: clarify limits W/ Yevheniia.
        it('(L-) Out-of-lower-limit value for the DSs Deploy "K8S Resource CPU" field.',                      ooll__dss_dep_k8s_cpu__test)
        it('(L-) Out-of-higher-limit value for the DSs Deploy "K8S Resource CPU" field.',                     oohl__dss_dep_k8s_cpu__test)
        it('(L-) Out-of-lower-limit value for the DSs Deploy "K8S Resource Memory" field.',                   ooll__dss_dep_k8s_ram__test)
        it('(L-) Out-of-higher-limit value for the DSs Deploy "K8S Resource Memory" field.',                  oohl__dss_dep_k8s_ram__test)
        it('(L-) Out-of-lower-limit value for the DSs Deploy "Minute - JobSchedule" field.',                  ooll__dss_dep_m__test)
        it('(L-) Out-of-higher-limit value for the DSs Deploy "Minute - JobSchedule" field.',                 oohl__dss_dep_m__test)
        it('(L-) Out-of-lower-limit value for the DSs Deploy "Hour - Hour" field.',                           ooll__dss_dep_h__test)
        it('(L-) Out-of-higher-limit value for the DSs Deploy "Hour - Hour" field.',                          oohl__dss_dep_h__test)
        it('(L-) Out-of-lower-limit value for the DSs Deploy "Day of Month - JobSchedule" field.',            ooll__dss_dep_d__test)
        it('(L-) Out-of-higher-limit value for the DSs Deploy "Day of Month - JobSchedule" field.',           oohl__dss_dep_d__test)
        it('(L-) Out-of-lower-limit value for the DSs Ingestion "Blob block size mb" field.',                 ooll__dss_ing_bblock_size__test)
        it('(L-) Out-of-higher-limit value for the DSs Ingestion "Blob block size mb" field.',                oohl__dss_ing_bblock_size__test)
        it('(L-) Out-of-lower-limit value for the DSs Ingestion "Blob buffer size mb" field.',                ooll__dss_ing_bbuff_size__test)
        it('(L-) Out-of-higher-limit value for the DSs Ingestion "Blob buffer size mb" field.',               oohl__dss_ing_bbuff_size__test)
        it('(L-) Out-of-lower-limit value for the DSs Ingestion "Chunk Size" field.',                         ooll__dss_ing_chunk_size__test)
        it('(L-) Out-of-higher-limit value for the DSs Ingestion "Chunk Size" field.',                        oohl__dss_ing_chunk_size__test)
        // Default:
        // TODO: add wizard default values tests here...
        // Other:
        it('(L-) No environments configured.', oth__no_envs__test)
        it('(L-) No DSs.',                     oth__no_dss__test)
        // Close:
        it('(L-) Close.', close__test)
        afterEach(() => { cy.saveLocalStorage() })
        after(() => { })
    }
);
Editor is loading...
Leave a Comment