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:
parent
fb12a2fb58
commit
a57ce0ad7b
@ -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");
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user