parent
8c6f1e6e80
commit
717fbe0c37
2 changed files with 122 additions and 0 deletions
121
test/api_integration/apis/saved_objects/bulk_create.js
Normal file
121
test/api_integration/apis/saved_objects/bulk_create.js
Normal file
|
@ -0,0 +1,121 @@
|
|||
/*
|
||||
* Licensed to Elasticsearch B.V. under one or more contributor
|
||||
* license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright
|
||||
* ownership. Elasticsearch B.V. licenses this file to you under
|
||||
* the Apache License, Version 2.0 (the "License"); you may
|
||||
* not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import expect from 'expect.js';
|
||||
|
||||
export default function ({ getService }) {
|
||||
const supertest = getService('supertest');
|
||||
const es = getService('es');
|
||||
const esArchiver = getService('esArchiver');
|
||||
|
||||
const BULK_REQUESTS = [
|
||||
{
|
||||
type: 'visualization',
|
||||
id: 'dd7caf20-9efd-11e7-acb3-3dab96693fab',
|
||||
attributes: {
|
||||
title: 'An existing visualization'
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'dashboard',
|
||||
id: 'a01b2f57-fcfd-4864-b735-09e28f0d815e',
|
||||
attributes: {
|
||||
title: 'A great new dashboard'
|
||||
}
|
||||
},
|
||||
];
|
||||
|
||||
describe('_bulk_create', () => {
|
||||
describe('with kibana index', () => {
|
||||
before(() => esArchiver.load('saved_objects/basic'));
|
||||
after(() => esArchiver.unload('saved_objects/basic'));
|
||||
|
||||
it('should return 200 with individual responses', async () => (
|
||||
await supertest
|
||||
.post(`/api/saved_objects/_bulk_create`)
|
||||
.send(BULK_REQUESTS)
|
||||
.expect(200)
|
||||
.then(resp => {
|
||||
expect(resp.body).to.eql({
|
||||
saved_objects: [
|
||||
{
|
||||
type: 'visualization',
|
||||
id: 'dd7caf20-9efd-11e7-acb3-3dab96693fab',
|
||||
error: {
|
||||
'message': 'version conflict, document already exists',
|
||||
'statusCode': 409
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'dashboard',
|
||||
id: 'a01b2f57-fcfd-4864-b735-09e28f0d815e',
|
||||
updated_at: resp.body.saved_objects[1].updated_at,
|
||||
version: 1,
|
||||
attributes: {
|
||||
title: 'A great new dashboard'
|
||||
}
|
||||
},
|
||||
]
|
||||
});
|
||||
})
|
||||
));
|
||||
});
|
||||
|
||||
describe('without kibana index', () => {
|
||||
before(async () => (
|
||||
// just in case the kibana server has recreated it
|
||||
await es.indices.delete({
|
||||
index: '.kibana',
|
||||
ignore: [404],
|
||||
})
|
||||
));
|
||||
|
||||
it('should return 200 with individual responses', async () => (
|
||||
await supertest
|
||||
.post('/api/saved_objects/_bulk_create')
|
||||
.send(BULK_REQUESTS)
|
||||
.expect(200)
|
||||
.then(resp => {
|
||||
expect(resp.body).to.eql({
|
||||
saved_objects: [
|
||||
{
|
||||
type: 'visualization',
|
||||
id: 'dd7caf20-9efd-11e7-acb3-3dab96693fab',
|
||||
updated_at: resp.body.saved_objects[0].updated_at,
|
||||
version: 1,
|
||||
attributes: {
|
||||
title: 'An existing visualization'
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'dashboard',
|
||||
id: 'a01b2f57-fcfd-4864-b735-09e28f0d815e',
|
||||
updated_at: resp.body.saved_objects[1].updated_at,
|
||||
version: 1,
|
||||
attributes: {
|
||||
title: 'A great new dashboard'
|
||||
}
|
||||
},
|
||||
]
|
||||
});
|
||||
})
|
||||
));
|
||||
});
|
||||
});
|
||||
}
|
|
@ -19,6 +19,7 @@
|
|||
|
||||
export default function ({ loadTestFile }) {
|
||||
describe('saved_objects', () => {
|
||||
loadTestFile(require.resolve('./bulk_create'));
|
||||
loadTestFile(require.resolve('./bulk_get'));
|
||||
loadTestFile(require.resolve('./create'));
|
||||
loadTestFile(require.resolve('./delete'));
|
||||
|
|
Loading…
Reference in a new issue