#  *******************************************************************************
#  Copyright (c) 2019 Contributors to the Eclipse Foundation
#
#  See the NOTICE file(s) distributed with this work for additional
#  information regarding copyright ownership.
#
#  This program and the accompanying materials are made available under the
#  terms of the Eclipse Public License v. 2.0 which is available at
#  http://www.eclipse.org/legal/epl-2.0.
#
#  SPDX-License-Identifier: EPL-2.0
#  *******************************************************************************
spring:
  datasource:
    url: jdbc:h2:mem:test;DB_CLOSE_DELAY=-1

  jpa:
    hibernate:
      ddl-auto: create
    show-sql: true
  flyway:
    enabled: false

jwt:
  tokenHeader: accessToken
  useStaticJwt: true
  staticJwt: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJIYlI3Z2pobmE2eXJRZnZJTWhUSV9tY2g3ZmtTQWVFX3hLTjBhZVl0bjdjIn0.eyJqdGkiOiI1OWVmNTYxNi1hYjlkLTQwMDItODUxNC05Njg4NzMwNmRiMzciLCJleHAiOjE1NzY0ODY4NzYsIm5iZiI6MCwiaWF0IjoxNTc2NDg2NTc2LCJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjgwODAvYXV0aC9yZWFsbXMvRWxvZ2Jvb2siLCJhdWQiOiJlbG9nYm9vay1iYWNrZW5kIiwic3ViIjoiYzFkMTA5NDAtNzRjYS00ZWZjLWFlNWUtY2Q5NmE5ZWE3MTI3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZWxvZ2Jvb2stYmFja2VuZCIsImF1dGhfdGltZSI6MCwic2Vzc2lvbl9zdGF0ZSI6IjQ2ZmVlNTE2LTA0ODktNGYzNC1iZDI4LWI1NjBiNzFmZDViMCIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsia29uLWFjY2VzcyIsImtvbi1yZWFkZXIiXX0sInJlc291cmNlX2FjY2VzcyI6e30sIm5hbWUiOiJGaW5pYSBSZWFkZXIiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJmaW5pYV9yIiwiZ2l2ZW5fbmFtZSI6IkZpbmlhIiwiZmFtaWx5X25hbWUiOiJSZWFkZXIifQ.CHtZ_SdXxwzQeji41vVCh6e84pls2LfJC1Z6cMiU0ks0nBa9GXPy_TtqMAsmVEbjPJOkFaOY0rO28h7kldUALCiWEl2-7bzKlW4FvKYv_xrlhWJDWI9PTvYKZHMD7igp8ePs9t4ksvr3J8pRl75-_jWa-lPI6dW0B2vinwyZcH0RW6ImQUG23zcvtUpVIGUHbD0YiZKdBg--UU4760EzrGYAXQPgaU63Fw4aw8qbRsD4007mETbpr5avmUnQeWjhG0swukgmA4t9xTWElXD0JaheDxNPQsZMDkv-dX-A114UHjjoIC_S9EDDYc3P7yZkKwcp-CbUBkR7WIMu6zQD7g
