mikaelvesavuori/catalogist

View on GitHub
testdata/TestDatabase.ts

Summary

Maintainability
D
1 day
Test Coverage
A
100%
import { Manifest } from '../src/interfaces/Manifest';

export const testdata: Manifest[] = [
  {
    spec: {
      repo: 'someorg/somerepo',
      name: 'my-api',
      description: 'My API',
      kind: 'api',
      lifecycleStage: 'somelifecycle',
      version: '1.0.0',
      responsible: 'Someguy Someguyson',
      team: 'ThatAwesomeTeam',
      system: 'some-system',
      domain: 'some-domain',
      dataSensitivity: 'public',
      tags: ['typescript', 'backend']
    },
    relations: ['my-other-service'],
    support: {
      resolverGroup: 'ThatAwesomeTeam'
    },
    slo: [
      {
        description: 'Max latency must be 350ms for the 90th percentile',
        type: 'latency',
        implementation:
          '(sum:trace.aws.lambda.hits.by_http_status{http.status_class:2xx AND service IN (demoservice-user,demoservice-greet)} by {service}.as_count() - sum:trace.aws.lambda.errors.by_http_status{http.status_class:5xx AND service IN (demoservice-user,demoservice-greet)} by {service}.as_count()) / (sum:trace.aws.lambda.hits{service IN (demoservice-user,demoservice-greet)} by {service}.as_count())',
        target: '350ms',
        period: 30
      }
    ],
    api: [
      {
        name: 'My API',
        schemaPath: './api/schema.yml'
      }
    ],
    metadata: {},
    links: [
      {
        url: 'https://my-confluence.atlassian.net/wiki/spaces/DEV/pages/123456789/',
        title: 'Confluence documentation',
        icon: 'documentation'
      }
    ]
  },
  {
    spec: {
      repo: 'someorg/somerepo',
      name: 'my-other-api',
      description: 'My API',
      kind: 'api',
      lifecycleStage: 'somelifecycle',
      version: '1.0.0',
      responsible: 'Someguy Someguyson',
      team: 'ThatAwesomeTeam',
      system: 'some-system',
      domain: 'some-domain',
      dataSensitivity: 'public',
      tags: ['typescript', 'backend']
    },
    relations: ['my-other-service'],
    support: {
      resolverGroup: 'ThatAwesomeTeam'
    },
    slo: [
      {
        description: 'Max latency must be 350ms for the 90th percentile',
        type: 'latency',
        implementation:
          '(sum:trace.aws.lambda.hits.by_http_status{http.status_class:2xx AND service IN (demoservice-user,demoservice-greet)} by {service}.as_count() - sum:trace.aws.lambda.errors.by_http_status{http.status_class:5xx AND service IN (demoservice-user,demoservice-greet)} by {service}.as_count()) / (sum:trace.aws.lambda.hits{service IN (demoservice-user,demoservice-greet)} by {service}.as_count())',
        target: '350ms',
        period: 30
      }
    ],
    api: [
      {
        name: 'My API',
        schemaPath: './api/schema.yml'
      }
    ],
    metadata: {},
    links: [
      {
        url: 'https://my-confluence.atlassian.net/wiki/spaces/DEV/pages/123456789/',
        title: 'Confluence documentation',
        icon: 'documentation'
      }
    ]
  },
  {
    spec: {
      repo: 'someorg/someotherrepo',
      name: 'my-service',
      description: 'My service',
      kind: 'service',
      lifecycleStage: 'somelifecycle',
      version: '3.0.0',
      responsible: 'Someguy Someguyson',
      team: 'SomeOtherTeam',
      system: 'some-system',
      domain: 'some-domain',
      dataSensitivity: 'public',
      tags: ['typescript', 'backend']
    }
  }
];