Standardize API response envelopes: use items for collection responses and update tests
This commit is contained in:
@@ -11,7 +11,7 @@ describe("useJailBannedIps", () => {
|
||||
const unbanMock = vi.mocked(api.unbanIp);
|
||||
|
||||
fetchMock.mockResolvedValue({ items: [{ ip: "1.2.3.4", jail: "sshd", banned_at: "2025-01-01T10:00:00+00:00", expires_at: "2025-01-01T10:10:00+00:00", ban_count: 1, country: "US" }], total: 1, page: 1, page_size: 25 });
|
||||
unbanMock.mockResolvedValue({ message: "ok", jail: "sshd" });
|
||||
unbanMock.mockResolvedValue({ message: "ok", jail: "sshd", success: true });
|
||||
|
||||
const { result } = renderHook(() => useJailBannedIps("sshd"));
|
||||
await waitFor(() => {
|
||||
|
||||
@@ -12,7 +12,7 @@ describe("useJailConfigs", () => {
|
||||
|
||||
it("calls fetchJailConfigs only once on mount", async () => {
|
||||
vi.mocked(configApi.fetchJailConfigs).mockResolvedValue({
|
||||
jails: [
|
||||
items: [
|
||||
{
|
||||
name: "sshd",
|
||||
ban_time: 600,
|
||||
@@ -49,7 +49,7 @@ describe("useJailConfigs", () => {
|
||||
|
||||
it("does not trigger infinite refetch with stable onSuccess", async () => {
|
||||
vi.mocked(configApi.fetchJailConfigs).mockResolvedValue({
|
||||
jails: [],
|
||||
items: [],
|
||||
total: 0,
|
||||
});
|
||||
|
||||
|
||||
@@ -10,12 +10,14 @@ vi.mock("../../api/jails");
|
||||
|
||||
const mockJail: Jail = {
|
||||
name: "sshd",
|
||||
enabled: true,
|
||||
running: true,
|
||||
idle: false,
|
||||
backend: "pyinotify",
|
||||
log_paths: ["/var/log/auth.log"],
|
||||
fail_regex: ["^\\[.*\\]\\s.*Failed password"],
|
||||
fail_regex: ["^\[.*\]\s.*Failed password"],
|
||||
ignore_regex: [],
|
||||
ignore_ips: [],
|
||||
date_pattern: "%b %d %H:%M:%S",
|
||||
log_encoding: "UTF-8",
|
||||
actions: [],
|
||||
@@ -87,13 +89,13 @@ describe("useJailCommands — write operations", () => {
|
||||
|
||||
beforeEach(() => {
|
||||
vi.clearAllMocks();
|
||||
vi.mocked(jailsApi.startJail).mockResolvedValue({ message: "ok", jail: "sshd" });
|
||||
vi.mocked(jailsApi.stopJail).mockResolvedValue({ message: "ok", jail: "sshd" });
|
||||
vi.mocked(jailsApi.reloadJail).mockResolvedValue({ message: "ok", jail: "sshd" });
|
||||
vi.mocked(jailsApi.setJailIdle).mockResolvedValue({ message: "ok", jail: "sshd" });
|
||||
vi.mocked(jailsApi.addIgnoreIp).mockResolvedValue({ message: "ok", jail: "sshd" });
|
||||
vi.mocked(jailsApi.delIgnoreIp).mockResolvedValue({ message: "ok", jail: "sshd" });
|
||||
vi.mocked(jailsApi.toggleIgnoreSelf).mockResolvedValue({ message: "ok", jail: "sshd" });
|
||||
vi.mocked(jailsApi.startJail).mockResolvedValue({ message: "ok", jail: "sshd", success: true });
|
||||
vi.mocked(jailsApi.stopJail).mockResolvedValue({ message: "ok", jail: "sshd", success: true });
|
||||
vi.mocked(jailsApi.reloadJail).mockResolvedValue({ message: "ok", jail: "sshd", success: true });
|
||||
vi.mocked(jailsApi.setJailIdle).mockResolvedValue({ message: "ok", jail: "sshd", success: true });
|
||||
vi.mocked(jailsApi.addIgnoreIp).mockResolvedValue({ message: "ok", jail: "sshd", success: true });
|
||||
vi.mocked(jailsApi.delIgnoreIp).mockResolvedValue({ message: "ok", jail: "sshd", success: true });
|
||||
vi.mocked(jailsApi.toggleIgnoreSelf).mockResolvedValue({ message: "ok", jail: "sshd", success: true });
|
||||
});
|
||||
|
||||
it("calls start() API and invokes onSuccess", async () => {
|
||||
|
||||
Reference in New Issue
Block a user