Skip to content

Commit 99dfd9e

Browse files
tarrowoutdooracorn
andauthored
Add tests for HorizonPrometheusExporter and our Custom Exporters (#1105)
Add some simple tests. These instantiate the existing exporters and check that their collection method works. Another test instantiates the exporter repository with our application config to check it is valid Bug: T423429 Co-authored-by: Ollie <43674967+outdooracorn@users.noreply.github.com>
1 parent f39319b commit 99dfd9e

4 files changed

Lines changed: 74 additions & 0 deletions

File tree

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?php
2+
3+
namespace Tests\HorizonPrometheusExporter;
4+
5+
use LKDevelopment\HorizonPrometheusExporter\Repository\ExporterRepository;
6+
use Prometheus\CollectorRegistry;
7+
use Tests\TestCase;
8+
9+
class ExporterRepositoryTest extends TestCase {
10+
public function testCanBeCreated() {
11+
// if nothing is passed to load(), exporters are read from the config at config/horizon-exporter.php
12+
ExporterRepository::load();
13+
$registry = ExporterRepository::getRegistry();
14+
$this->assertInstanceOf(CollectorRegistry::class, $registry);
15+
}
16+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?php
2+
3+
namespace Tests\Metrics;
4+
5+
use App\Metrics\FailedQsBatches;
6+
use LKDevelopment\HorizonPrometheusExporter\Repository\ExporterRepository;
7+
use Tests\TestCase;
8+
9+
class FailedQsBatchesTest extends TestCase {
10+
public function testCanBeCreated() {
11+
ExporterRepository::load([FailedQsBatches::class]);
12+
13+
self::assertNotNull(ExporterRepository::getRegistry());
14+
15+
$gauge = ExporterRepository::getRegistry()->getGauge(config('horizon-exporter.namespace'), 'qs_batches_failed_batches');
16+
17+
self::assertNotNull($gauge);
18+
19+
}
20+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?php
2+
3+
namespace Tests\Metrics;
4+
5+
use App\Metrics\PendingQsBatches;
6+
use LKDevelopment\HorizonPrometheusExporter\Repository\ExporterRepository;
7+
use Tests\TestCase;
8+
9+
class PendingQsBatchesTest extends TestCase {
10+
public function testCanBeCreated() {
11+
ExporterRepository::load([PendingQsBatches::class]);
12+
13+
self::assertNotNull(ExporterRepository::getRegistry());
14+
15+
$gauge = ExporterRepository::getRegistry()->getGauge(config('horizon-exporter.namespace'), 'qs_batches_pending_batches');
16+
17+
self::assertNotNull($gauge);
18+
}
19+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?php
2+
3+
namespace Tests\Metrics;
4+
5+
use App\Metrics\WikiEntityImports;
6+
use LKDevelopment\HorizonPrometheusExporter\Repository\ExporterRepository;
7+
use Tests\TestCase;
8+
9+
class WikiEntityImportsTest extends TestCase {
10+
public function testCanBeCreated() {
11+
ExporterRepository::load([WikiEntityImports::class]);
12+
13+
self::assertNotNull(ExporterRepository::getRegistry());
14+
15+
$gauge = ExporterRepository::getRegistry()->getGauge(config('horizon-exporter.namespace'), 'wiki_entity_imports_pending');
16+
17+
self::assertNotNull($gauge);
18+
}
19+
}

0 commit comments

Comments
 (0)