internal/testrunner/runners/asset/runner.go (58 lines of code) (raw):

// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one // or more contributor license agreements. Licensed under the Elastic License; // you may not use this file except in compliance with the Elastic License. package asset import ( "context" "path/filepath" "github.com/elastic/elastic-package/internal/kibana" "github.com/elastic/elastic-package/internal/testrunner" ) const ( // TestType defining asset loading tests TestType testrunner.TestType = "asset" ) type runner struct { packageRootPath string kibanaClient *kibana.Client globalTestConfig testrunner.GlobalRunnerTestConfig withCoverage bool coverageType string } type AssetTestRunnerOptions struct { PackageRootPath string KibanaClient *kibana.Client GlobalTestConfig testrunner.GlobalRunnerTestConfig WithCoverage bool CoverageType string } func NewAssetTestRunner(options AssetTestRunnerOptions) *runner { runner := runner{ packageRootPath: options.PackageRootPath, kibanaClient: options.KibanaClient, globalTestConfig: options.GlobalTestConfig, withCoverage: options.WithCoverage, coverageType: options.CoverageType, } return &runner } // Ensures that runner implements testrunner.TestRunner interface var _ testrunner.TestRunner = new(runner) // Type returns the type of test that can be run by this test runner. func (r *runner) Type() testrunner.TestType { return TestType } func (r *runner) SetupRunner(ctx context.Context) error { return nil } func (r *runner) TearDownRunner(ctx context.Context) error { return nil } func (r *runner) GetTests(ctx context.Context) ([]testrunner.Tester, error) { _, pkg := filepath.Split(r.packageRootPath) testers := []testrunner.Tester{ NewAssetTester(AssetTesterOptions{ PackageRootPath: r.packageRootPath, KibanaClient: r.kibanaClient, TestFolder: testrunner.TestFolder{Package: pkg}, GlobalTestConfig: r.globalTestConfig, WithCoverage: r.withCoverage, CoverageType: r.coverageType, }), } return testers, nil }