mirror of
https://github.com/datahub-project/datahub.git
synced 2025-07-26 19:10:15 +00:00
184 lines
5.9 KiB
JavaScript
184 lines
5.9 KiB
JavaScript
![]() |
function testPagedDatasets(assert)
|
||
|
{
|
||
|
var done = assert.async();
|
||
|
var page = 1;
|
||
|
var size = 10;
|
||
|
var url = '/api/v1/datasets?size=' + size + '&page=' + page;
|
||
|
|
||
|
$.get( url, function( result ) {
|
||
|
assert.equal(result.status, 'ok', "Called getPagedDatasets check status");
|
||
|
assert.equal(result.data.page, '1', "Called getPagedDatasets check if return correct page.");
|
||
|
assert.ok(result.data.count > 0, "Total " + result.data.count + " datasets returned.");
|
||
|
done();
|
||
|
var dataset = result.data.datasets[0];
|
||
|
testDatasetSchema(assert, dataset);
|
||
|
testDatasetOwners(assert, dataset);
|
||
|
if (dataset.source != 'Hive')
|
||
|
{
|
||
|
testDatasetSample(assert, dataset);
|
||
|
}
|
||
|
testDatasetImpacts(assert, dataset);
|
||
|
testDatasetDepends(assert, dataset);
|
||
|
testDatasetRefrences(assert, dataset);
|
||
|
testDatasetAvailability(assert, dataset);
|
||
|
});
|
||
|
}
|
||
|
|
||
|
function testDatasetSchema(assert, dataset)
|
||
|
{
|
||
|
if (dataset && dataset.id && dataset.id > 0)
|
||
|
{
|
||
|
var done = assert.async();
|
||
|
var url = '/api/v1/datasets/' + dataset.id + '/columns';
|
||
|
|
||
|
$.get( url, function( result ) {
|
||
|
assert.equal(result.status, 'ok', "Dataset id = " + dataset.id + " schema");
|
||
|
if (result.columns && result.columns.length > 0)
|
||
|
{
|
||
|
assert.ok(true, "Tabular schema view is available for Dataset id = " + dataset.id);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
assert.ok(true, "Tabular schema view is not available for Dataset id = " + dataset.id + ", but JSON view is available.");
|
||
|
}
|
||
|
done();
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function testDatasetOwners(assert, dataset)
|
||
|
{
|
||
|
if (dataset && dataset.id && dataset.id > 0)
|
||
|
{
|
||
|
var done = assert.async();
|
||
|
var url = '/api/v1/datasets/' + dataset.id + '/owners';
|
||
|
|
||
|
$.get( url, function( result ) {
|
||
|
assert.equal(result.status, 'ok', "Dataset id = " + dataset.id + " ownership");
|
||
|
if (result.owners && result.owners.length > 0)
|
||
|
{
|
||
|
assert.ok(true, "Owner information is available for Dataset id = " + dataset.id);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
assert.ok(true, "Owner information is not available for Dataset id = " + dataset.id);
|
||
|
}
|
||
|
done();
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function testDatasetSample(assert, dataset)
|
||
|
{
|
||
|
if (dataset && dataset.id && dataset.id > 0)
|
||
|
{
|
||
|
var done = assert.async();
|
||
|
var url = '/api/v1/datasets/' + dataset.id + '/sample';
|
||
|
|
||
|
$.get( url, function( result ) {
|
||
|
assert.equal(result.status, 'ok', "Dataset id = " + dataset.id + " sample data.");
|
||
|
if (result.sampleData && result.sampleData.length > 0)
|
||
|
{
|
||
|
assert.ok(true, "Sample data is available for Dataset id = " + dataset.id);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
assert.ok(true, "Sample data is not available for Dataset id = " + dataset.id);
|
||
|
}
|
||
|
done();
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function testDatasetImpacts(assert, dataset)
|
||
|
{
|
||
|
if (dataset && dataset.id && dataset.id > 0)
|
||
|
{
|
||
|
var done = assert.async();
|
||
|
var url = '/api/v1/datasets/' + dataset.id + '/impacts';
|
||
|
|
||
|
$.get( url, function( result ) {
|
||
|
assert.equal(result.status, 'ok', "Dataset id = " + dataset.id + " down stream impact analysis");
|
||
|
if (result.impacts && result.impacts.length > 0)
|
||
|
{
|
||
|
assert.ok(true, "Down stream impact analysis is available for Dataset id = " + dataset.id);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
assert.ok(true, "Down stream impact analysis is not available for Dataset id = " + dataset.id);
|
||
|
}
|
||
|
done();
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function testDatasetDepends(assert, dataset)
|
||
|
{
|
||
|
if (dataset && dataset.id && dataset.id > 0)
|
||
|
{
|
||
|
var done = assert.async();
|
||
|
var url = '/api/v1/datasets/' + dataset.id + '/depends';
|
||
|
|
||
|
$.get( url, function( result ) {
|
||
|
assert.equal(result.status, 'ok', "Dataset id = " + dataset.id + " depends");
|
||
|
if (result.depends && result.depends.length > 0)
|
||
|
{
|
||
|
assert.ok(true, "Depends view is available for Dataset id = " + dataset.id);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
assert.ok(true, "Depends view is not available for Dataset id = " + dataset.id);
|
||
|
}
|
||
|
done();
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function testDatasetRefrences(assert, dataset)
|
||
|
{
|
||
|
if (dataset && dataset.id && dataset.id > 0)
|
||
|
{
|
||
|
var done = assert.async();
|
||
|
var url = '/api/v1/datasets/' + dataset.id + '/references';
|
||
|
|
||
|
$.get( url, function( result ) {
|
||
|
assert.equal(result.status, 'ok', "Dataset id = " + dataset.id + " references");
|
||
|
if (result.references && result.references.length > 0)
|
||
|
{
|
||
|
assert.ok(true, "References view is available for Dataset id = " + dataset.id);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
assert.ok(true, "References view is not available for Dataset id = " + dataset.id);
|
||
|
}
|
||
|
done();
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function testDatasetAvailability(assert, dataset)
|
||
|
{
|
||
|
if (dataset && dataset.id && dataset.id > 0)
|
||
|
{
|
||
|
var done = assert.async();
|
||
|
var url = '/api/v1/datasets/' + dataset.id + '/access';
|
||
|
|
||
|
$.get( url, function( result ) {
|
||
|
assert.equal(result.status, 'ok', "Dataset id = " + dataset.id + " availability");
|
||
|
if (result.references && result.references.length > 0)
|
||
|
{
|
||
|
assert.ok(true, "Dataset availability is available for id = " + dataset.id);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
assert.ok(true, "Dataset availability is not available for id = " + dataset.id);
|
||
|
}
|
||
|
done();
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
|
||
|
QUnit.test( "datasets test", function( assert ) {
|
||
|
testPagedDatasets(assert);
|
||
|
});
|