zero-ui/frontend/__tests__/unit/NetworkHeader.test.jsx
2023-01-04 21:51:46 -05:00

97 lines
2.6 KiB
JavaScript

import { render, screen } from "@testing-library/react";
import NetworkHeader from "components/NetworkHeader";
export const testNetwork = {
id: "0d303702cd0f1fc6",
clock: 1672834445703,
description: "Test Network",
rulesSource:
"\n# This is a default rule set that allows IPv4 and IPv6 traffic but otherwise\n# behaves like a standard Ethernet switch.\n\n#\n# Allow only IPv4, IPv4 ARP, and IPv6 Ethernet frames.\n#\ndrop\n not ethertype ipv4\n and not ethertype arp\n and not ethertype ipv6\n;\n\n#\n# Uncomment to drop non-ZeroTier issued and managed IP addresses.\n#\n# This prevents IP spoofing but also blocks manual IP management at the OS level and\n# bridging unless special rules to exempt certain hosts or traffic are added before\n# this rule.\n#\n#drop\n# not chr ipauth\n#;\n\n# Accept anything else. This is required since default is 'drop'.\naccept;\n",
tagsByName: {},
capabilitiesByName: {},
config: {
authTokens: [null],
authorizationEndpoint: "",
capabilities: [],
clientId: "",
creationTime: 1672676611179,
dns: [],
enableBroadcast: true,
id: "0d303702cd0f1fc6",
ipAssignmentPools: [
{
ipRangeEnd: "172.30.101.254",
ipRangeStart: "172.30.101.1",
},
],
mtu: 2800,
multicastLimit: 32,
name: "new-net-11166",
nwid: "0d303702cd0f1fc6",
private: true,
routes: [
{
target: "172.30.101.0/24",
via: null,
},
],
rules: [
{
etherType: 2048,
not: true,
or: false,
type: "MATCH_ETHERTYPE",
},
{
etherType: 2054,
not: true,
or: false,
type: "MATCH_ETHERTYPE",
},
{
etherType: 34525,
not: true,
or: false,
type: "MATCH_ETHERTYPE",
},
{
type: "ACTION_DROP",
},
{
type: "ACTION_ACCEPT",
},
],
ssoEnabled: false,
tags: [],
v4AssignMode: {
zt: true,
},
v6AssignMode: {
"6plane": false,
rfc4193: false,
zt: false,
},
},
};
describe("NetworkHeader", () => {
test("renders NetworkHeader with a test network", () => {
render(<NetworkHeader network={testNetwork} />);
const networkId = screen.getByRole("heading", {
name: "0d303702cd0f1fc6",
level: 5,
});
const networkName = screen.getByRole("heading", {
name: "new-net-11166",
level: 6,
});
const networkDescription = screen.getByText(/Test Network/);
expect(networkId).toBeInTheDocument();
expect(networkName).toBeInTheDocument();
expect(networkDescription).toBeInTheDocument();
});
});