0xTylerHolmes / assertoor

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Assertoor Testnet Testing tool

This project serves as a controller for Ethereum Tests. Users can define tests in yaml, and have the controller ensure the test is conducted while reporting on the status via logs and Prometheus metrics.

Configuration

Example Config

endpoints:
  - name: "local"
    executionUrl: http://localhost:8545
    consensusUrl: http://localhost:5052

test:
  name: "basic"

  tasks:
  - name: run_command
    config:
      command:
      - "echo"
      - "hello!"
  - name: check_clients_are_healthy
    title: "Check if clients are ready"
    timeout: 30s

  - name: run_tasks_concurrent
    title: "Check if EL & CL clients are synced"
    timeout: 48h
    config:
      tasks:
      - name: check_consensus_sync_status
        title: "Check if CL clients are synced"
      - name: check_execution_sync_status
        title: "Check if EL clients are synced"

  - name: run_command
    config:
      command:
      - "echo"
      - "done!"

Available tasks

check_clients_are_healthy:
  description: Checks if clients are healthy.
  config:
    clientNamePatterns:
    - .*
    pollInterval: 5s
    skipConsensusCheck: false
    skipExecutionCheck: false
    expectUnhealthy: false
check_consensus_sync_status:
  description: Checks consensus clients for their sync status.
  config:
    clientNamePatterns:
    - .*
    pollInterval: 5s
    expectSyncing: false
    expectOptimistic: false
    expectMinPercent: 100
    expectMaxPercent: 100
    minSlotHeight: 10
    waitForChainProgression: false
check_execution_sync_status:
  description: Checks execution clients for their sync status.
  config:
    clientNamePatterns:
    - .*
    pollInterval: 5s
    expectSyncing: false
    expectMinPercent: 100
    expectMaxPercent: 100
    minBlockHeight: 10
    waitForChainProgression: false
run_command:
  description: Runs a shell command.
  config:
    allowed_to_fail: false
    command: []
run_tasks:
  description: Run tasks sequentially.
  config:
    tasks: []
run_tasks_concurrent:
  description: Runs multiple tasks in parallel.
  config:
    succeedTaskCount: 0
    failTaskCount: 1
    tasks: []
sleep:
  description: Sleeps for a specified duration.
  config:
    duration: 0s

About

License:GNU General Public License v3.0


Languages

Language:Go 85.5%Language:Solidity 7.5%Language:HTML 5.9%Language:JavaScript 0.6%Language:CSS 0.2%Language:Makefile 0.1%Language:Dockerfile 0.1%Language:Shell 0.1%