84 lines
2.3 KiB
TypeScript
84 lines
2.3 KiB
TypeScript
|
import { TestBed } from '@angular/core/testing';
|
||
|
import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
|
||
|
|
||
|
import { MetricsService } from './metrics.service';
|
||
|
import { ThreadDump, ThreadState } from './metrics.model';
|
||
|
|
||
|
describe('Service Tests', () => {
|
||
|
describe('Logs Service', () => {
|
||
|
let service: MetricsService;
|
||
|
let httpMock: HttpTestingController;
|
||
|
|
||
|
beforeEach(() => {
|
||
|
TestBed.configureTestingModule({
|
||
|
imports: [HttpClientTestingModule],
|
||
|
});
|
||
|
service = TestBed.inject(MetricsService);
|
||
|
httpMock = TestBed.inject(HttpTestingController);
|
||
|
});
|
||
|
|
||
|
afterEach(() => {
|
||
|
httpMock.verify();
|
||
|
});
|
||
|
|
||
|
describe('Service methods', () => {
|
||
|
it('should return Metrics', () => {
|
||
|
let expectedResult;
|
||
|
const metrics = {
|
||
|
jvm: {},
|
||
|
'http.server.requests': {},
|
||
|
cache: {},
|
||
|
services: {},
|
||
|
databases: {},
|
||
|
garbageCollector: {},
|
||
|
processMetrics: {},
|
||
|
};
|
||
|
|
||
|
service.getMetrics().subscribe(received => {
|
||
|
expectedResult = received;
|
||
|
});
|
||
|
|
||
|
const req = httpMock.expectOne({ method: 'GET' });
|
||
|
req.flush(metrics);
|
||
|
expect(expectedResult).toEqual(metrics);
|
||
|
});
|
||
|
|
||
|
it('should return Thread Dump', () => {
|
||
|
let expectedResult: ThreadDump | null = null;
|
||
|
const dump: ThreadDump = {
|
||
|
threads: [
|
||
|
{
|
||
|
threadName: 'Reference Handler',
|
||
|
threadId: 2,
|
||
|
blockedTime: -1,
|
||
|
blockedCount: 7,
|
||
|
waitedTime: -1,
|
||
|
waitedCount: 0,
|
||
|
lockName: null,
|
||
|
lockOwnerId: -1,
|
||
|
lockOwnerName: null,
|
||
|
daemon: true,
|
||
|
inNative: false,
|
||
|
suspended: false,
|
||
|
threadState: ThreadState.Runnable,
|
||
|
priority: 10,
|
||
|
stackTrace: [],
|
||
|
lockedMonitors: [],
|
||
|
lockedSynchronizers: [],
|
||
|
lockInfo: null,
|
||
|
},
|
||
|
],
|
||
|
};
|
||
|
|
||
|
service.threadDump().subscribe(received => {
|
||
|
expectedResult = received;
|
||
|
});
|
||
|
|
||
|
const req = httpMock.expectOne({ method: 'GET' });
|
||
|
req.flush(dump);
|
||
|
expect(expectedResult).toEqual(dump);
|
||
|
});
|
||
|
});
|
||
|
});
|
||
|
});
|