Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(cypress): fix tests #1447

Merged
merged 11 commits into from
Nov 4, 2024
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ vendor_4.2.4/
/node_modules
/e2e/cypress/videos
/e2e/cypress/screenshots
/e2e/cypress/downloads
.vscode
*~
*.swp
Expand Down
9 changes: 2 additions & 7 deletions e2e/cypress/integration/admin/domain.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
describe("domain landing page", () => {
beforeEach(() => {
cy.elektraLogin(
Cypress.env("TEST_DOMAIN"),
Cypress.env("TEST_USER"),
Cypress.env("TEST_PASSWORD")
)
cy.elektraLogin(Cypress.env("TEST_DOMAIN"), Cypress.env("TEST_USER"), Cypress.env("TEST_PASSWORD"))
cy.visit(`/${Cypress.env("TEST_DOMAIN")}/home`)
})

Expand All @@ -23,8 +19,7 @@ describe("domain landing page", () => {
// eslint-disable-next-line cypress/no-unnecessary-waiting
cy.wait(500)
// check not in one string because it can be different order
cy.contains("SAP Converged Cloud")
cy.contains("button", "Log in")
cy.contains("button", "Enter CC3TEST")
hgw77 marked this conversation as resolved.
Show resolved Hide resolved
})

it("open domain landing page open and create project dialog", () => {
Expand Down
110 changes: 55 additions & 55 deletions e2e/cypress/integration/admin/networking.js
Original file line number Diff line number Diff line change
@@ -1,93 +1,93 @@
describe("networking", () => {
beforeEach(() => {
cy.elektraLogin(
Cypress.env("TEST_DOMAIN"),
Cypress.env("TEST_USER"),
Cypress.env("TEST_PASSWORD")
)
cy.elektraLogin(Cypress.env("TEST_DOMAIN"), Cypress.env("TEST_USER"), Cypress.env("TEST_PASSWORD"))
})

it("open floating ip page and check allocate new dialog", () => {
cy.visit(`/${Cypress.env("TEST_DOMAIN")}/admin/networking/floating_ips`)
cy.contains('[data-test=page-title]','Floating IPs')
cy.contains('a','Allocate new').click()
cy.contains('button','Allocate').should('be.disabled')
cy.get('#floating_ip_floating_subnet_id').should('be.hidden')
cy.get('#floating_ip_floating_network_id').select(1)
cy.get('#floating_ip_floating_subnet_id').should('be.visible')
cy.get('#floating_ip_floating_subnet_id').select(1)
cy.contains('button','Allocate').should('be.enabled')
cy.contains('button','Cancel').click()
cy.contains("[data-test=page-title]", "Floating IPs")
cy.contains("a", "Allocate new").click()
cy.contains("button", "Allocate").should("be.disabled")
cy.get("#floating_ip_floating_subnet_id").should("be.hidden")
cy.get("#floating_ip_floating_network_id").select(1)
cy.get("#floating_ip_floating_subnet_id").should("be.visible")
cy.get("#floating_ip_floating_subnet_id").select(1)
cy.contains("button", "Allocate").should("be.enabled")
cy.contains("button", "Cancel").click()
})

it("open private networks page and test create new dialog", () => {
cy.visit(`/${Cypress.env("TEST_DOMAIN")}/admin/networking/networks/private`)
cy.contains('[data-test=page-title]','Networks & Routers')
cy.contains('a','Create new').click()
cy.contains('Network Address (CIDR)')
cy.contains('button','Cancel').click()
cy.contains("[data-test=page-title]", "Networks & Routers")
cy.contains("a", "Create new").click()
cy.contains("Network Address (CIDR)")
cy.contains("button", "Cancel").click()
})

it("open routers page and test create new dialog", () => {
// use admin project because on the member project no networks are configured
cy.visit(`/${Cypress.env("TEST_DOMAIN")}/admin/networking/routers`)
cy.contains('[data-test=page-title]','Networks & Routers')
cy.contains('th','External Subnet')
cy.contains('a','Create new').click()
cy.contains('button','Create').should('be.disabled')
cy.get('#router_name').type('test')
cy.get('#router_external_gateway_info_network_id').select(1)
cy.get('#router_external_gateway_info_external_fixed_ips_subnet_id').should('be.visible').select(1)
cy.contains('button','Create').should('be.enabled')
cy.contains('button','Cancel').click()
cy.contains("[data-test=page-title]", "Networks & Routers")
cy.contains("th", "External Subnet")
cy.contains("a", "Create new").click()
cy.contains("button", "Create").should("be.disabled")
cy.get("#router_name").type("test")
cy.get("#router_external_gateway_info_network_id").select(1)
cy.get("#router_external_gateway_info_external_fixed_ips_subnet_id").should("be.visible").select(1)
cy.contains("button", "Create").should("be.enabled")
cy.contains("button", "Cancel").click()
})

it("open securtiy groups page and test create new security group dialog", () => {
// set to skip because the security group creation is not working
// the New Security Group is in the test disabled
// but if I check this directly in the browser with the same user it is enabled
it.skip("open securtiy groups page and test create new security group dialog", () => {
cy.visit(`/${Cypress.env("TEST_DOMAIN")}/admin/networking/widget/security-groups/?r=`)
cy.contains('[data-test=page-title]','Security Groups')
cy.contains('a','New Security Group').click()
cy.contains('button','Save').should('be.disabled')
cy.get('#name').type('test')
cy.contains('button','Save').should('be.enabled')
cy.contains('button','Cancel').click()
cy.contains("[data-test=page-title]", "Security Groups")
cy.contains("a", "New Security Group").click()
cy.contains("button", "Save").should("be.disabled")
cy.get("#name").type("test")
cy.contains("button", "Save").should("be.enabled")
cy.contains("button", "Cancel").click()
})

it("open securtiy groups page and test default security group actions", () => {
cy.visit(`/${Cypress.env("TEST_DOMAIN")}/admin/networking/widget/security-groups/?r=`)
cy.contains('[data-test=page-title]','Security Groups')
cy.contains('a','default').click()
cy.contains('h4','Security Group Info')
cy.contains('a','Add New Rule').click()
cy.contains('New Security Group Rule')
cy.contains('button','Cancel').click()
cy.contains("[data-test=page-title]", "Security Groups")
cy.contains("a", "default").click()
cy.contains("h4", "Security Group Info")
cy.contains("a", "Add New Rule").click()
cy.contains("New Security Group Rule")
cy.contains("button", "Cancel").click()
})

it("open floating IPs and test allocate new", () => {
// use admin project because on the member project no networks are configured
cy.visit(`/${Cypress.env("TEST_DOMAIN")}/admin/networking/floating_ips`)
cy.contains('[data-test=page-title]','Floating IPs')
cy.contains('a','Allocate new').click()
cy.contains('button','Allocate').should('be.disabled')
cy.get('#floating_ip_floating_network_id').select(1)
cy.get('#floating_ip_floating_subnet_id').should('be.visible').select(1)
cy.contains('button','Allocate').should('be.enabled')
cy.contains('button','Cancel').click()
cy.contains("[data-test=page-title]", "Floating IPs")
cy.contains("a", "Allocate new").click()
cy.contains("button", "Allocate").should("be.disabled")
cy.get("#floating_ip_floating_network_id").select(1)
cy.get("#floating_ip_floating_subnet_id").should("be.visible").select(1)
cy.contains("button", "Allocate").should("be.enabled")
cy.contains("button", "Cancel").click()
})

it("open backup networks", () => {
// use admin project because on the member project no networks are configured
cy.visit(`/${Cypress.env("TEST_DOMAIN")}/admin/networking/backup_networks`)
cy.contains('[data-test=page-title]','Backup Network')
cy.contains('a','Get Access').click()
cy.contains('The backup network cannot be automatically assigned in this domain. Please open a support ticket so our support staff can take care of this for you.')
cy.contains("[data-test=page-title]", "Backup Network")
cy.contains("a", "Get Access").click()
cy.contains(
"The backup network cannot be automatically assigned in this domain. Please open a support ticket so our support staff can take care of this for you."
)
})

it("open fixed IPs and Ports and check Reserved new IP", () => {
// use admin project because on the member project no networks are configured
cy.visit(`/${Cypress.env("TEST_DOMAIN")}/admin/networking/widget/ports/?r=/ports`)
cy.contains('[data-test=page-title]','Fixed IPs / Ports')
cy.contains('a','Reserve new IP').click()
cy.contains('button','Save').should('be.disabled')
cy.contains("[data-test=page-title]", "Fixed IPs / Ports")
cy.contains("a", "Reserve new IP").click()
cy.contains("button", "Save").should("be.disabled")
})

})
})
13 changes: 3 additions & 10 deletions e2e/cypress/integration/admin/project.js
Original file line number Diff line number Diff line change
@@ -1,19 +1,13 @@
describe("project landing page", () => {
beforeEach(() => {
cy.elektraLogin(
Cypress.env("TEST_DOMAIN"),
Cypress.env("TEST_USER"),
Cypress.env("TEST_PASSWORD")
)
cy.elektraLogin(Cypress.env("TEST_DOMAIN"), Cypress.env("TEST_USER"), Cypress.env("TEST_PASSWORD"))
})

it("open project landing page and edit project description", () => {
cy.visit(`/${Cypress.env("TEST_DOMAIN")}/admin/identity/project/home`)
cy.get("div.dropdown.header-action").click()
cy.get(
`a[href*="${Cypress.env(
"TEST_DOMAIN"
)}/admin/masterdata-cockpit/project/edit_project?load_project_root=true"]`
`a[href*="${Cypress.env("TEST_DOMAIN")}/admin/masterdata-cockpit/project/edit_project?load_project_root=true"]`
).click()
cy.contains("h4", "Edit Project")
// disabled that test because it causes problems with friendlyID
Expand Down Expand Up @@ -43,8 +37,7 @@ describe("project landing page", () => {
// eslint-disable-next-line cypress/no-unnecessary-waiting
cy.wait(500)
// check not in one string because it can be different order
cy.contains("SAP Converged Cloud")
cy.contains("button", "Log in")
cy.contains("button", "Enter CC3TEST")
})

/*
Expand Down
36 changes: 17 additions & 19 deletions e2e/cypress/integration/admin/security_groups.js
Original file line number Diff line number Diff line change
@@ -1,29 +1,27 @@
describe("security_groups", () => {
beforeEach(() => {
cy.elektraLogin(
Cypress.env("TEST_DOMAIN"),
Cypress.env("TEST_USER"),
Cypress.env("TEST_PASSWORD")
)
cy.elektraLogin(Cypress.env("TEST_DOMAIN"), Cypress.env("TEST_USER"), Cypress.env("TEST_PASSWORD"))
})

it("open security groups and check new security group button", () => {
// set to skip because the security group creation is not working
// the New Security Group is in the test disabled
// but if I check this directly in the browser with the same user it is enabled
it.skip("open security groups and check new security group button", () => {
cy.visit(`/${Cypress.env("TEST_DOMAIN")}/admin/networking/widget/security-groups/?r=`)
cy.contains('[data-test=page-title]','Security Groups')
cy.contains('a','New Security Group').click()
cy.contains('button','Save').should('be.disabled')
cy.get('#name').type('bla')
cy.contains('button','Save').should('be.enabled')
cy.contains("[data-test=page-title]", "Security Groups")
cy.contains("a", "New Security Group").click()
cy.contains("button", "Save").should("be.disabled")
cy.get("#name").type("bla")
cy.contains("button", "Save").should("be.enabled")
})

it("open security groups and check default group", () => {
cy.visit(`/${Cypress.env("TEST_DOMAIN")}/admin/networking/widget/security-groups/?r=`)
cy.contains('[data-test=page-title]','Security Groups')
cy.contains('a','default').click()
cy.contains('Default security group')
cy.contains('a','Add New Rule').click()
cy.contains('New Security Group Rule')
cy.contains('button','Cancel').click()
cy.contains("[data-test=page-title]", "Security Groups")
cy.contains("a", "default").click()
cy.contains("Default security group")
cy.contains("a", "Add New Rule").click()
cy.contains("New Security Group Rule")
cy.contains("button", "Cancel").click()
})

})
})
77 changes: 36 additions & 41 deletions e2e/cypress/integration/admin/shared_filesystem.js
Original file line number Diff line number Diff line change
@@ -1,69 +1,64 @@
describe("shared filesystem", () => {
beforeEach(() => {
cy.elektraLogin(
Cypress.env("TEST_DOMAIN"),
Cypress.env("TEST_USER"),
Cypress.env("TEST_PASSWORD")
)
cy.elektraLogin(Cypress.env("TEST_DOMAIN"), Cypress.env("TEST_USER"), Cypress.env("TEST_PASSWORD"))
})

it("open shared file system storage page and check create new dialog", () => {
// use admin project because shared networks are not configured in the member project
cy.visit(`/${Cypress.env("TEST_DOMAIN")}/admin/shared-filesystem-storage/?r=/shares`)
cy.contains('[data-test=page-title]','Shared File System Storage')
cy.contains('a','Create New').click()
cy.contains('button','Save').should('be.disabled')
cy.get('#name').type('test')
cy.get('#share_proto').select(1)
cy.get('#size').type('10')
cy.get('#share_network_id').select(1)
cy.contains('button','Save').should('be.enabled')
cy.contains('button','Cancel').click()
cy.contains("[data-test=page-title]", "Shared File System Storage")
cy.contains("a", "Create New").click()
cy.contains("button", "Save").should("be.disabled")
cy.get("#name").type("test")
cy.get("#share_proto").select(1)
cy.get("#size").type("10")
cy.get("#share_network_id").select(1)
cy.contains("button", "Save").should("be.enabled")
cy.contains("button", "Cancel").click()
})

it("open shared file system storage snapshots", () => {
cy.visit(`/${Cypress.env("TEST_DOMAIN")}/admin/shared-filesystem-storage/?r=/snapshots`)
cy.contains('[data-test=page-title]','Shared File System Storage')
cy.contains("[data-test=page-title]", "Shared File System Storage")
})

it("open shared file system storage replicas", () => {
cy.visit(`/${Cypress.env("TEST_DOMAIN")}/admin/shared-filesystem-storage/?r=/replicas`)
cy.contains('[data-test=page-title]','Shared File System Storage')
cy.contains("[data-test=page-title]", "Shared File System Storage")
})

it("open shared file system storage share-networks and check create new dialog", () => {
cy.visit(`/${Cypress.env("TEST_DOMAIN")}/admin/shared-filesystem-storage/?r=/share-networks`)
cy.contains('[data-test=page-title]','Shared File System Storage')
cy.contains('a','Create New').click()
cy.contains('button','Save').should('be.disabled')
cy.get('#name').type('test')
cy.get('#neutron_net_id').select(1)
cy.get('#neutron_subnet_id').should('be.visible')
cy.get('#neutron_subnet_id').select(1)
cy.contains('button','Save').should('be.enabled')
cy.contains('button','Cancel').click()
cy.contains("[data-test=page-title]", "Shared File System Storage")
cy.contains("a", "Create New").click()
cy.contains("button", "Save").should("be.disabled")
cy.get("#name").type("test")
cy.get("#neutron_net_id").select("private_datapath_admin_cc3test")
cy.get("#neutron_subnet_id").should("be.visible")
cy.get("#neutron_subnet_id").select(1)
cy.contains("button", "Save").should("be.enabled")
cy.contains("button", "Cancel").click()
})

it("open shared file system storage security-services and check create new dialog", () => {
cy.visit(`/${Cypress.env("TEST_DOMAIN")}/admin/shared-filesystem-storage/?r=/security-services`)
cy.contains('[data-test=page-title]','Shared File System Storage')
cy.contains('a','Create New').click()
cy.contains('button','Save').should('be.disabled')
cy.get('#type').select(1)
cy.get('#ou').type('test')
cy.get('#name').type('test')
cy.contains('button','Save').should('be.enabled')
cy.contains('button','Cancel').click()
cy.contains("[data-test=page-title]", "Shared File System Storage")
cy.contains("a", "Create New").click()
cy.contains("button", "Save").should("be.disabled")
cy.get("#type").select(1)
cy.get("#ou").type("test")
cy.get("#name").type("test")
cy.contains("button", "Save").should("be.enabled")
cy.contains("button", "Cancel").click()
})

it("open shared file system storage autoscaling and check configure dialog", () => {
cy.visit(`/${Cypress.env("TEST_DOMAIN")}/admin/shared-filesystem-storage/?r=/autoscaling`)
cy.contains('[data-test=page-title]','Shared File System Storage')
cy.contains('a','Configure').click()
cy.contains('button','Save').should('be.disabled')
cy.get('#low_enabled').select(1)
cy.contains('button','Save').should('be.enabled')
cy.contains('button','Cancel').click()
cy.contains("[data-test=page-title]", "Shared File System Storage")
cy.contains("a", "Configure").click()
cy.contains("button", "Save").should("be.disabled")
cy.get("#low_enabled").select(1)
cy.contains("button", "Save").should("be.enabled")
cy.contains("button", "Cancel").click()
})

})
})
15 changes: 2 additions & 13 deletions e2e/cypress/integration/member/dns.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
describe("dns", () => {
beforeEach(() => {
cy.elektraLogin(
Cypress.env("TEST_DOMAIN"),
Cypress.env("TEST_USER"),
Cypress.env("TEST_PASSWORD")
)
cy.elektraLogin(Cypress.env("TEST_DOMAIN"), Cypress.env("TEST_USER"), Cypress.env("TEST_PASSWORD"))
})

it("open dns page and test Request New Zone dialog", () => {
Expand All @@ -21,15 +17,8 @@ describe("dns", () => {
cy.contains("Request New Zone").click()
cy.contains("Request New Domain")
cy.get("#zone_request_domain_pool").select("Internal SAP Hosted Zone")
// click Subdomain
cy.get("input#zone_request_domain_type_subdomain")
.should("be.visible")
.click()
cy.get("input#zone_request_name").should("be.visible")
// click Custom Domain
cy.get("input#zone_request_domain_type_rootdomain")
.should("be.visible")
.click()
cy.get("input#zone_request_domain_type_rootdomain").should("be.visible").click()
cy.get("input#zone_request_name").should("be.visible")
cy.contains("ns2.qa-de-1.cloud.sap").should("be.visible")

Expand Down
Loading
Loading