import { MetaData, MetaDataAlgorithm } from '../../../src' // @oceanprotocol/squid import { ServiceType } from '../../../src/ddo/Service' import ddoExample from '../../unit/__fixtures__/ddo.json' const metadata: Partial = { main: { name: undefined, type: undefined, dateCreated: '2012-10-10T17:00:00Z', datePublished: '2012-10-10T17:00:00Z', author: 'Met Office', license: 'CC-BY', price: '21' + '0'.repeat(18), files: [ { index: 0, contentType: 'application/json', url: 'https://raw.githubusercontent.com/oceanprotocol/squid-js/master/package.json' }, { index: 1, contentType: 'text/plain', url: 'https://raw.githubusercontent.com/oceanprotocol/squid-js/master/README.md' } ] }, additionalInformation: { description: 'Weather information of UK including temperature and humidity', copyrightHolder: 'Met Office', workExample: '423432fsd,51.509865,-0.118092,2011-01-01T10:55:11+00:00,7.2,68', links: [ { name: 'Sample of Asset Data', type: 'sample', url: 'https://foo.com/sample.csv' }, { name: 'Data Format Definition', type: 'format', url: 'https://foo.com/sample.csv' } ], inLanguage: 'en', categories: ['Economy', 'Data Science'], tags: ['weather', 'uk', '2011', 'temperature', 'humidity'] } } const algorithmMeta: MetaDataAlgorithm = { language: 'scala', format: 'docker-image', version: '0.1', container: { entrypoint: 'ocean-entrypoint.sh', image: 'node', tag: '10' } } export const generateMetadata = ( name: string, type?: 'dataset' | 'algorithm', price?: number ): Partial => ({ main: { ...metadata.main, name, type: type || 'dataset', price: (price || 21) + '0'.repeat(18), algorithm: type === 'algorithm' ? algorithmMeta : undefined }, additionalInformation: { ...metadata.additionalInformation } }) export const getMetadata = (price?: number, type?: 'dataset' | 'algorithm') => generateMetadata('TestAsset', type, price) export const getComputeServiceExample = () => { const computeService = ddoExample.service.find(service => service.type === 'compute') const { index, serviceEndpoint, templateId, attributes } = computeService return { type: 'compute' as ServiceType, index, serviceEndpoint, templateId, attributes } }