Untitled
unknown
plain_text
2 years ago
58 kB
9
Indexable
import 'cypress-localstorage-commands'
import { LF } from '../../support/whatnot'
import { reset_window, configure_common, configure_env, configure_dss, checkYAML } from '../../support/pages/batch-ing/sftp'
const COMMON = {
MIN: { dc: 'fwcy-dc', ing: 'sftp' },
MAX: { dc: 'fwcy-dc', ing: 'sftp' },
UPD: { dc: 'fwcy-dc-upd', ing: 'sftp' },
SHORT: { dc: 'fwcy-dc', ing: 'sftp' }
}
const ENV = {
MIN: { host: 'fwcy.com', port: null, usr: 'fwcy-usr' },
MAX: { host: 'fwcy.com', port: 25052, usr: 'fwcy-usr' },
UPD: { host: 'fwcyu.com', port: 52052, usr: 'fwcyu-usr' },
DEV: { host: 'fwcy.dev.com', port: 25152, usr: 'fwcy-dev-usr' },
TEST: { host: 'fwcy.test.com', port: 25252, usr: 'fwcy-test-usr' },
PROD: { host: 'fwcy.prod.com', port: 25352, usr: 'fwcy-prod-usr' },
SHORT: { host: 'fwcy.com', port: undefined, usr: 'fwcy-usr' }
}
const DS = {
MIN: {
DS1: { file_pattern: 'fwcy/ds1/fp/*', fetch_count: null, remote_dir: 'fwcy/ds1/rdp', data_deleted_after_transfer: true },
DS2: { file_pattern: 'fwcy/ds2/fp/*', fetch_count: null, remote_dir: 'fwcy/ds2/rdp', data_deleted_after_transfer: true },
DS3: { file_pattern: 'fwcy/ds3/fp/*', fetch_count: null, remote_dir: 'fwcy/ds3/rdp', data_deleted_after_transfer: false }
},
MAX: {
DS1: { file_pattern: 'fwcy/ds1/fp/*', fetch_count: 10000, remote_dir: 'fwcy/ds1/rdp', data_deleted_after_transfer: true },
DS2: { file_pattern: 'fwcy/ds2/fp/*', fetch_count: 20000, remote_dir: 'fwcy/ds2/rdp', data_deleted_after_transfer: true },
DS3: { file_pattern: 'fwcy/ds3/fp/*', fetch_count: 30000, remote_dir: 'fwcy/ds3/rdp', data_deleted_after_transfer: false }
},
UPD: {
DS1: { file_pattern: 'fwcyu/ds1/fp/*', fetch_count: 100001, remote_dir: 'fwcyu/ds1/rdp', data_deleted_after_transfer: false },
DS2: { file_pattern: 'fwcyu/ds2/fp/*', fetch_count: 200001, remote_dir: 'fwcyu/ds2/rdp', data_deleted_after_transfer: false },
DS3: { file_pattern: 'fwcyu/ds3/fp/*', fetch_count: 300001, remote_dir: 'fwcyu/ds3/rdp', data_deleted_after_transfer: true }
},
DEV: { file_pattern: 'fwcy/ds/dev/fp/*', fetch_count: 10000, remote_dir: 'fwcy/ds/dev/rdp', data_deleted_after_transfer: true },
TEST: { file_pattern: 'fwcy/ds/test/fp/*', fetch_count: 20000, remote_dir: 'fwcy/ds/test/rdp', data_deleted_after_transfer: true },
PROD: { file_pattern: 'fwcy/ds/prod/fp/*', fetch_count: 30000, remote_dir: 'fwcy/ds/prod/rdp', data_deleted_after_transfer: false },
SHORT: { file_pattern: 'fwcy/ds/fp/*', fetch_count: undefined, remote_dir: 'fwcy/ds/rdp', data_deleted_after_transfer: undefined }
}
const DS_DEP = {
MIN: {
DS1: { jads: null, jvm: '-Xmx19G', k8s_cpu: null, k8s_ram: null, m: null, h: null, d: null },
DS2: { jads: null, jvm: '-Xmx18G', k8s_cpu: null, k8s_ram: null, m: null, h: null, d: null },
DS3: { jads: null, jvm: '-Xmx17G', k8s_cpu: null, k8s_ram: null, m: null, h: null, d: null }
},
MAX: {
DS1: { jads: 1000, jvm: '-Xmx19G', k8s_cpu: 1100, k8s_ram: '11Gi', m: 31, h: 19, d: 11, mon: 'January', wd: 'Monday' },
DS2: { jads: 2000, jvm: '-Xmx18G', k8s_cpu: 2100, k8s_ram: '12Gi', m: 32, h: 18, d: 12, mon: 'February', wd: 'Tuesday' },
DS3: { jads: 2000, jvm: '-Xmx17G', k8s_cpu: 3100, k8s_ram: '13Gi', m: 33, h: 17, d: 13, mon: 'March', wd: 'Wednesday' }
},
UPD: {
DS1: { jads: 1001, jvm: '-Xmx16G', k8s_cpu: 1101, k8s_ram: '12Gi', m: 32, h: 20, d: 12, mon: 'September', wd: 'Thursday' },
DS2: { jads: 2001, jvm: '-Xmx17G', k8s_cpu: 2101, k8s_ram: '13Gi', m: 33, h: 21, d: 13, mon: 'October', wd: 'Friday' },
DS3: { jads: 3001, jvm: '-Xmx18G', k8s_cpu: 3101, k8s_ram: '14Gi', m: 34, h: 22, d: 14, mon: 'November', wd: 'Saturday' }
},
DEV: { jads: 1000, jvm: '-Xmx19G', k8s_cpu: 1100, k8s_ram: '11Gi', m: 31, h: 19, d: 11, mon: 'January', wd: 'Monday' },
TEST: { jads: 2000, jvm: '-Xmx18G', k8s_cpu: 2100, k8s_ram: '12Gi', m: 32, h: 18, d: 12, mon: 'February', wd: 'Tuesday' },
PROD: { jads: 2000, jvm: '-Xmx17G', k8s_cpu: 3100, k8s_ram: '13Gi', m: 33, h: 17, d: 13, mon: 'March', wd: 'Wednesday' },
SHORT: { jads: undefined, jvm: undefined, k8s_cpu: undefined, k8s_ram: undefined, m: undefined, h: undefined, d: undefined, mon: undefined, wd: undefined}
}
function create__min__test() {
// Configure common. TEST, PROD: disable. DEV: enable and configure.
let common = configure_common(COMMON.MIN)
cy.switchEnv('TEST').switch('Configure', false)
cy.switchEnv('PROD').switch('Configure', false)
cy.switchEnv('DEV').switch('Configure', true)
let env = configure_env(ENV.MIN)
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
let dss = configure_dss({
'fwcy-ds1': { ...DS.MIN.DS1, dep: DS_DEP.MIN.DS1 },
'fwcy-ds2': { ...DS.MIN.DS2, dep: DS_DEP.MIN.DS2 },
'fwcy-ds3': { ...DS.MIN.DS3, dep: DS_DEP.MIN.DS3 }
})
// Click the 'CREATE' button. DEV: check YAML. TEST, PROD: check on YAML.
cy.create()
cy.switchEnv('DEV')
checkYAML({ common, env, dss })
// cy.switchEnv('TEST').checkNoYAML()
// cy.switchEnv('PROD').checkNoYAML()
}
function create__max__test() {
// Configure common. TEST, PROD: disable. DEV: enable and configure.
let common = configure_common(COMMON.MAX)
cy.switchEnv('TEST').switch('Configure', false)
cy.switchEnv('PROD').switch('Configure', false)
cy.switchEnv('DEV').switch('Configure', true)
let env = configure_env(ENV.MAX)
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
let dss = configure_dss({
'fwcy-ds1': { ...DS.MAX.DS1, dep: DS_DEP.MAX.DS1 },
'fwcy-ds2': { ...DS.MAX.DS2, dep: DS_DEP.MAX.DS2 },
'fwcy-ds3': { ...DS.MAX.DS3, dep: DS_DEP.MAX.DS3 }
})
// Click the 'CREATE' button. DEV: check YAML. TEST, PROD: check on YAML.
cy.create()
cy.switchEnv('DEV')
checkYAML({ common, env, dss })
// cy.switchEnv('TEST').checkNoYAML()
// cy.switchEnv('PROD').checkNoYAML()
}
function create__all_envs__test() {
// Configure common. DEV, TEST, PROD: enable and configure.
let common = configure_common(COMMON.MIN)
cy.switchEnv('DEV').switch('Configure', true)
let dev = { env: configure_env(ENV.DEV, 'DEV') }
cy.switchEnv('TEST').switch('Configure', true)
let test = { env: configure_env(ENV.TEST, 'TEST') }
cy.switchEnv('PROD').switch('Configure', true)
let prod = { env: configure_env(ENV.PROD, 'PROD') }
// Navigate to the 'Data Sets' tab. DEV, TEST, PROD: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
dev.dss = configure_dss({ 'fwcy-ds-dev': { ...DS.DEV, dep: DS_DEP.DEV } }, 'DEV')
cy.switchEnv('TEST')
test.dss = configure_dss({ 'fwcy-ds-test': { ...DS.TEST, dep: DS_DEP.TEST } }, 'TEST')
cy.switchEnv('PROD')
prod.dss = configure_dss({ 'fwcy-ds-prod': { ...DS.PROD, dep: DS_DEP.PROD } }, 'PROD')
// Click the 'CREATE' button. DEV, TEST, PROD: check YAML.
cy.create()
cy.switchEnv('DEV')
checkYAML({ common, ...dev })
cy.switchEnv('DEV')
checkYAML({ common, ...dev })
cy.switchEnv('DEV')
checkYAML({ common, ...dev })
}
function ll__dc_port__test() {
// Configure common. DEV: enable and configure.
configure_common(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env({ ...ENV.SHORT, port: 1 })
// Navigate to the 'Data Sets' page. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: DS_DEP.SHORT } })
// Click the 'CREATE' button. Check the limit value in the config.
cy.create()
cy.switchEnv('DEV')
cy.dropdown({ select: 'Data Collection Config', from : 'Select Batch Ingestion Config' })
cy.checkYAML((raw, conf) => { expect(conf['source']['sftp']['port']).to.equal(1) })
}
function hl__dc_port__test() {
// Configure common. DEV: enable and configure.
configure_common(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env({ ...ENV.SHORT, port: 65535 })
// Navigate to the 'Data Sets' page. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: DS_DEP.SHORT } })
// Click the 'CREATE' button. Check the limit value in the config.
cy.create()
cy.switchEnv('DEV')
cy.dropdown({ select: 'Data Collection Config', from : 'Select Batch Ingestion Config' })
cy.checkYAML((raw, conf) => { expect(conf['source']['sftp']['port']).to.equal(65535) })
}
function ll__dss_files_to_fetch_cnt__test() {
// Configure common. DEV: enable and configure.
configure_common(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' page. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, fetch_cnt: -1, dep: DS_DEP.SHORT } })
// Click the 'CREATE' button. Check the limit value in the config.
cy.create()
cy.switchEnv('DEV')
cy.dropdown({ select: 'fwcy-dc_fwcy-ds', from : 'Select Batch Ingestion Config' })
cy.checkYAML((raw, conf) => { expect(conf['source']['sftp']['files-to-fetch-count']).to.equal(-1) })
}
function hl__dss_files_to_fetch_cnt__test() {
// Configure common. DEV: enable and configure.
configure_common(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' page. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, fetch_cnt: '9223372036854775807', dep: DS_DEP.SHORT } })
// Click the 'CREATE' button. Check the limit value in the config.
cy.create()
cy.switchEnv('DEV')
cy.dropdown({ select: 'fwcy-dc_fwcy-ds', from : 'Select Batch Ingestion Config' })
cy.checkYAML((raw, conf) => { expect(conf['source']['sftp']['files-to-fetch-count'].toString()).to.equal('9223372036854775807') })
}
function ll__dss_dep_jads__test() {
// Configure common. DEV: enable and configure.
configure_common(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' page. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: { ...DS_DEP.SHORT, jads: 0 } } })
// Click the 'CREATE' button. Check the limit value in the config.
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(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' page. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: { ...DS_DEP.SHORT, jads: '9223372036854775807' } } })
// Click the 'CREATE' button. Check the limit value in the config.
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(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' page. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: { ...DS_DEP.SHORT, k8s_cpu: 1 } } })
// Click the 'CREATE' button. Check the limit value in the config.
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(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' page. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: { ...DS_DEP.SHORT, k8s_cpu: '9223372036854775807' } } })
// Click the 'CREATE' button. Check the limit value in the config.
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(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' page. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: { ...DS_DEP.SHORT, k8s_ram: '1Gi' } } })
// Click the 'CREATE' button. Check the limit value in the config.
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(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' page. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: { ...DS_DEP.SHORT, k8s_ram: '32Gi' } } })
// Click the 'CREATE' button. Check the limit value in the config.
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(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' page. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: { ...DS_DEP.SHORT, m: 0 } } })
// Click the 'CREATE' button. Check the limit value in the config.
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 * * * *') })
}
function hl__dss_dep_m__test() {
// Configure common. DEV: enable and configure.
configure_common(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' page. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: { ...DS_DEP.SHORT, m: 59 } } })
// Click the 'CREATE' button. Check the limit value in the config.
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 * * * *') })
}
function ll__dss_dep_h__test() {
// Configure common. DEV: enable and configure.
configure_common(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' page. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: { ...DS_DEP.SHORT, h: 0 } } })
// Click the 'CREATE' button. Check the limit value in the config.
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 * * *') })
}
function hl__dss_dep_h__test() {
// Configure common. DEV: enable and configure.
configure_common(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' page. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: { ...DS_DEP.SHORT, h: 23 } } })
// Click the 'CREATE' button. Check the limit value in the config.
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('* 23 * * *') })
}
function ll__dss_dep_d__test() {
// Configure common. DEV: enable and configure.
configure_common(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' page. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: { ...DS_DEP.SHORT, d: 1 } } })
// Click the 'CREATE' button. Check the limit value in the config.
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('* * 1 * *') })
}
function hl__dss_dep_d__test() {
// Configure common. DEV: enable and configure.
configure_common(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' page. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: { ...DS_DEP.SHORT, d: 31 } } })
// Click the 'CREATE' button. Check the limit value in the config.
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 * *') })
}
function update__test() {
// Configure common. TEST, PROD: disable. DEV: enable and configure.
configure_common(COMMON.MAX)
cy.switchEnv('TEST').switch('Configure', false)
cy.switchEnv('PROD').switch('Configure', false)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.MAX)
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({
'fwcy-ds0': { ...DS.SHORT, dep: DS_DEP.SHORT },
'fwcy-ds1': { ...DS.MAX.DS1, dep: DS_DEP.MAX.DS1 },
'fwcy-ds2': { ...DS.MAX.DS2, dep: DS_DEP.MAX.DS2 }
})
// Click the 'CREATE' button. Click the 'UPDATE' button.
cy.create()
cy.update()
// Navigate to the 'Ingestion' tab. Reconfigure common. DEV: reconfigure.
cy.navigate('Ingestion')
let common = configure_common(COMMON.UPD)
cy.switchEnv('DEV')
let env = configure_env(ENV.UPD)
// Navigate to the 'Data Sets' tab. DEV: reconfigure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
let dss = configure_dss({ // 0 - drop, 1 - no changes, 2 - update (including renmaing), 3 - add.
'fwcy-ds0': null,
'fwcy-ds2': { ds: 'fwcyu-ds2', ...DS.UPD.DS2, dep: DS_DEP.UPD.DS2 },
'fwcy-ds3': { ...DS.MAX.DS3, dep: DS_DEP.MAX.DS3 }
})
// Click the 'CREATE' button. DEV: check YAML. TEST, PROD: check on YAML.
cy.create()
cy.switchEnv('DEV')
checkYAML({ common, env, dss })
// cy.switchEnv('TEST').checkNoYAML()
// cy.switchEnv('PROD').checkNoYAML()
}
function blank__dc_dc__test() {
// Configure common. DEV: enable and configure.
configure_common({ ...COMMON.SHORT, dc: null })
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' page. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: DS_DEP.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({ ...COMMON.SHORT, ing: undefined })
// 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_host__test() {
// Configure common. DEV: enable and configure.
configure_common(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env({ ...ENV.SHORT, host: null })
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: DS_DEP.SHORT } })
// Click the 'CREATE' button. Check the error message.
cy.create()
cy.navigate('Ingestion')
const label = 'Host'
cy.checkErr({ err: `"${label}" is required!`, next_to: 'field', label })
}
function blank__dc_username__test() {
// Configure common. DEV: enable and configure.
configure_common(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env({ ...ENV.SHORT, usr: null })
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: DS_DEP.SHORT } })
// Click the 'CREATE' button. Check the error message.
cy.create()
cy.navigate('Ingestion')
const label = 'Username'
cy.checkErr({ err: `"${label}" is required!`, next_to: 'field', label })
}
function blank__dss_ds__test() {
// Configure common. DEV: enable and configure.
configure_common(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ _: { ds: null, ...DS.SHORT, dep: DS_DEP.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_file_pattern__test() {
// Configure common. DEV: enable and configure.
configure_common(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, file_pattern: null, dep: DS_DEP.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 = 'File Pattern'
cy.checkErr({ err: `"${label}" is required!`, next_to: 'field', label })
}
function blank__dss_remote_dir_path__test() {
// Configure common. DEV: enable and configure.
configure_common(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, remote_dir: null, dep: DS_DEP.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 = 'Remote Dir Path'
cy.checkErr({ err: `"${label}" is required!`, next_to: 'field', label })
}
function blank__dss_dep_jvm__test() {
// Configure common. DEV: enable and configure.
configure_common(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: { ...DS_DEP.SHORT, jvm: null } } })
// 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 invalid__dc_dc__test() {
// Configure common. DEV: enable and configure.
configure_common({ ...COMMON.SHORT, dc: undefined })
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: DS_DEP.SHORT } })
// Click the 'CREATE' button. Check the error message for every incorrect DC.
cy.navigate('Ingestion')
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_host__test() {
// Configure common. DEV: enable and configure.
configure_common(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env({ ...ENV.SHORT, host: 'fwcy-invalid.com.' })
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: DS_DEP.SHORT } })
// Click the 'CREATE' button. Check the error message.
cy.create()
cy.navigate('Ingestion')
const label = 'Host'
const err = `Incorrect "${label}". It must be an alpha-numeric string (dashes are allowed). Optionally it can be separated with a dot several times (note: the dot cannot be placed by a dash)!`
cy.checkErr({ err, next_to: 'field', label })
}
function invalid__dc_port__test() {
// Configure common. TEST, PROD: disable. DEV: enable and configure.
configure_common(COMMON.SHORT)
cy.switchEnv('TEST').switch('Configure', false)
cy.switchEnv('PROD').switch('Configure', false)
cy.switchEnv('DEV').switch('Configure', true)
configure_env({ ...ENV.SHORT, port: 32000.5 })
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: DS_DEP.SHORT } })
// Click the 'CREATE' button. Check the error message.
cy.create()
cy.navigate('Ingestion')
const label = 'Port'
const err = `Incorrect "${label}". It must be an integer higher than or equal to 1 and less than or equal to 65535!`
cy.checkErr({ err, next_to: 'field', label })
}
function invalid__dc_username__test() {
// Configure common. TEST, PROD: disable. DEV: enable and configure.
configure_common(COMMON.SHORT)
cy.switchEnv('TEST').switch('Configure', false)
cy.switchEnv('PROD').switch('Configure', false)
cy.switchEnv('DEV').switch('Configure', true)
configure_env({ ...ENV.SHORT, usr: '-fwcy--usr--invalid-' })
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: DS_DEP.SHORT } })
// Click the 'CREATE' button. Check the error message.
cy.create()
cy.navigate('Ingestion')
const label = 'Username'
const err = `Incorrect "${label}". It must be an alpha-numeric 3+ characters string with single dashes allowed in the middle of it!`
cy.checkErr({ err, next_to: 'field', label })
}
function invalid__dss_ds__test() {
// Configure common. DEV: enable and configure.
configure_common(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: DS_DEP.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_files_to_fetch_count__test() {
// Configure common. TEST, PROD: disable. DEV: enable and configure.
configure_common(COMMON.SHORT)
cy.switchEnv('TEST').switch('Configure', false)
cy.switchEnv('PROD').switch('Configure', false)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, fetch_cnt: 1000.5, dep: DS_DEP.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 = 'Files to Fetch Count'
const err = `Incorrect "${label}". It must be an integer higher than or equal to -1 (for all files) and less than or equal to 9223372036854775807!`
cy.checkErr({ err, next_to: 'field', label })
}
function invalid__dss_dep_jads__test() {
// Configure common. DEV: enable and configure.
configure_common(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: { ...DS_DEP.SHORT, jads: 1000000.5 } } })
// 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'
const err = `Incorrect "${label}"! It must be an integer higher than or equal to 0 and less than or equal to 9223372036854775807!`
cy.checkErr({ err, next_to: 'field', label })
}
function invalid__dss_dep_k8s_cpu__test() {
// Configure common. DEV: enable and configure.
configure_common(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: { ...DS_DEP.SHORT, k8s_cpu: 1000000.5 } } })
// 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'
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_dep_k8s_ram__test() {
// Configure common. DEV: enable and configure.
configure_common(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: { ...DS_DEP.SHORT, k8s_ram: '15.5Gi' } } })
// 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(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: { ...DS_DEP.SHORT, m: 30.5 } } })
// 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(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: { ...DS_DEP.SHORT, h: 10.5 } } })
// 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(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: { ...DS_DEP.SHORT, d: 10.5 } } })
// 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__dc_port__test() {
// Configure common. DEV: enable and configure.
configure_common(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env({ ...ENV.SHORT, port: 0 })
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: DS_DEP.SHORT } })
// Click the 'CREATE' button. Check the error message.
cy.create()
cy.navigate('Ingestion')
const label = 'Port'
const err = `Incorrect "${label}"! It must be an integer higher than or equal to 1 and less than or equal to 65535!`
cy.checkErr({ err, next_to: 'field', label })
}
function oohl__dc_port__test() {
// Configure common. DEV: enable and configure.
configure_common(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env({ ...ENV.SHORT, port: 65536 })
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: DS_DEP.SHORT } })
// Click the 'CREATE' button. Check the error message.
cy.create()
cy.navigate('Ingestion')
const label = 'Port'
const err = `Incorrect "${label}"! It must be an integer higher than or equal to 1 and less than or equal to 65535!`
cy.checkErr({ err, next_to: 'field', label })
}
function ooll__dss_files_to_fetch_cnt__test() {
// Configure common. DEV: enable and configure.
configure_common(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, fetch_cnt: -2, dep: DS_DEP.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 = 'Files to Fetch Count'
const err = `Incorrect "${label}"! It must be an integer higher than or equal to -1 (for all files) and less than or equal to 9223372036854775807!`
cy.checkErr({ err, next_to: 'field', label })
}
function oohl__dss_files_to_fetch_cnt__test() {
// Configure common. DEV: enable and configure.
configure_common(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, fetch_cnt: '9223372036854775808', dep: DS_DEP.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 = 'Files to Fetch Count'
const err = `Incorrect "${label}"! It must be an integer higher than or equal to -1 (for all files) and less than or equal to 9223372036854775807!`
cy.checkErr({ err, next_to: 'field', label })
}
function ooll__dss_dep_jads__test() {
// Configure common. DEV: enable and configure.
configure_common(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: { ...DS_DEP.SHORT, jads: -1 } } })
// 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'
const err = `Incorrect "${label}"! It must be an integer higher than or equal to 0 and less than or equal to 9223372036854775807!`
cy.checkErr({ err, next_to: 'field', label })
}
function oohl__dss_dep_jads__test() {
// Configure common. DEV: enable and configure.
configure_common(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: { ...DS_DEP.SHORT, jads: '9223372036854775808' } } })
// 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'
const err = `Incorrect "${label}"! It must be an integer higher than or equal to 0 and less than or equal to 9223372036854775807!`
cy.checkErr({ err, next_to: 'field', label })
}
function ooll__dss_dep_k8s_cpu__test() {
// Configure common. DEV: enable and configure.
configure_common(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: { ...DS_DEP.SHORT, k8s_cpu: 0 } } })
// 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'
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_dep_k8s_cpu__test() {
// Configure common. DEV: enable and configure.
configure_common(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: { ...DS_DEP.SHORT, k8s_cpu: '9223372036854775808' } } })
// 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'
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_dep_k8s_ram__test() {
// Configure common. DEV: enable and configure.
configure_common(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: { ...DS_DEP.SHORT, k8s_ram: '0Gi' } } })
// 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(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: { ...DS_DEP.SHORT, k8s_ram: '33Gi' } } })
// 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(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: { ...DS_DEP.SHORT, m: -1 } } })
// 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(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: { ...DS_DEP.SHORT, m: 60 } } })
// 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(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: { ...DS_DEP.SHORT, h: -1 } } })
// 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(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: { ...DS_DEP.SHORT, h: 24 } } })
// 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(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: { ...DS_DEP.SHORT, d: 0 } } })
// 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(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.SHORT)
// Navigate to the 'Data Sets' tab. DEV: configure.
cy.navigate('Data Sets')
cy.switchEnv('DEV')
configure_dss({ 'fwcy-ds': { ...DS.SHORT, dep: { ...DS_DEP.SHORT, d: 32 } } })
// 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 oth__no_envs__test() {
// Configure common. DEV, TEST, PROD: disable.
configure_common(COMMON.SHORT)
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(COMMON.SHORT)
cy.switchEnv('DEV').switch('Configure', true)
configure_env(ENV.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 ("sftp" ingestion type) test suit.',
() => {
// before(() => { cy.login() })
beforeEach(() => {
reset_window()
// cy.restoreLocalStorage()
// cy.visit('/')
// cy.open('Create Batch Ingestion')
})
// Create:
it('(C+) Create W/ minimal configuration.', create__min__test)
it('(C+) Create W/ maximum configuration.', create__max__test)
it.only('(C+) Create W/ all environments configured.', create__all_envs__test)
// Limit values:
it('(M+) Lower limit value for the DC "Port" field.', ll__dc_port__test)
it('(M+) Higher limit value for the DC "Port" field.', hl__dc_port__test)
it('(M+) Lower limit value for the DSs "Files to Fetch Count" field.', ll__dss_files_to_fetch_cnt__test)
it('(M+) Higher limit value for the DSs "Files to Fetch Count" field.', hl__dss_files_to_fetch_cnt__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: discuss limits W/ Yevheniia.
// it('(M+) Higher limit value for the DSs Deploy "JVM Options" field.', hl__dss_dep_jvm__test) // TODO: discuss 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)
// Update:
it.only('(M+) Update.', update__test)
// Dropdown options:
// TODO: add wizard dropdown options tests here...
// 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 "Host" field.', blank__dc_host__test)
it('(L-) Blank DC "Username" field.', blank__dc_username__test)
it('(L-) Blank DSs "Data Set" field.', blank__dss_ds__test)
it('(L-) Blank DSs "File Pattern" field.', blank__dss_file_pattern__test)
it('(L-) Blank DSs "Remote Dir Path" field.', blank__dss_remote_dir_path__test)
it('(L-) Blank DSs Deploy "JVM Options" field.', blank__dss_dep_jvm__test)
// Invalid values:
it('(L-) Invalid value for the DC "Data Collection" field.', invalid__dc_dc__test)
it('(L-) Invalid value for the DC "Host" field.', invalid__dc_host__test)
it('(L-) Invalid value for the DC "Port" field.', invalid__dc_port__test)
it('(L-) Invalid value for the DC "Username" field.', invalid__dc_username__test)
it('(L-) Invalid value for the DSS "DataSet" field.', invalid__dss_ds__test)
// it('(L-) Invalid value for the DSs "File Pattern" field.', invalid__dss_file_pattern__test) // TODO: try to find invalid glob pattern (ask Anton/Vadym/Andrei, probably they can provide an example).
it('(L-) Invalid value for the DSs "Files to Fetch Count" field.', invalid__dss_files_to_fetch_count__test)
// it('(L-) Invalid value for the DSs "Remote Dir Path" field.', invalid__dss_remote_dir_path__test) // TODO: discuss W/ Yevheniia (the question about the format (datetime) pls see the doc).
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: discuss invalid values W/ Yevheniia.
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)
// Out of limits values.
it('(L-) Out-of-lower-limit value for the DC "Port" field.', ooll__dc_port__test)
it('(L-) Out-of-higher-limit value for the DC "Port" field.', oohl__dc_port__test)
it('(L-) Out-of-lower-limit value for the DSs "Files to Fetch Count" field.', ooll__dss_files_to_fetch_cnt__test)
it('(L-) Out-of-higher-limit value for the DSs "Files to Fetch Count" field.', oohl__dss_files_to_fetch_cnt__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: discuss limits W/ Yevheniia.
// it('(L-) Out-of-higher-limit value for the DSs Deploy "JVM Options" field.', oohl__dss_dep_jvm__test) // TODO: discuss 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)
// Default:
// TODO: add wizard default values tests here...
// Other:
it('(L-) No environments configured.', oth__no_envs__test)
it('(L-) No DSs configured.', oth__no_dss__test) // TODO: the requirements were changed. Ask Yevheniia, do we still need this test.
// Close:
it('(L+) Close.', close__test)
afterEach(() => { cy.saveLocalStorage() })
after(() => { })
}
);Editor is loading...
Leave a Comment