mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-20 01:38:19 +08:00
add test for geoip
This commit is contained in:
1 parent
7651b0a697
commit
a8bdfa8f30
7 files changed
+26
-13
No files matched your search
@@ -14,7 +14,7 @@ export interface Result {
|
|||||||
display: string
|
display: string
|
||||||
}
|
}
|
||||||
|
|
||||||
function lookup(ip: string, locale: string) {
|
export function lookup(ip: string, locale: string): any {
|
||||||
const res: any = reader.get(ip);
|
const res: any = reader.get(ip);
|
||||||
if (!res) return {};
|
if (!res) return {};
|
||||||
const ret: Result = { display: '' };
|
const ret: Result = { display: '' };
|
||||||
@@ -25,11 +25,13 @@ function lookup(ip: string, locale: string) {
|
|||||||
|| (res.country || res.registered_country).names.en;
|
|| (res.country || res.registered_country).names.en;
|
||||||
}
|
}
|
||||||
if (res.city) ret.city = res.city.names[locale] || res.city.names.en;
|
if (res.city) ret.city = res.city.names[locale] || res.city.names.en;
|
||||||
ret.display = `${ret.continent} ${ret.country} ${ret.city}`;
|
ret.display = `${ret.continent} ${ret.country}${ret.city ? ` ${ret.city}` : ''}`;
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
global.Hydro.lib.geoip = exports = {
|
export const provider = '<a href="http://www.maxmind.com" target="_blank">MaxMind</a>';
|
||||||
provider: '<a href="http://www.maxmind.com" target="_blank">MaxMind</a>',
|
|
||||||
|
global.Hydro.lib.geoip = {
|
||||||
|
provider,
|
||||||
lookup,
|
lookup,
|
||||||
};
|
};
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@hydrooj/geoip",
|
"name": "@hydrooj/geoip",
|
||||||
"version": "1.1.7",
|
"version": "1.1.8",
|
||||||
"main": "package.json",
|
"main": "package.json",
|
||||||
"repository": "git@github.com:hydro-dev/Hydro.git",
|
"repository": "git@github.com:hydro-dev/Hydro.git",
|
||||||
"author": "undefined <masnn0@outlook.com>",
|
"author": "undefined <masnn0@outlook.com>",
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
jest.mock('hydrooj/src/loader');
|
||||||
|
import * as lib from '@hydrooj/geoip/lib';
|
||||||
|
|
||||||
|
describe('geoip', () => {
|
||||||
|
test('MD5', () => {
|
||||||
|
expect(lib.lookup('127.0.0.1', 'zh_CN')).toStrictEqual({});
|
||||||
|
expect(lib.lookup('1.1.1.1', 'zh-CN').display).toStrictEqual('大洋洲 澳大利亚');
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -55,7 +55,7 @@ export function edit(domainId: string, $set: any) {
|
|||||||
return coll.updateOne({ _id: domainId }, { $set });
|
return coll.updateOne({ _id: domainId }, { $set });
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function inc(domainId: string, field: any, n: number): Promise<number | null> {
|
export async function inc(domainId: string, field: keyof DomainDoc, n: number): Promise<number | null> {
|
||||||
const res = await coll.findOneAndUpdate(
|
const res = await coll.findOneAndUpdate(
|
||||||
{ _id: domainId },
|
{ _id: domainId },
|
||||||
// FIXME
|
// FIXME
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
import 'hydrooj/src/utils';
|
import 'hydrooj';
|
||||||
|
|
||||||
jest.mock('hydrooj/src/service/db');
|
jest.mock('hydrooj/src/service/db');
|
||||||
|
|
||||||
export async function connect() {
|
export async function connect() {
|
||||||
@@ -13,8 +12,10 @@ export async function connect() {
|
|||||||
|
|
||||||
export async function dispose() {
|
export async function dispose() {
|
||||||
const db = require('hydrooj/src/service/db');
|
const db = require('hydrooj/src/service/db');
|
||||||
await db.getClient().close();
|
await Promise.all([
|
||||||
await db.getClient2().close();
|
db.getClient().close(),
|
||||||
await db.getDb().close();
|
db.getClient2().close(),
|
||||||
await db.getDb2().close();
|
db.getDb().close(),
|
||||||
|
db.getDb2().close(),
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
import 'hydrooj';
|
import 'hydrooj';
|
||||||
|
import 'hydrooj/src/utils';
|
||||||
import md5 from 'hydrooj/src/lib/md5';
|
import md5 from 'hydrooj/src/lib/md5';
|
||||||
import sha1 from 'hydrooj/src/lib/sha1';
|
import sha1 from 'hydrooj/src/lib/sha1';
|
||||||
import pwhash from 'hydrooj/src/lib/hash.hydro';
|
import pwhash from 'hydrooj/src/lib/hash.hydro';
|
||||||
import 'hydrooj/src/utils';
|
|
||||||
|
|
||||||
describe('crypto', () => {
|
describe('crypto', () => {
|
||||||
const content1 = 'twd2akioi';
|
const content1 = 'twd2akioi';
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
"src"
|
"src"
|
||||||
],
|
],
|
||||||
"exclude": [
|
"exclude": [
|
||||||
|
"__mocks__",
|
||||||
"bin",
|
"bin",
|
||||||
"dist"
|
"dist"
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in new issue
Block a user