-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
ba2a863
commit 30bc73e
Showing
12 changed files
with
261 additions
and
211 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
{ | ||
"arrowParens": "avoid", | ||
"bracketSameLine": true, | ||
"bracketSpacing": true, | ||
"embeddedLanguageFormatting": "auto", | ||
"insertPragma": false, | ||
"printWidth": 100, | ||
"quoteProps": "as-needed", | ||
"requirePragma": false, | ||
"semi": true, | ||
"useTabs": false, | ||
"tabWidth": 2 | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,34 +1,35 @@ | ||
import { RegistrationFormData } from "../support/types"; | ||
|
||
describe('Login Flow', () => { | ||
|
||
it('Existing User', () => { | ||
// existing user created in test realm.json | ||
const formData: RegistrationFormData = { | ||
firstName: 'Testing', | ||
lastName: 'User', | ||
username: 'testing_user', | ||
password: 'testingpassword!!', | ||
}; | ||
|
||
cy.loginUser(formData.username, formData.password); | ||
|
||
// skip the DoD PKI Detected Pop Up | ||
cy.get('input#kc-cancel.btn.btn-light').click(); | ||
|
||
// Verify Successful Registration and on User Account Page | ||
cy.get('#landingLoggedInUser').should('be.visible').and('contain', formData.firstName+ ' ' + formData.lastName); | ||
}); | ||
|
||
it('Invalid User Creds', () => { | ||
const formData: RegistrationFormData = { | ||
username: 'testing_user', | ||
password: 'PrettyUnicorns!!', | ||
}; | ||
|
||
cy.loginUser(formData.username, formData.password); | ||
|
||
// user doesn't exist or password is incorrect | ||
cy.contains('span', 'Invalid username or password.').should('be.visible'); | ||
}); | ||
}); | ||
describe("Login Flow", () => { | ||
it("Existing User", () => { | ||
// existing user created in test realm.json | ||
const formData: RegistrationFormData = { | ||
firstName: "Testing", | ||
lastName: "User", | ||
username: "testing_user", | ||
password: "testingpassword!!", | ||
}; | ||
|
||
cy.loginUser(formData.username, formData.password); | ||
|
||
// skip the DoD PKI Detected Pop Up | ||
cy.get("input#kc-cancel.btn.btn-light").click(); | ||
|
||
// Verify Successful Registration and on User Account Page | ||
cy.get("#landingLoggedInUser") | ||
.should("be.visible") | ||
.and("contain", formData.firstName + " " + formData.lastName); | ||
}); | ||
|
||
it("Invalid User Creds", () => { | ||
const formData: RegistrationFormData = { | ||
username: "testing_user", | ||
password: "PrettyUnicorns!!", | ||
}; | ||
|
||
cy.loginUser(formData.username, formData.password); | ||
|
||
// user doesn't exist or password is incorrect | ||
cy.contains("span", "Invalid username or password.").should("be.visible"); | ||
}); | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,105 +1,111 @@ | ||
import { RegistrationFormData } from "../support/types"; | ||
|
||
describe('CAC Registration Flow', () => { | ||
describe("CAC Registration Flow", () => { | ||
const formData: RegistrationFormData = { | ||
firstName: "John", | ||
lastName: "Doe", | ||
organization: "Defense Unicorns", | ||
username: "john_doe", | ||
email: "johndoe@defenseunicorns.com", | ||
password: "CAC", | ||
affiliation: "Contractor", | ||
payGrade: "N/A", | ||
}; | ||
|
||
it("Successful CAC Registration", () => { | ||
cy.registrationPage(formData); | ||
|
||
// Verify Successful Registration and on User Account Page | ||
cy.get("#landingLoggedInUser") | ||
.should("be.visible") | ||
.and("contain", formData.firstName + " " + formData.lastName); | ||
}); | ||
|
||
it("Successfull Login of CAC Registered User", () => { | ||
// Navigate to login page | ||
cy.loginPage(); | ||
|
||
// Verify DoD PKI Detected Banner on Login page | ||
cy.get(".form-group .alert-info").should("be.visible").contains("h2", "DoD PKI Detected"); | ||
cy.get(".form-group #certificate_subjectDN") | ||
.should("be.visible") | ||
.contains("C=US,ST=Colorado,L=Colorado Springs,O=Defense Unicorns,CN=uds.dev"); | ||
|
||
// Verify that PKI User information is correct | ||
cy.get(".form-group").contains("label", "You will be logged in as:").should("be.visible"); | ||
cy.get(".form-group #username").should("be.visible").contains("john_doe"); | ||
|
||
// Sign in using the PKI | ||
cy.get("#kc-login").should("be.visible").click(); | ||
|
||
// Verify Users first and last in top bar | ||
cy.get("#landingLoggedInUser").should("be.visible").and("have.text", "John Doe"); | ||
|
||
// Verify that groups card is present, proving that signin was successful | ||
cy.get(".pf-c-card__title .pf-u-display-flex").should("exist").and("contain", "Groups"); | ||
cy.get(".pf-c-card__body").should("exist"); | ||
cy.get("#landing-groups").should("exist"); | ||
}); | ||
}); | ||
|
||
describe("Registration Tests", () => { | ||
it("Duplicate Registration", () => { | ||
const formData: RegistrationFormData = { | ||
firstName: "Testing", | ||
lastName: "User", | ||
organization: "Defense Unicorns", | ||
username: "testing_user", | ||
email: "testinguser@gmail.com", | ||
password: "PrettyUnicorns!!", | ||
affiliation: "Contractor", | ||
payGrade: "N/A", | ||
}; | ||
|
||
cy.registrationPage(formData); | ||
|
||
// duplicate user trying to register with PKI should result in this warning | ||
cy.contains("span.message-details", "Email already exists.").should("be.visible"); | ||
cy.contains("span.message-details", "Username already exists.").should("be.visible"); | ||
}); | ||
|
||
it("Password Length", () => { | ||
const formData: RegistrationFormData = { | ||
firstName: 'John', | ||
lastName: 'Doe', | ||
organization: 'Defense Unicorns', | ||
username: 'john_doe', | ||
email: 'johndoe@defenseunicorns.com', | ||
password: 'CAC', | ||
affiliation: 'Contractor', | ||
payGrade: 'N/A' | ||
}; | ||
|
||
it('Successful CAC Registration', () => { | ||
cy.registrationPage(formData); | ||
|
||
// Verify Successful Registration and on User Account Page | ||
cy.get('#landingLoggedInUser').should('be.visible').and('contain', formData.firstName+ ' ' + formData.lastName); | ||
}); | ||
|
||
|
||
it('Successfull Login of CAC Registered User', () => { | ||
// Navigate to login page | ||
cy.loginPage(); | ||
|
||
// Verify DoD PKI Detected Banner on Login page | ||
cy.get('.form-group .alert-info').should('be.visible').contains('h2', 'DoD PKI Detected'); | ||
cy.get('.form-group #certificate_subjectDN').should('be.visible').contains('C=US,ST=Colorado,L=Colorado Springs,O=Defense Unicorns,CN=uds.dev'); | ||
|
||
// Verify that PKI User information is correct | ||
cy.get('.form-group').contains('label', 'You will be logged in as:').should('be.visible'); | ||
cy.get('.form-group #username').should('be.visible').contains('john_doe'); | ||
|
||
// Sign in using the PKI | ||
cy.get('#kc-login').should('be.visible').click(); | ||
|
||
// Verify Users first and last in top bar | ||
cy.get('#landingLoggedInUser').should('be.visible').and('have.text', 'John Doe'); | ||
|
||
// Verify that groups card is present, proving that signin was successful | ||
cy.get('.pf-c-card__title .pf-u-display-flex').should('exist').and('contain', 'Groups'); | ||
cy.get('.pf-c-card__body').should('exist'); | ||
cy.get('#landing-groups').should('exist'); | ||
}); | ||
firstName: "New", | ||
lastName: "User", | ||
organization: "Defense Unicorns", | ||
username: "new_user", | ||
email: "newuser@gmail.com", | ||
password: "Pretty!!", | ||
affiliation: "Contractor", | ||
payGrade: "N/A", | ||
}; | ||
|
||
cy.registrationPage(formData); | ||
|
||
// password isn't long enough | ||
cy.contains("span.message-details", "Invalid password: minimum length 12.").should( | ||
"be.visible", | ||
); | ||
}); | ||
|
||
it("Password Complexity", () => { | ||
const formData: RegistrationFormData = { | ||
firstName: "New", | ||
lastName: "User", | ||
organization: "Defense Unicorns", | ||
username: "new_user", | ||
email: "newuser@gmail.com", | ||
password: "PrettyUnicorns", | ||
affiliation: "Contractor", | ||
payGrade: "N/A", | ||
}; | ||
|
||
cy.registrationPage(formData); | ||
|
||
// password isn't complex enough | ||
cy.contains( | ||
"span.message-details", | ||
"Invalid password: must contain at least 2 special characters.", | ||
).should("be.visible"); | ||
}); | ||
}); | ||
|
||
describe('Registration Tests', () => { | ||
|
||
it('Duplicate Registration', () => { | ||
const formData: RegistrationFormData = { | ||
firstName: 'Testing', | ||
lastName: 'User', | ||
organization: 'Defense Unicorns', | ||
username: 'testing_user', | ||
email: 'testinguser@gmail.com', | ||
password: 'PrettyUnicorns!!', | ||
affiliation: 'Contractor', | ||
payGrade: 'N/A' | ||
}; | ||
|
||
cy.registrationPage(formData); | ||
|
||
// duplicate user trying to register with PKI should result in this warning | ||
cy.contains('span.message-details', 'Email already exists.').should('be.visible'); | ||
cy.contains('span.message-details', 'Username already exists.').should('be.visible'); | ||
}); | ||
|
||
it('Password Length', () => { | ||
const formData: RegistrationFormData = { | ||
firstName: 'New', | ||
lastName: 'User', | ||
organization: 'Defense Unicorns', | ||
username: 'new_user', | ||
email: 'newuser@gmail.com', | ||
password: 'Pretty!!', | ||
affiliation: 'Contractor', | ||
payGrade: 'N/A' | ||
}; | ||
|
||
cy.registrationPage(formData); | ||
|
||
// password isn't long enough | ||
cy.contains('span.message-details', 'Invalid password: minimum length 12.').should('be.visible'); | ||
}); | ||
|
||
it('Password Complexity', () => { | ||
const formData: RegistrationFormData = { | ||
firstName: 'New', | ||
lastName: 'User', | ||
organization: 'Defense Unicorns', | ||
username: 'new_user', | ||
email: 'newuser@gmail.com', | ||
password: 'PrettyUnicorns', | ||
affiliation: 'Contractor', | ||
payGrade: 'N/A' | ||
}; | ||
|
||
cy.registrationPage(formData); | ||
|
||
// password isn't complex enough | ||
cy.contains('span.message-details', 'Invalid password: must contain at least 2 special characters.').should('be.visible'); | ||
}); | ||
}); |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.