1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Fix integration test

Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Sebastian Malton 2021-10-15 10:33:05 -04:00
parent fb12a2fb58
commit a57ce0ad7b

View File

@ -73,7 +73,7 @@ function isTopPageTest(test: CommonPageTest): test is TopPageTest {
const commonPageTests: CommonPageTest[] = [{ const commonPageTests: CommonPageTest[] = [{
page: { page: {
name: "Cluster", name: "Cluster",
href: "cluster", href: "/cluster/overview",
expectedSelector: "div.ClusterOverview div.label", expectedSelector: "div.ClusterOverview div.label",
expectedText: "CPU" expectedText: "CPU"
} }
@ -81,7 +81,7 @@ const commonPageTests: CommonPageTest[] = [{
{ {
page: { page: {
name: "Nodes", name: "Nodes",
href: "nodes", href: "/cluster/nodes",
expectedSelector: "h5.title", expectedSelector: "h5.title",
expectedText: "Nodes" expectedText: "Nodes"
} }
@ -90,49 +90,49 @@ const commonPageTests: CommonPageTest[] = [{
drawerId: "workloads", drawerId: "workloads",
pages: [{ pages: [{
name: "Overview", name: "Overview",
href: "workloads", href: "/cluster/workloads",
expectedSelector: "h5.box", expectedSelector: "h5.box",
expectedText: "Overview" expectedText: "Overview"
}, },
{ {
name: "Pods", name: "Pods",
href: "pods", href: "/cluster/pods",
expectedSelector: "h5.title", expectedSelector: "h5.title",
expectedText: "Pods" expectedText: "Pods"
}, },
{ {
name: "Deployments", name: "Deployments",
href: "deployments", href: "/cluster/deployments",
expectedSelector: "h5.title", expectedSelector: "h5.title",
expectedText: "Deployments" expectedText: "Deployments"
}, },
{ {
name: "DaemonSets", name: "DaemonSets",
href: "daemonsets", href: "/cluster/daemonsets",
expectedSelector: "h5.title", expectedSelector: "h5.title",
expectedText: "Daemon Sets" expectedText: "Daemon Sets"
}, },
{ {
name: "StatefulSets", name: "StatefulSets",
href: "statefulsets", href: "/cluster/statefulsets",
expectedSelector: "h5.title", expectedSelector: "h5.title",
expectedText: "Stateful Sets" expectedText: "Stateful Sets"
}, },
{ {
name: "ReplicaSets", name: "ReplicaSets",
href: "replicasets", href: "/cluster/replicasets",
expectedSelector: "h5.title", expectedSelector: "h5.title",
expectedText: "Replica Sets" expectedText: "Replica Sets"
}, },
{ {
name: "Jobs", name: "Jobs",
href: "jobs", href: "/cluster/jobs",
expectedSelector: "h5.title", expectedSelector: "h5.title",
expectedText: "Jobs" expectedText: "Jobs"
}, },
{ {
name: "CronJobs", name: "CronJobs",
href: "cronjobs", href: "/cluster/cronjobs",
expectedSelector: "h5.title", expectedSelector: "h5.title",
expectedText: "Cron Jobs" expectedText: "Cron Jobs"
}] }]
@ -141,37 +141,37 @@ const commonPageTests: CommonPageTest[] = [{
drawerId: "config", drawerId: "config",
pages: [{ pages: [{
name: "ConfigMaps", name: "ConfigMaps",
href: "configmaps", href: "/cluster/configmaps",
expectedSelector: "h5.title", expectedSelector: "h5.title",
expectedText: "Config Maps" expectedText: "Config Maps"
}, },
{ {
name: "Secrets", name: "Secrets",
href: "secrets", href: "/cluster/secrets",
expectedSelector: "h5.title", expectedSelector: "h5.title",
expectedText: "Secrets" expectedText: "Secrets"
}, },
{ {
name: "Resource Quotas", name: "Resource Quotas",
href: "resourcequotas", href: "/cluster/resourcequotas",
expectedSelector: "h5.title", expectedSelector: "h5.title",
expectedText: "Resource Quotas" expectedText: "Resource Quotas"
}, },
{ {
name: "Limit Ranges", name: "Limit Ranges",
href: "limitranges", href: "/cluster/limitranges",
expectedSelector: "h5.title", expectedSelector: "h5.title",
expectedText: "Limit Ranges" expectedText: "Limit Ranges"
}, },
{ {
name: "HPA", name: "HPA",
href: "hpa", href: "/cluster/hpa",
expectedSelector: "h5.title", expectedSelector: "h5.title",
expectedText: "Horizontal Pod Autoscalers" expectedText: "Horizontal Pod Autoscalers"
}, },
{ {
name: "Pod Disruption Budgets", name: "Pod Disruption Budgets",
href: "poddisruptionbudgets", href: "/cluster/poddisruptionbudgets",
expectedSelector: "h5.title", expectedSelector: "h5.title",
expectedText: "Pod Disruption Budgets" expectedText: "Pod Disruption Budgets"
}] }]
@ -180,25 +180,25 @@ const commonPageTests: CommonPageTest[] = [{
drawerId: "networks", drawerId: "networks",
pages: [{ pages: [{
name: "Services", name: "Services",
href: "services", href: "/cluster/services",
expectedSelector: "h5.title", expectedSelector: "h5.title",
expectedText: "Services" expectedText: "Services"
}, },
{ {
name: "Endpoints", name: "Endpoints",
href: "endpoints", href: "/cluster/endpoints",
expectedSelector: "h5.title", expectedSelector: "h5.title",
expectedText: "Endpoints" expectedText: "Endpoints"
}, },
{ {
name: "Ingresses", name: "Ingresses",
href: "ingresses", href: "/cluster/ingresses",
expectedSelector: "h5.title", expectedSelector: "h5.title",
expectedText: "Ingresses" expectedText: "Ingresses"
}, },
{ {
name: "Network Policies", name: "Network Policies",
href: "network-policies", href: "/cluster/network-policies",
expectedSelector: "h5.title", expectedSelector: "h5.title",
expectedText: "Network Policies" expectedText: "Network Policies"
}] }]
@ -207,19 +207,19 @@ const commonPageTests: CommonPageTest[] = [{
drawerId: "storage", drawerId: "storage",
pages: [{ pages: [{
name: "Persistent Volume Claims", name: "Persistent Volume Claims",
href: "persistent-volume-claims", href: "/cluster/persistent-volume-claims",
expectedSelector: "h5.title", expectedSelector: "h5.title",
expectedText: "Persistent Volume Claims" expectedText: "Persistent Volume Claims"
}, },
{ {
name: "Persistent Volumes", name: "Persistent Volumes",
href: "persistent-volumes", href: "/cluster/persistent-volumes",
expectedSelector: "h5.title", expectedSelector: "h5.title",
expectedText: "Persistent Volumes" expectedText: "Persistent Volumes"
}, },
{ {
name: "Storage Classes", name: "Storage Classes",
href: "storage-classes", href: "/cluster/storage-classes",
expectedSelector: "h5.title", expectedSelector: "h5.title",
expectedText: "Storage Classes" expectedText: "Storage Classes"
}] }]
@ -227,7 +227,7 @@ const commonPageTests: CommonPageTest[] = [{
{ {
page: { page: {
name: "Namespaces", name: "Namespaces",
href: "namespaces", href: "/cluster/namespaces",
expectedSelector: "h5.title", expectedSelector: "h5.title",
expectedText: "Namespaces" expectedText: "Namespaces"
} }
@ -235,7 +235,7 @@ const commonPageTests: CommonPageTest[] = [{
{ {
page: { page: {
name: "Events", name: "Events",
href: "events", href: "/cluster/events",
expectedSelector: "h5.title", expectedSelector: "h5.title",
expectedText: "Events" expectedText: "Events"
} }
@ -244,12 +244,12 @@ const commonPageTests: CommonPageTest[] = [{
drawerId: "apps", drawerId: "apps",
pages: [{ pages: [{
name: "Charts", name: "Charts",
href: "apps/charts", href: "/cluster/apps/charts",
expectedSelector: "div.HelmCharts input", expectedSelector: "div.HelmCharts input",
}, },
{ {
name: "Releases", name: "Releases",
href: "apps/releases", href: "/cluster/apps/releases",
expectedSelector: "h5.title", expectedSelector: "h5.title",
expectedText: "Releases" expectedText: "Releases"
}] }]
@ -258,37 +258,37 @@ const commonPageTests: CommonPageTest[] = [{
drawerId: "users", drawerId: "users",
pages: [{ pages: [{
name: "Service Accounts", name: "Service Accounts",
href: "service-accounts", href: "/cluster/service-accounts",
expectedSelector: "h5.title", expectedSelector: "h5.title",
expectedText: "Service Accounts" expectedText: "Service Accounts"
}, },
{ {
name: "Roles", name: "Roles",
href: "roles", href: "/cluster/roles",
expectedSelector: "h5.title", expectedSelector: "h5.title",
expectedText: "Roles" expectedText: "Roles"
}, },
{ {
name: "Cluster Roles", name: "Cluster Roles",
href: "cluster-roles", href: "/cluster/cluster-roles",
expectedSelector: "h5.title", expectedSelector: "h5.title",
expectedText: "Cluster Roles" expectedText: "Cluster Roles"
}, },
{ {
name: "Role Bindings", name: "Role Bindings",
href: "role-bindings", href: "/cluster/role-bindings",
expectedSelector: "h5.title", expectedSelector: "h5.title",
expectedText: "Role Bindings" expectedText: "Role Bindings"
}, },
{ {
name: "Cluster Role Bindings", name: "Cluster Role Bindings",
href: "cluster-role-bindings", href: "/cluster/cluster-role-bindings",
expectedSelector: "h5.title", expectedSelector: "h5.title",
expectedText: "Cluster Role Bindings" expectedText: "Cluster Role Bindings"
}, },
{ {
name: "Pod Security Policies", name: "Pod Security Policies",
href: "pod-security-policies", href: "/cluster/pod-security-policies",
expectedSelector: "h5.title", expectedSelector: "h5.title",
expectedText: "Pod Security Policies" expectedText: "Pod Security Policies"
}] }]
@ -297,7 +297,7 @@ const commonPageTests: CommonPageTest[] = [{
drawerId: "custom-resources", drawerId: "custom-resources",
pages: [{ pages: [{
name: "Definitions", name: "Definitions",
href: "crd/definitions", href: "/clustercrd/definitions",
expectedSelector: "h5.title", expectedSelector: "h5.title",
expectedText: "Custom Resources" expectedText: "Custom Resources"
}] }]
@ -321,7 +321,7 @@ utils.describeIf(minikubeReady(TEST_NAMESPACE))("Minikube based tests", () => {
for (const test of commonPageTests) { for (const test of commonPageTests) {
if (isTopPageTest(test)) { if (isTopPageTest(test)) {
const { href, expectedText, expectedSelector } = test.page; const { href, expectedText, expectedSelector } = test.page;
const menuButton = await frame.waitForSelector(`a[href^="/${href}"]`); const menuButton = await frame.waitForSelector(`a[href^="${href}"]`);
await menuButton.click(); await menuButton.click();
await frame.waitForSelector(`${expectedSelector} >> text='${expectedText}'`); await frame.waitForSelector(`${expectedSelector} >> text='${expectedText}'`);
@ -349,8 +349,8 @@ utils.describeIf(minikubeReady(TEST_NAMESPACE))("Minikube based tests", () => {
}, 10*60*1000); }, 10*60*1000);
it("show logs and highlight the log search entries", async () => { it("show logs and highlight the log search entries", async () => {
await frame.click(`a[href="/workloads"]`); await frame.click(`a[href="/cluster/workloads"]`);
await frame.click(`a[href="/pods"]`); await frame.click(`a[href="/cluster/pods"]`);
const namespacesSelector = await frame.waitForSelector(".NamespaceSelect"); const namespacesSelector = await frame.waitForSelector(".NamespaceSelect");
@ -387,13 +387,13 @@ utils.describeIf(minikubeReady(TEST_NAMESPACE))("Minikube based tests", () => {
}, 10*60*1000); }, 10*60*1000);
it("should show the default namespaces", async () => { it("should show the default namespaces", async () => {
await frame.click('a[href="/namespaces"]'); await frame.click('a[href="/cluster/namespaces"]');
await frame.waitForSelector("div.TableCell >> text='default'"); await frame.waitForSelector("div.TableCell >> text='default'");
await frame.waitForSelector("div.TableCell >> text='kube-system'"); await frame.waitForSelector("div.TableCell >> text='kube-system'");
}, 10*60*1000); }, 10*60*1000);
it(`should create the ${TEST_NAMESPACE} and a pod in the namespace`, async () => { it(`should create the ${TEST_NAMESPACE} and a pod in the namespace`, async () => {
await frame.click('a[href="/namespaces"]'); await frame.click('a[href="/cluster/namespaces"]');
await frame.click("button.add-button"); await frame.click("button.add-button");
await frame.waitForSelector("div.AddNamespaceDialog >> text='Create Namespace'"); await frame.waitForSelector("div.AddNamespaceDialog >> text='Create Namespace'");
@ -404,11 +404,11 @@ utils.describeIf(minikubeReady(TEST_NAMESPACE))("Minikube based tests", () => {
await frame.waitForSelector(`div.TableCell >> text=${TEST_NAMESPACE}`); await frame.waitForSelector(`div.TableCell >> text=${TEST_NAMESPACE}`);
if ((await frame.innerText(`a[href^="/workloads"] .expand-icon`)) === "keyboard_arrow_down") { if ((await frame.innerText(`a[href^="/cluster/workloads"] .expand-icon`)) === "keyboard_arrow_down") {
await frame.click(`a[href^="/workloads"]`); await frame.click(`a[href^="/cluster/workloads"]`);
} }
await frame.click(`a[href^="/pods"]`); await frame.click(`a[href^="/cluster/pods"]`);
const namespacesSelector = await frame.waitForSelector(".NamespaceSelect"); const namespacesSelector = await frame.waitForSelector(".NamespaceSelect");