Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions test/dataSources.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,16 @@ const dataSourceMetadata = fs.readFileSync(
'utf8'
);

const dataSourceTables = fs.readFileSync(
path.resolve(`${__dirname}/fixtures/data_source_tables.json`),
'utf8'
);

const dataSourceTableMetadata = fs.readFileSync(
path.resolve(`${__dirname}/fixtures/data_source_table_metadata.ttl`),
'utf8'
);

describe('data_sources', () => {
let conn;
const aDSName = 'MyDataSource';
Expand Down Expand Up @@ -142,6 +152,33 @@ describe('data_sources', () => {
}));
});

describe('getTables', () => {
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tests don't run (and never have for this file), but these should at least inform how it should be & what the responses look like.

it('returns the tables for a data source', () =>
assureExists()
.then(() => dataSources.getTables(conn, aDSName))
.then(res => {
expect(res.status).toBe(200);
expect(res.body).toEqual(dataSourceTables);
}));
});

describe('getTableMetadata', () => {
it('returns the metadata of a table', () =>
assureExists()
.then(() =>
dataSources.getTableMetadata(conn, aDSName, {
table_name: 'table-name',
table_type: 'TABLE',
catalog: 'catalog',
schema: 'schema',
})
)
.then(res => {
expect(res.status).toBe(200);
expect(res.body).toEqual(dataSourceTableMetadata);
}));
});

describe('updateMetadata', () => {
it('updates the metadata of a data source', () =>
assureExists()
Expand Down
92 changes: 92 additions & 0 deletions test/fixtures/data_source_table_metadata.ttl
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
@prefix tbl: <http://system.stardog.com/registry/jdbcDataSource/tableMetadata/table/> .
@prefix sqlcase: <http://system.stardog.com/registry/vegaSqlDialect/casing/> .
@prefix sdialect: <http://system.stardog.com/registry/vegaSqlDialect/> .
@prefix : <http://api.stardog.com/> .
@prefix tbldef: <http://system.stardog.com/registry/jdbcDataSource/tableMetadata/table#> .
@prefix jdbcmd: <http://system.stardog.com/registry/jdbcDataSourceMetadata/> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix ds: <http://system.stardog.com/registry/dataSource/> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix coldef: <http://system.stardog.com/registry/jdbcDataSource/tableMetadata/column#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix swrl: <http://www.w3.org/2003/11/swrl#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix qt: <http://system.stardog.com/registry/jdbcDataSource/table/> .
@prefix jdbcds: <http://system.stardog.com/registry/jdbcDataSource/> .
@prefix stardog: <tag:stardog:api:> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix md: <http://system.stardog.com/registry/metadata/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix swrlb: <http://www.w3.org/2003/11/swrlb#> .
@prefix so: <https://schema.org/> .
@prefix col: <http://system.stardog.com/registry/jdbcDataSource/tableMetadata/column/> .
@prefix sqldbprd: <http://system.stardog.com/registry/vegaSqlDialect/databaseProduct/> .
@prefix qtdef: <http://system.stardog.com/registry/jdbcDataSource/table/table#> .
@prefix sqlnullc: <http://system.stardog.com/registry/vegaSqlDialect/nullCollation/> .
@prefix tblmd: <http://system.stardog.com/registry/jdbcDataSource/tableMetadata/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix tbltype: <http://system.stardog.com/registry/jdbcDataSource/table/tableType/> .
@prefix sqldb: <http://system.stardog.com/registry/vegaSqlDialect/db/> .
@prefix dialect: <http://system.stardog.com/registry/dataSource/dialect/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix reg: <http://system.stardog.com/registry/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .


coldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C2 col:columnDataType "12"^^xsd:int .
tbldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor tblmd:primaryKey "0"^^xsd:int .
coldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C4 col:columnDecimalDigits "6"^^xsd:int .
<http://system.stardog.com/registry/jdbcDataSource/tableMetadata/index#aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C1> tblmd:indexedColumn <http://system.stardog.com/registry/jdbcDataSource/tableMetadata/indexedColumn#aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C1-0> .
tbldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor tblmd:column coldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C1 .
coldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C2 col:columnDecimalDigits "0"^^xsd:int .
coldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C4 col:columnName "last_update" ;
col:columnTypeString "timestamp" .
<http://system.stardog.com/registry/jdbcDataSource/tableMetadata/uniqueKeySet/#aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C0> col:uniqueKey "0"^^xsd:int .
coldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C3 col:columnTypeString "varchar" .
tbldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor col:uniqueKeySet <http://system.stardog.com/registry/jdbcDataSource/tableMetadata/uniqueKeySet/#aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C0> ;
tblmd:rowCount 2.0E2 .
coldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C4 col:columnNullability false .
<http://system.stardog.com/registry/jdbcDataSource/tableMetadata/indexedColumn#aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C0-0> tblmd:indexOrdinalPosition "0"^^xsd:int .
coldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C4 col:columnOrdinalPosition "4"^^xsd:int .
<http://system.stardog.com/registry/jdbcDataSource/tableMetadata/indexedColumn#aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C0-0> tblmd:indexCardinality 2.0E2 .
<http://system.stardog.com/registry/jdbcDataSource/tableMetadata/index#aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C1> tblmd:isUnique false .
coldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C1 col:columnSize "10"^^xsd:int .
tbldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor tblmd:column coldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C4 .
coldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C1 col:columnDecimalDigits "0"^^xsd:int .
<http://system.stardog.com/registry/jdbcDataSource/tableMetadata/index#aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C0> tblmd:isUnique true ;
tblmd:indexName "actor_pkey" .
coldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C4 col:columnSize "29"^^xsd:int .
coldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C2 col:columnOrdinalPosition "2"^^xsd:int .
tbldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor tblmd:hasIndex <http://system.stardog.com/registry/jdbcDataSource/tableMetadata/index#aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C0> ;
qt:tableType tbltype:TABLE ;
qt:tableName "actor" .
coldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C3 col:columnNullability false ;
col:columnName "last_name" .
coldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C4 col:columnDataType "93"^^xsd:int .
tbldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor tblmd:column coldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C3 .
<http://system.stardog.com/registry/jdbcDataSource/tableMetadata/indexedColumn#aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C0-0> tblmd:indexColumnId "0"^^xsd:int .
tbldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor qt:schema "public" .
coldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C1 col:columnName "actor_id" .
<http://system.stardog.com/registry/jdbcDataSource/tableMetadata/index#aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C1> tblmd:indexType "3" .
coldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C2 col:columnName "first_name" ;
col:columnSize "45"^^xsd:int .
tbldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor tblmd:hasIndex <http://system.stardog.com/registry/jdbcDataSource/tableMetadata/index#aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C1> .
coldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C2 col:columnNullability false .
<http://system.stardog.com/registry/jdbcDataSource/tableMetadata/index#aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C1> tblmd:indexName "idx_actor_last_name" .
<http://system.stardog.com/registry/jdbcDataSource/tableMetadata/indexedColumn#aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C1-0> tblmd:indexColumnId "2"^^xsd:int .
coldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C3 col:columnOrdinalPosition "3"^^xsd:int .
coldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C1 col:columnTypeString "serial" ;
col:columnDataType "4"^^xsd:int .
coldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C3 col:columnDataType "12"^^xsd:int ;
col:columnDecimalDigits "0"^^xsd:int .
tbldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor tblmd:column coldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C2 .
<http://system.stardog.com/registry/jdbcDataSource/tableMetadata/index#aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C0> tblmd:indexedColumn <http://system.stardog.com/registry/jdbcDataSource/tableMetadata/indexedColumn#aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C0-0> .
tbldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor qt:catalog "dvdrental" .
coldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C2 col:columnTypeString "varchar" .
<http://system.stardog.com/registry/jdbcDataSource/tableMetadata/index#aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C0> tblmd:indexType "3" .
coldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C3 col:columnSize "45"^^xsd:int .
<http://system.stardog.com/registry/jdbcDataSource/tableMetadata/indexedColumn#aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C1-0> tblmd:indexOrdinalPosition "0"^^xsd:int .
coldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C1 col:columnOrdinalPosition "1"^^xsd:int .
<http://system.stardog.com/registry/jdbcDataSource/tableMetadata/indexedColumn#aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C1-0> tblmd:indexCardinality 2.0E2 .
tbldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor tblmd:dataSourceName "aaatest" .
coldef:aaatest%5CTABLE%5Cdvdrental%5Cpublic%5Cactor%5C1 col:columnNullability false .
20 changes: 20 additions & 0 deletions test/fixtures/data_source_tables.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
[
{
"catalog": "dvdrental",
"schema": "public",
"table_name": "actor",
"table_type": "TABLE"
},
{
"catalog": "dvdrental",
"schema": "public",
"table_name": "actor_actor_id_seq",
"table_type": "SEQUENCE"
},
{
"catalog": "dvdrental",
"schema": "public",
"table_name": "actor_info",
"table_type": "VIEW"
},
]