spring:
  servlet:
    multipart:
      max-file-size: 50MB
      max-request-size: 50MB
      enabled: true
      file-size-threshold: 2KB
# If using flyway-core dependency, either comment this out or use @FlywayDatasource in DemoDataSourceConfig
#  flyway:
#    url: ${spring.datasource.hikari.jdbc-url}
#    user: ${spring.datasource.hikari.username}
#    password: ${spring.datasource.hikari.password}
  datasource:
    # type: com.zaxxer.hikari.HikariDataSource
    # driver-class-name: com.mysql.cj.jdbc.Driver
#    url: jdbc:mysql://localhost:3306?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8
#    username: root
#    password: apijson
    hikari:
      type: com.zaxxer.hikari.HikariDataSource
      driver-class-name: org.postgresql.Driver
      jdbc-url: jdbc:postgresql://localhost:5432/postgres?stringtype=unspecified
      username: postgres
      password: 
      minimum-idle: 5
      idle-timeout: 600000
      maximum-pool-size: 10
      auto-commit: true
      pool-name: MyHikariCP
      max-lifetime: 1800000
      connection-timeout: 30000
      connection-test-query: SELECT 1
    druid:
      driverClassName: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8
      username: root
      password: apijson
      type: com.alibaba.druid.pool.DruidDataSource
      initialSize: 5
      minIdle: 5
      maxActive: 20
      maxWait: 60000
      timeBetweenEvictionRunsMillis: 60000
      minEvictableIdleTimeMillis: 300000
      validationQuery: SELECT 1 FROM DUAL
      testWhileIdle: true
      testOnBorrow: false
      testOnReturn: false
      poolPreparedStatements: true
      maxPoolPreparedStatementPerConnectionSize: 20
      # filters: stat,wall,log4j
      connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
      useGlobalDataSourceStat: true    
    druid-test:
      driverClassName: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8
      username: root
      password: apijson
      type: com.alibaba.druid.pool.DruidDataSource
      initialSize: 5
      minIdle: 5
      maxActive: 20
      maxWait: 60000
      timeBetweenEvictionRunsMillis: 60000
      minEvictableIdleTimeMillis: 300000
      validationQuery: SELECT 1 FROM DUAL
      testWhileIdle: true
      testOnBorrow: false
      testOnReturn: false
      poolPreparedStatements: true
      maxPoolPreparedStatementPerConnectionSize: 20
      # filters: stat,wall,log4j
      connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
      useGlobalDataSourceStat: true    
    druid-online:
      driverClassName: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://apijson.cn:3306?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8
      username: root
      password: apijson
      type: com.alibaba.druid.pool.DruidDataSource
      initialSize: 5
      minIdle: 5
      maxActive: 20
      maxWait: 60000
      timeBetweenEvictionRunsMillis: 60000
      minEvictableIdleTimeMillis: 300000
      validationQuery: SELECT 1 FROM DUAL
      testWhileIdle: true
      testOnBorrow: false
      testOnReturn: false
      poolPreparedStatements: true
      maxPoolPreparedStatementPerConnectionSize: 20
      # filters: stat,wall,log4j
      connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
      useGlobalDataSourceStat: true

# 每日上午 10:00 和晚上 8:00(20:00) 自动跑定时任务触发接口自动化回归测试并邮箱通知报告，点链接跳转可交互在线报告
  mail:
    host: ${MAIL_HOST:}
    port: ${MAIL_PORT:587}
    username: ${MAIL_USERNAME:}
    password: ${MAIL_PASSWORD:}
    properties:
      mail:
        smtp:
          auth: ${MAIL_SMTP_AUTH:true}
          starttls:
            enable: ${MAIL_SMTP_STARTTLS_ENABLE:true}
apijson:
  auto-test:
    enabled: ${AUTO_TEST_ENABLED:true}
    cron: ${AUTO_TEST_CRON:0 0 10,20 * * *}
    zone: ${AUTO_TEST_ZONE:Asia/Shanghai}
    start-url: ${AUTO_TEST_START_URL:http://localhost:3000/test/start}
    status-url: ${AUTO_TEST_STATUS_URL:http://localhost:3000/test/status}
    report-host: ${AUTO_TEST_REPORT_HOST:http://localhost:8080}
    poll-interval-millis: ${AUTO_TEST_POLL_INTERVAL_MILLIS:15000}
    timeout-minutes: ${AUTO_TEST_TIMEOUT_MINUTES:180}
    node:
      enabled: ${AUTO_TEST_NODE_ENABLED:true}
      command: ${AUTO_TEST_NODE_COMMAND:node}
      script: ${AUTO_TEST_NODE_SCRIPT:js/server.js}
      working-directory: ${AUTO_TEST_NODE_WORKING_DIRECTORY:src/main/resources/static/api}
      startup-timeout-millis: ${AUTO_TEST_NODE_STARTUP_TIMEOUT_MILLIS:60000}
      health-check-interval-millis: ${AUTO_TEST_NODE_HEALTH_CHECK_INTERVAL_MILLIS:30000}
    mail:
      from: ${AUTO_TEST_MAIL_FROM:${MAIL_USERNAME:}}
      to: ${AUTO_TEST_MAIL_TO:${MAIL_USERNAME:}}
      subject-prefix: ${AUTO_TEST_MAIL_SUBJECT_PREFIX:[APIJSON]}
