mirror of
https://github.com/louislam/uptime-kuma.git
synced 2024-11-14 17:44:32 -08:00
36f8be040d
Some checks are pending
Auto Test / auto-test (18, ARM64) (push) Blocked by required conditions
Auto Test / auto-test (18, macos-latest) (push) Blocked by required conditions
Auto Test / auto-test (18, ubuntu-latest) (push) Blocked by required conditions
Auto Test / auto-test (18, windows-latest) (push) Blocked by required conditions
Auto Test / auto-test (20.5, ARM64) (push) Blocked by required conditions
Auto Test / auto-test (20.5, macos-latest) (push) Blocked by required conditions
Auto Test / auto-test (20.5, ubuntu-latest) (push) Blocked by required conditions
Auto Test / auto-test (20.5, windows-latest) (push) Blocked by required conditions
Auto Test / armv7-simple-test (18, ARMv7) (push) Blocked by required conditions
Auto Test / armv7-simple-test (20, ARMv7) (push) Blocked by required conditions
Auto Test / check-linters (push) Waiting to run
Auto Test / e2e-test (push) Blocked by required conditions
CodeQL / Analyze (go) (push) Waiting to run
CodeQL / Analyze (javascript-typescript) (push) Waiting to run
Merge Conflict Labeler / Labeling (push) Waiting to run
json-yaml-validate / json-yaml-validate (push) Waiting to run
109 lines
4.4 KiB
JavaScript
109 lines
4.4 KiB
JavaScript
const test = require("node:test");
|
|
const assert = require("node:assert");
|
|
const { operatorMap, OP_CONTAINS, OP_NOT_CONTAINS, OP_LT, OP_GT, OP_LTE, OP_GTE, OP_STR_EQUALS, OP_STR_NOT_EQUALS, OP_NUM_EQUALS, OP_NUM_NOT_EQUALS, OP_STARTS_WITH, OP_ENDS_WITH, OP_NOT_STARTS_WITH, OP_NOT_ENDS_WITH } = require("../../../server/monitor-conditions/operators.js");
|
|
|
|
test("Test StringEqualsOperator", async (t) => {
|
|
const op = operatorMap.get(OP_STR_EQUALS);
|
|
assert.strictEqual(true, op.test("mx1.example.com", "mx1.example.com"));
|
|
assert.strictEqual(false, op.test("mx1.example.com", "mx1.example.org"));
|
|
assert.strictEqual(false, op.test("1", 1)); // strict equality
|
|
});
|
|
|
|
test("Test StringNotEqualsOperator", async (t) => {
|
|
const op = operatorMap.get(OP_STR_NOT_EQUALS);
|
|
assert.strictEqual(true, op.test("mx1.example.com", "mx1.example.org"));
|
|
assert.strictEqual(false, op.test("mx1.example.com", "mx1.example.com"));
|
|
assert.strictEqual(true, op.test(1, "1")); // variable is not typecasted (strict equality)
|
|
});
|
|
|
|
test("Test ContainsOperator with scalar", async (t) => {
|
|
const op = operatorMap.get(OP_CONTAINS);
|
|
assert.strictEqual(true, op.test("mx1.example.org", "example.org"));
|
|
assert.strictEqual(false, op.test("mx1.example.org", "example.com"));
|
|
});
|
|
|
|
test("Test ContainsOperator with array", async (t) => {
|
|
const op = operatorMap.get(OP_CONTAINS);
|
|
assert.strictEqual(true, op.test([ "example.org" ], "example.org"));
|
|
assert.strictEqual(false, op.test([ "example.org" ], "example.com"));
|
|
});
|
|
|
|
test("Test NotContainsOperator with scalar", async (t) => {
|
|
const op = operatorMap.get(OP_NOT_CONTAINS);
|
|
assert.strictEqual(true, op.test("example.org", ".com"));
|
|
assert.strictEqual(false, op.test("example.org", ".org"));
|
|
});
|
|
|
|
test("Test NotContainsOperator with array", async (t) => {
|
|
const op = operatorMap.get(OP_NOT_CONTAINS);
|
|
assert.strictEqual(true, op.test([ "example.org" ], "example.com"));
|
|
assert.strictEqual(false, op.test([ "example.org" ], "example.org"));
|
|
});
|
|
|
|
test("Test StartsWithOperator", async (t) => {
|
|
const op = operatorMap.get(OP_STARTS_WITH);
|
|
assert.strictEqual(true, op.test("mx1.example.com", "mx1"));
|
|
assert.strictEqual(false, op.test("mx1.example.com", "mx2"));
|
|
});
|
|
|
|
test("Test NotStartsWithOperator", async (t) => {
|
|
const op = operatorMap.get(OP_NOT_STARTS_WITH);
|
|
assert.strictEqual(true, op.test("mx1.example.com", "mx2"));
|
|
assert.strictEqual(false, op.test("mx1.example.com", "mx1"));
|
|
});
|
|
|
|
test("Test EndsWithOperator", async (t) => {
|
|
const op = operatorMap.get(OP_ENDS_WITH);
|
|
assert.strictEqual(true, op.test("mx1.example.com", "example.com"));
|
|
assert.strictEqual(false, op.test("mx1.example.com", "example.net"));
|
|
});
|
|
|
|
test("Test NotEndsWithOperator", async (t) => {
|
|
const op = operatorMap.get(OP_NOT_ENDS_WITH);
|
|
assert.strictEqual(true, op.test("mx1.example.com", "example.net"));
|
|
assert.strictEqual(false, op.test("mx1.example.com", "example.com"));
|
|
});
|
|
|
|
test("Test NumberEqualsOperator", async (t) => {
|
|
const op = operatorMap.get(OP_NUM_EQUALS);
|
|
assert.strictEqual(true, op.test(1, 1));
|
|
assert.strictEqual(true, op.test(1, "1"));
|
|
assert.strictEqual(false, op.test(1, "2"));
|
|
});
|
|
|
|
test("Test NumberNotEqualsOperator", async (t) => {
|
|
const op = operatorMap.get(OP_NUM_NOT_EQUALS);
|
|
assert.strictEqual(true, op.test(1, "2"));
|
|
assert.strictEqual(false, op.test(1, "1"));
|
|
});
|
|
|
|
test("Test LessThanOperator", async (t) => {
|
|
const op = operatorMap.get(OP_LT);
|
|
assert.strictEqual(true, op.test(1, 2));
|
|
assert.strictEqual(true, op.test(1, "2"));
|
|
assert.strictEqual(false, op.test(1, 1));
|
|
});
|
|
|
|
test("Test GreaterThanOperator", async (t) => {
|
|
const op = operatorMap.get(OP_GT);
|
|
assert.strictEqual(true, op.test(2, 1));
|
|
assert.strictEqual(true, op.test(2, "1"));
|
|
assert.strictEqual(false, op.test(1, 1));
|
|
});
|
|
|
|
test("Test LessThanOrEqualToOperator", async (t) => {
|
|
const op = operatorMap.get(OP_LTE);
|
|
assert.strictEqual(true, op.test(1, 1));
|
|
assert.strictEqual(true, op.test(1, 2));
|
|
assert.strictEqual(true, op.test(1, "2"));
|
|
assert.strictEqual(false, op.test(1, 0));
|
|
});
|
|
|
|
test("Test GreaterThanOrEqualToOperator", async (t) => {
|
|
const op = operatorMap.get(OP_GTE);
|
|
assert.strictEqual(true, op.test(1, 1));
|
|
assert.strictEqual(true, op.test(2, 1));
|
|
assert.strictEqual(true, op.test(2, "2"));
|
|
assert.strictEqual(false, op.test(2, 3));
|
|
});
|