Skip to content

Commit

Permalink
Integration test: Fix yaml parser and crash on failure (#1423)
Browse files Browse the repository at this point in the history
* Fix yaml parser and crash on failure

* Log response in case of ResponseError

* Updated cleanup

* Updated skip list

* Updated skip list

* Updated skip list
  • Loading branch information
delvedor committed Mar 24, 2021
1 parent 886289e commit c8aae67
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 27 deletions.
2 changes: 2 additions & 0 deletions test/integration/helper.js
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,8 @@ function isXPackTemplate (name) {
case 'synthetics-mappings':
case '.snapshot-blob-cache':
case '.deprecation-indexing-template':
case '.deprecation-indexing-mappings':
case '.deprecation-indexing-settings':
return true
}
return false
Expand Down
16 changes: 13 additions & 3 deletions test/integration/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,8 @@ const platinumBlackList = {
],
// The cleanup fails with a index not found when retrieving the jobs
'ml/get_datafeed_stats.yml': ['Test get datafeed stats when total_search_time_ms mapping is missing'],
// Investigate why is failing
'ml/inference_crud.yml': ['*'],
// investigate why this is failing
'monitoring/bulk/10_basic.yml': ['*'],
'monitoring/bulk/20_privileges.yml': ['*'],
Expand All @@ -91,6 +93,7 @@ const platinumBlackList = {
'snapshot/20_operator_privileges_disabled.yml': ['*'],
// the body is correct, but the regex is failing
'sql/sql.yml': ['Getting textual representation'],
'searchable_snapshots/10_usage.yml': ['*'],
// we are setting two certificates in the docker config
'ssl/10_basic.yml': ['*'],
// very likely, the index template has not been loaded yet.
Expand Down Expand Up @@ -136,7 +139,15 @@ function runner (opts = {}) {
const client = new Client(options)
log('Loading yaml suite')
start({ client, isXPack: opts.isXPack })
.catch(console.log)
.catch(err => {
if (err.name === 'ResponseError') {
console.error(err)
console.log(JSON.stringify(err.meta, null, 2))
} else {
console.error(err)
}
process.exit(1)
})
}

async function waitCluster (client, times = 0) {
Expand Down Expand Up @@ -303,10 +314,9 @@ function now () {
}

function parse (data) {
const schema = yaml.Schema.create(yaml.CORE_SCHEMA, [])
let doc
try {
doc = yaml.safeLoad(data, { schema })
doc = yaml.load(data, { schema: yaml.CORE_SCHEMA })
} catch (err) {
console.error(err)
return
Expand Down
37 changes: 13 additions & 24 deletions test/integration/test-runner.js
Original file line number Diff line number Diff line change
Expand Up @@ -95,32 +95,21 @@ function build (opts = {}) {
// clean all indices
await client.indices.delete({ index: '*,-.ds-ilm-history-*', expand_wildcards: 'open,closed,hidden' }, { ignore: [404] })

if (isXPack) {
// delete templates
const { body: templates } = await client.cat.templates({ h: 'name' })
for (const template of templates.split('\n').filter(Boolean)) {
if (isXPackTemplate(template)) continue
const { body } = await client.indices.deleteTemplate({ name: template }, { ignore: [404] })
if (JSON.stringify(body).includes(`index_template [${template}] missing`)) {
await client.indices.deleteIndexTemplate({ name: template }, { ignore: [404] })
}
}

// delete component template
const { body } = await client.cluster.getComponentTemplate()
const components = body.component_templates.filter(c => !isXPackTemplate(c.name)).map(c => c.name)
if (components.length > 0) {
await client.cluster.deleteComponentTemplate({ name: components.join(',') }, { ignore: [404] })
// delete templates
const { body: templates } = await client.cat.templates({ h: 'name' })
for (const template of templates.split('\n').filter(Boolean)) {
if (isXPackTemplate(template)) continue
const { body } = await client.indices.deleteTemplate({ name: template }, { ignore: [404] })
if (JSON.stringify(body).includes(`index_template [${template}] missing`)) {
await client.indices.deleteIndexTemplate({ name: template }, { ignore: [404] })
}
} else {
// clean all templates
await client.indices.deleteTemplate({ name: '*' })

// clean all templates
await client.indices.deleteIndexTemplate({ name: '*' })
}

// clean all templates
await client.cluster.deleteComponentTemplate({ name: '*' })
// delete component template
const { body } = await client.cluster.getComponentTemplate()
const components = body.component_templates.filter(c => !isXPackTemplate(c.name)).map(c => c.name)
if (components.length > 0) {
await client.cluster.deleteComponentTemplate({ name: components.join(',') }, { ignore: [404] })
}

// Remove any cluster setting
Expand Down

0 comments on commit c8aae67

Please sign in to comment.