mirror of
https://github.com/OutlineFoundation/outline-server.git
synced 2026-10-25 14:00:56 +00:00
Test get and set metrics service
This commit is contained in:
parent
b7b71bd3d2
commit
4c03fc6fe3
2 changed files with 46 additions and 2 deletions
|
|
@ -217,6 +217,50 @@ describe('ShadowsocksManagerService', () => {
|
|||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('getShareMetrics', () => {
|
||||
it('Returns value from config', (done) => {
|
||||
const serverConfig = new InMemoryConfig({metricsEnabled: true} as ServerConfigJson);
|
||||
const service = new ShadowsocksManagerService('default name', serverConfig, null, null);
|
||||
service.getShareMetrics(
|
||||
{params: {}}, {
|
||||
send: (httpCode, data: {metricsEnabled: boolean}) => {
|
||||
expect(httpCode).toEqual(200);
|
||||
expect(data.metricsEnabled).toEqual(true);
|
||||
responseProcessed = true;
|
||||
}
|
||||
},
|
||||
done);
|
||||
});
|
||||
it('Returns false by default', (done) => {
|
||||
const serverConfig = new InMemoryConfig({} as ServerConfigJson);
|
||||
const service = new ShadowsocksManagerService('default name', serverConfig, null, null);
|
||||
service.getShareMetrics(
|
||||
{params: {}}, {
|
||||
send: (httpCode, data: {metricsEnabled: boolean}) => {
|
||||
expect(httpCode).toEqual(200);
|
||||
expect(data.metricsEnabled).toEqual(false);
|
||||
responseProcessed = true;
|
||||
}
|
||||
},
|
||||
done);
|
||||
});
|
||||
});
|
||||
describe('setShareMetrics', () => {
|
||||
it('Sets value in the config', (done) => {
|
||||
const serverConfig = new InMemoryConfig({metricsEnabled: false} as ServerConfigJson);
|
||||
const service = new ShadowsocksManagerService('default name', serverConfig, null, null);
|
||||
service.setShareMetrics(
|
||||
{params: {metricsEnabled: true}}, {
|
||||
send: (httpCode, _) => {
|
||||
expect(httpCode).toEqual(204);
|
||||
expect(serverConfig.written.metricsEnabled).toEqual(true);
|
||||
responseProcessed = true;
|
||||
}
|
||||
},
|
||||
done);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
function getFirstAccessKey(repo: AccessKeyRepository) {
|
||||
|
|
|
|||
|
|
@ -20,7 +20,6 @@ import * as logging from '../infrastructure/logging';
|
|||
import {AccessKey, AccessKeyRepository} from '../model/access_key';
|
||||
|
||||
import {ManagerStats} from './manager_metrics';
|
||||
import * as server_config from './server_config';
|
||||
import {ServerConfigJson} from './server_config';
|
||||
|
||||
// Creates a AccessKey response.
|
||||
|
|
@ -49,6 +48,7 @@ function accessKeyToJson(accessKey: AccessKey) {
|
|||
interface RequestParams {
|
||||
id?: string;
|
||||
name?: string;
|
||||
metricsEnabled?: boolean;
|
||||
}
|
||||
interface RequestType {
|
||||
params: RequestParams;
|
||||
|
|
@ -179,7 +179,7 @@ export class ShadowsocksManagerService {
|
|||
}
|
||||
|
||||
public getShareMetrics(req: RequestType, res: ResponseType, next: restify.Next): void {
|
||||
res.send(200, {metricsEnabled: this.serverConfig.data().metricsEnabled});
|
||||
res.send(200, {metricsEnabled: this.serverConfig.data().metricsEnabled || false});
|
||||
next();
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue