mirror of
https://github.com/datahub-project/datahub.git
synced 2025-07-28 03:49:37 +00:00
643 lines
17 KiB
TypeScript
643 lines
17 KiB
TypeScript
import { GetDatasetDocument, UpdateDatasetDocument } from './graphql/dataset.generated';
|
|
import { GetBrowsePathsDocument, GetBrowseResultsDocument } from './graphql/browse.generated';
|
|
import {
|
|
GetAutoCompleteResultsDocument,
|
|
GetSearchResultsDocument,
|
|
GetSearchResultsQuery,
|
|
} from './graphql/search.generated';
|
|
import { LoginDocument } from './graphql/auth.generated';
|
|
import { GetUserDocument } from './graphql/user.generated';
|
|
import { Dataset, EntityType, PlatformType } from './types.generated';
|
|
|
|
const user1 = {
|
|
username: 'sdas',
|
|
urn: 'urn:li:corpuser:1',
|
|
type: EntityType.CorpUser,
|
|
info: {
|
|
email: 'sdas@domain.com',
|
|
active: true,
|
|
displayName: 'sdas',
|
|
title: 'Software Engineer',
|
|
firstName: 'Shirshanka',
|
|
lastName: 'Das',
|
|
fullName: 'Shirshanka Das',
|
|
},
|
|
editableInfo: {
|
|
pictureLink: 'https://crunchconf.com/img/2019/speakers/1559291783-ShirshankaDas.png',
|
|
},
|
|
};
|
|
|
|
const user2 = {
|
|
username: 'john',
|
|
urn: 'urn:li:corpuser:3',
|
|
type: EntityType.CorpUser,
|
|
info: {
|
|
email: 'john@domain.com',
|
|
active: true,
|
|
displayName: 'john',
|
|
title: 'Eng',
|
|
firstName: 'John',
|
|
lastName: 'Joyce',
|
|
fullName: 'John Joyce',
|
|
},
|
|
editableInfo: {
|
|
pictureLink: null,
|
|
},
|
|
};
|
|
|
|
const dataset1 = {
|
|
urn: 'urn:li:dataset:1',
|
|
type: EntityType.Dataset,
|
|
platform: {
|
|
urn: 'urn:li:dataPlatform:hdfs',
|
|
name: 'HDFS',
|
|
type: EntityType.DataPlatform,
|
|
info: {
|
|
type: PlatformType.FileSystem,
|
|
datasetNameDelimiter: '.',
|
|
logoUrl: '',
|
|
},
|
|
},
|
|
platformNativeType: 'TABLE',
|
|
name: 'The Great Test Dataset',
|
|
origin: 'PROD',
|
|
tags: ['Private', 'PII'],
|
|
description: 'This is the greatest dataset in the world, youre gonna love it!',
|
|
uri: 'www.google.com',
|
|
properties: [
|
|
{
|
|
key: 'TestProperty',
|
|
value: 'My property value.',
|
|
},
|
|
{
|
|
key: 'AnotherTestProperty',
|
|
value: 'My other property value.',
|
|
},
|
|
],
|
|
created: {
|
|
time: 0,
|
|
},
|
|
lastModified: {
|
|
time: 0,
|
|
},
|
|
ownership: {
|
|
owners: [
|
|
{
|
|
owner: {
|
|
...user1,
|
|
},
|
|
type: 'DATAOWNER',
|
|
},
|
|
{
|
|
owner: {
|
|
...user2,
|
|
},
|
|
type: 'DELEGATE',
|
|
},
|
|
],
|
|
lastModified: {
|
|
time: 0,
|
|
},
|
|
},
|
|
institutionalMemory: {
|
|
elements: [
|
|
{
|
|
url: 'https://www.google.com',
|
|
description: 'This only points to Google',
|
|
created: {
|
|
actor: 'urn:li:corpuser:1',
|
|
time: 1612396473001,
|
|
},
|
|
},
|
|
],
|
|
},
|
|
};
|
|
|
|
const dataset2 = {
|
|
urn: 'urn:li:dataset:2',
|
|
type: EntityType.Dataset,
|
|
platform: {
|
|
urn: 'urn:li:dataPlatform:mysql',
|
|
name: 'MySQL',
|
|
info: {
|
|
type: PlatformType.RelationalDb,
|
|
datasetNameDelimiter: '.',
|
|
logoUrl: '',
|
|
},
|
|
type: EntityType.DataPlatform,
|
|
},
|
|
platformNativeType: 'TABLE',
|
|
name: 'Some Other Dataset',
|
|
origin: 'PROD',
|
|
tags: ['Outdated'],
|
|
description: 'This is some other dataset, so who cares!',
|
|
uri: 'www.google.com',
|
|
properties: [],
|
|
created: {
|
|
time: 0,
|
|
},
|
|
lastModified: {
|
|
time: 0,
|
|
},
|
|
ownership: {
|
|
owners: [
|
|
{
|
|
owner: {
|
|
...user1,
|
|
},
|
|
type: 'DATAOWNER',
|
|
},
|
|
{
|
|
owner: {
|
|
...user2,
|
|
},
|
|
type: 'DELEGATE',
|
|
},
|
|
],
|
|
lastModified: {
|
|
time: 0,
|
|
},
|
|
},
|
|
};
|
|
|
|
const dataset3 = {
|
|
urn: 'urn:li:dataset:3',
|
|
type: EntityType.Dataset,
|
|
platform: {
|
|
urn: 'urn:li:dataPlatform:kafka',
|
|
name: 'Kafka',
|
|
info: {
|
|
type: PlatformType.MessageBroker,
|
|
datasetNameDelimiter: '.',
|
|
logoUrl: '',
|
|
},
|
|
type: EntityType.DataPlatform,
|
|
},
|
|
platformNativeType: 'STREAM',
|
|
name: 'Yet Another Dataset',
|
|
origin: 'PROD',
|
|
tags: ['Trusted'],
|
|
description: 'This and here we have yet another Dataset (YAN). Are there more?',
|
|
uri: 'www.google.com',
|
|
properties: [],
|
|
created: {
|
|
time: 0,
|
|
},
|
|
lastModified: {
|
|
time: 0,
|
|
},
|
|
ownership: {
|
|
owners: [
|
|
{
|
|
owner: {
|
|
...user1,
|
|
},
|
|
type: 'DATAOWNER',
|
|
},
|
|
{
|
|
owner: {
|
|
...user2,
|
|
},
|
|
type: 'DELEGATE',
|
|
},
|
|
],
|
|
lastModified: {
|
|
time: 0,
|
|
},
|
|
},
|
|
} as Dataset;
|
|
|
|
/*
|
|
Define mock data to be returned by Apollo MockProvider.
|
|
*/
|
|
export const mocks = [
|
|
{
|
|
request: {
|
|
query: LoginDocument,
|
|
variables: {
|
|
username: 'datahub',
|
|
password: 'datahub',
|
|
},
|
|
},
|
|
result: {
|
|
data: {
|
|
login: {
|
|
...user1,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
request: {
|
|
query: GetDatasetDocument,
|
|
variables: {
|
|
urn: 'urn:li:dataset:1',
|
|
},
|
|
},
|
|
result: {
|
|
data: {
|
|
dataset: {
|
|
...dataset1,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
request: {
|
|
query: GetUserDocument,
|
|
variables: {
|
|
urn: 'urn:li:corpuser:1',
|
|
},
|
|
},
|
|
result: {
|
|
data: {
|
|
corpUser: {
|
|
...user1,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
request: {
|
|
query: GetBrowsePathsDocument,
|
|
variables: {
|
|
input: {
|
|
type: 'DATASET',
|
|
urn: 'urn:li:dataset:1',
|
|
},
|
|
},
|
|
},
|
|
result: {
|
|
data: {
|
|
browsePaths: [['prod', 'hdfs', 'datasets']],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
request: {
|
|
query: GetBrowseResultsDocument,
|
|
variables: {
|
|
input: {
|
|
type: 'DATASET',
|
|
path: [],
|
|
start: 0,
|
|
count: 20,
|
|
filters: null,
|
|
},
|
|
},
|
|
},
|
|
result: {
|
|
data: {
|
|
browse: {
|
|
entities: [],
|
|
start: 0,
|
|
count: 0,
|
|
total: 0,
|
|
metadata: {
|
|
path: [],
|
|
groups: [
|
|
{
|
|
name: 'prod',
|
|
count: 1,
|
|
},
|
|
],
|
|
totalNumEntities: 1,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
request: {
|
|
query: GetBrowseResultsDocument,
|
|
variables: {
|
|
input: {
|
|
type: 'DATASET',
|
|
path: ['prod', 'hdfs'],
|
|
start: 0,
|
|
count: 20,
|
|
filters: null,
|
|
},
|
|
},
|
|
},
|
|
result: {
|
|
data: {
|
|
browse: {
|
|
entities: [
|
|
{
|
|
__typename: 'Dataset',
|
|
...dataset1,
|
|
},
|
|
],
|
|
start: 0,
|
|
count: 1,
|
|
total: 1,
|
|
metadata: {
|
|
path: ['prod', 'hdfs'],
|
|
groups: [],
|
|
totalNumEntities: 0,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
request: {
|
|
query: GetBrowseResultsDocument,
|
|
variables: {
|
|
input: {
|
|
type: 'DATASET',
|
|
path: ['prod'],
|
|
start: 0,
|
|
count: 20,
|
|
filters: null,
|
|
},
|
|
},
|
|
},
|
|
result: {
|
|
data: {
|
|
browse: {
|
|
entities: [],
|
|
start: 0,
|
|
count: 0,
|
|
total: 0,
|
|
metadata: {
|
|
path: ['prod'],
|
|
groups: [
|
|
{
|
|
name: 'hdfs',
|
|
count: 1,
|
|
},
|
|
],
|
|
totalNumEntities: 1,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
request: {
|
|
query: GetAutoCompleteResultsDocument,
|
|
variables: {
|
|
input: {
|
|
type: 'DATASET',
|
|
query: 't',
|
|
},
|
|
},
|
|
},
|
|
result: {
|
|
data: {
|
|
autoComplete: {
|
|
query: 't',
|
|
suggestions: ['The Great Test Dataset', 'Some other test'],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
request: {
|
|
query: GetAutoCompleteResultsDocument,
|
|
variables: {
|
|
input: {
|
|
type: 'USER',
|
|
query: 'j',
|
|
},
|
|
},
|
|
},
|
|
result: {
|
|
data: {
|
|
autoComplete: {
|
|
query: 'j',
|
|
suggestions: ['jjoyce'],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
request: {
|
|
query: GetSearchResultsDocument,
|
|
variables: {
|
|
input: {
|
|
type: 'DATASET',
|
|
query: 'test',
|
|
start: 0,
|
|
count: 10,
|
|
filters: [],
|
|
},
|
|
},
|
|
},
|
|
result: {
|
|
data: {
|
|
search: {
|
|
start: 0,
|
|
count: 3,
|
|
total: 3,
|
|
entities: [
|
|
{
|
|
__typename: 'Dataset',
|
|
...dataset1,
|
|
},
|
|
{
|
|
__typename: 'Dataset',
|
|
...dataset2,
|
|
},
|
|
{
|
|
__typename: 'Dataset',
|
|
...dataset3,
|
|
},
|
|
],
|
|
facets: [
|
|
{
|
|
field: 'origin',
|
|
aggregations: [{ value: 'PROD', count: 3 }],
|
|
},
|
|
{
|
|
field: 'platform',
|
|
aggregations: [
|
|
{ value: 'HDFS', count: 1 },
|
|
{ value: 'MySQL', count: 1 },
|
|
{ value: 'Kafka', count: 1 },
|
|
],
|
|
},
|
|
],
|
|
},
|
|
} as GetSearchResultsQuery,
|
|
},
|
|
},
|
|
{
|
|
request: {
|
|
query: GetSearchResultsDocument,
|
|
variables: {
|
|
input: {
|
|
type: 'DATASET',
|
|
query: 'test',
|
|
start: 0,
|
|
count: 10,
|
|
filters: [
|
|
{
|
|
field: 'platform',
|
|
value: 'kafka',
|
|
},
|
|
],
|
|
},
|
|
},
|
|
},
|
|
result: {
|
|
data: {
|
|
__typename: 'Query',
|
|
search: {
|
|
__typename: 'SearchResults',
|
|
start: 0,
|
|
count: 1,
|
|
total: 1,
|
|
entities: [
|
|
{
|
|
__typename: 'Dataset',
|
|
...dataset3,
|
|
},
|
|
],
|
|
facets: [
|
|
{
|
|
field: 'origin',
|
|
aggregations: [
|
|
{
|
|
value: 'PROD',
|
|
count: 3,
|
|
},
|
|
],
|
|
},
|
|
{
|
|
field: 'platform',
|
|
aggregations: [
|
|
{ value: 'hdfs', count: 1 },
|
|
{ value: 'mysql', count: 1 },
|
|
{ value: 'kafka', count: 1 },
|
|
],
|
|
},
|
|
],
|
|
},
|
|
} as GetSearchResultsQuery,
|
|
},
|
|
},
|
|
{
|
|
request: {
|
|
query: GetSearchResultsDocument,
|
|
variables: {
|
|
input: {
|
|
type: 'DATASET',
|
|
query: 'test',
|
|
start: 0,
|
|
count: 10,
|
|
filters: [
|
|
{
|
|
field: 'platform',
|
|
value: 'kafka,hdfs',
|
|
},
|
|
],
|
|
},
|
|
},
|
|
},
|
|
result: {
|
|
data: {
|
|
__typename: 'Query',
|
|
search: {
|
|
__typename: 'SearchResults',
|
|
start: 0,
|
|
count: 1,
|
|
total: 1,
|
|
entities: [
|
|
{
|
|
__typename: 'Dataset',
|
|
...dataset3,
|
|
},
|
|
],
|
|
facets: [
|
|
{
|
|
field: 'origin',
|
|
aggregations: [
|
|
{
|
|
value: 'PROD',
|
|
count: 3,
|
|
},
|
|
],
|
|
},
|
|
{
|
|
field: 'platform',
|
|
aggregations: [
|
|
{ value: 'hdfs', count: 1 },
|
|
{ value: 'mysql', count: 1 },
|
|
{ value: 'kafka', count: 1 },
|
|
],
|
|
},
|
|
],
|
|
},
|
|
} as GetSearchResultsQuery,
|
|
},
|
|
},
|
|
{
|
|
request: {
|
|
query: GetSearchResultsDocument,
|
|
variables: {
|
|
input: {
|
|
type: 'USER',
|
|
query: 'Test',
|
|
start: 0,
|
|
count: 10,
|
|
},
|
|
},
|
|
},
|
|
result: {
|
|
data: {
|
|
search: {
|
|
start: 0,
|
|
count: 2,
|
|
total: 2,
|
|
entities: [
|
|
{
|
|
...user1,
|
|
},
|
|
],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
request: {
|
|
query: UpdateDatasetDocument,
|
|
variables: {
|
|
input: {
|
|
urn: 'urn:li:dataset:1',
|
|
ownership: {
|
|
owners: [
|
|
{
|
|
owner: 'urn:li:corpuser:1',
|
|
type: 'DATAOWNER',
|
|
},
|
|
],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
result: {
|
|
data: {
|
|
dataset: {
|
|
urn: 'urn:li:corpuser:1',
|
|
ownership: {
|
|
owners: [
|
|
{
|
|
owner: {
|
|
...user1,
|
|
},
|
|
type: 'DATAOWNER',
|
|
},
|
|
],
|
|
lastModified: {
|
|
time: 0,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
];
|