Skip to content
Snippets Groups Projects
Commit 2cd2c0a4 authored by Zoltan Runyo's avatar Zoltan Runyo
Browse files

Merge branch 'build-test' into 'develop'

Merge current UI state

See merge request ccce/dev/ccdb-ui-prototype!18
parents 4558660d a9f50da6
No related branches found
No related tags found
2 merge requests!25IOCListView now has tabs to prefilter on all or currentUsers IOCs. The currentUser is hardcoded,!18Merge current UI state
Pipeline #76847 passed
Showing
with 424 additions and 0 deletions
.env 0 → 100644
SKIP_PREFLIGHT_CHECK=true
...@@ -23,3 +23,4 @@ yarn-debug.log* ...@@ -23,3 +23,4 @@ yarn-debug.log*
yarn-error.log* yarn-error.log*
.eslintcache .eslintcache
/package-lock.json
FROM node:alpine
MAINTAINER John Sparger
RUN mkdir /web
WORKDIR /web
EXPOSE 8080
CMD PORT=8080 /usr/local/bin/npm start
\ No newline at end of file
FROM node:alpine
MAINTAINER John Sparger
RUN npm install -g serve
EXPOSE 80
COPY . /work
WORKDIR /work
RUN /usr/bin/env ls -a
RUN npm install .
RUN npm run build
CMD node /usr/local/lib/node_modules/serve/bin/serve -s -l 80 ./build
\ No newline at end of file
Feature: Logging in
Scenario: Opening application when not authenticated
Given the user is not authenticated
When the user opens the application
Then the user should be redirected to the login page
Scenario: Opening application root or login when already authenticated
Given the user is already authenticated
When the user opens the application to the root or login page
Then the user should redirected to the IOCs list
Scenario: Opening application path when already authenticated
Given the user is already authenticated
When the user opens the application with a valid path in the URL
Then then the content at that path should be displayed without prompting for login
Scenario: Logging in with correct username and password
Given the user is on the login page
When the user submits a valid LDAP username and password
Then the user should be presented with the IOCs list
Scenario: Entering an incorrect username or password into Login form
Given the user is on the login page
And the user enters a username or password which are not valid
Then the user should see a descriptive error message
\ No newline at end of file
Feature: Logging out
Scenario: The user clicks the logout button
Given the user is logged in
When the user clicks the logout button
Then they should be logged out from the application
And they should be redirected to the login page
Scenario: The user's session expires
Given the user is logged in
When the session time has elapsed
Then the user should be logged out from the application
And they should be redirected to the login page
\ No newline at end of file
Feature: Browse IOC Deployments
Scenario: User wants to browse IOC deployments
Given the user is logged in
When the user navigates to the deployments page
Then they should be presented with a table of IOC deployments
Scenario: User wants to see all IOC deployments
Given the user is on the deployments page
When the user opens the Explore deployments tab
Then the table should display all IOC deployments in the facility
Scenario: User wants to see relevant IOC deployments
Given the user is on the hosts page
When the user clicks on the Your Deployments tab
Then the table should display only deployments which the user has made
And recent deployments should be at the top
Scenario: User wants to navigate to a specific IOC deployment
Given the user is on the deployments page
When the user clicks on the deployment in the table
Then the user should be redirected to the deployment details page.
Scenario: User wants to highlight copy values from deployments table to clipboard
Given the user is on the deployments page
When the user highlights content within the table
Then they shall not be redirected to the deployment details page
Scenario: User wants to search for a deployment
Given the user is on the deployments page
When the user types a query in the search bar
Then the deployments table should be updated with the search results
Scenario: User wants to filter the deployments
Given the user is on the deployments page
When the user types a filter into the search bar
Then the deployments in the table should be filtered based on the filter string.
Scenario: User wants change the order the IOC deployments are displayed
Given the user is on the deployments page
When the user clicks on a column header in the table
Then the deployments table rows should be sorted by the values of that column
Scenario: There are more deployments than can be displayed
Given the user is on the deployments page
When there are more deployments matching the search query than can be displayed
Then a warning should be shown letting the user know that all deployments are not rendered
Feature: Display details of an IOC deployment
Scenario: The user wants to know the configuration the deployment was trying to enact
Given the user is on the deployment details page
Then they should see the ioc name
And the ioc description
And the ioc git repository
And the ioc version
And the target host
Scenario: The user wants to know when the deployment job ran
Given the user is on the deployment details page
Then the user should see the deployment job start time
And the duration of the job
Scenario: The user wants to know the status of a finished deployment
Given the user is on the deployment details page
Then the user should see an icon indicating the status of the job
And the user should see a message indicating the status of the job
And the user should see a stepper indicating the status of the job
Scenario: The user wants to view the AWX job output for a finished deployment
Given the user is on the deployment details page
And the deployment job has finshed
Then a log of job output should be displayed
Scenario: The user wants to observe a running deployment
Given the user is on the deployment details page
And the deployment job is running
Then the status icon should update to reflect the live deployment status
And the status message should update to reflect the live deployment status
And the stepper should update to reflect the live deployment status
And the job output log should update with the most recent job events
Scenario: The user wants to navigate to the IOC the deployment concerns
Given the user is on the deployment details page
Then a link to the relevant IOC details page should be displayed
Scenario: The user wants to navigate to the host the deployment concerns
Given the user is on the deployment details page
Then a link to the target host details page should be displayed
\ No newline at end of file
Feature: Browse IOC Hosts
Scenario: User wants to browse IOC hosts
Given the user is logged in
When the user navigates to the hosts page
Then they should be presented with a table of hosts from the iocs group in CSEntry
Scenario: User wants to see all IOC Hosts
Given the user is on the hosts page
When the user opens the Explore Hosts tab
Then the table should display all IOC hosts in the facility
Scenario: User wants to see relevant IOC Hosts
Given the user is on the hosts page
When the user clicks on the Your Hosts tab
Then the table should display only hosts which the user can edit
And recently updated hosts should be at the top
Scenario: User wants to navigate to a specific IOC Host
Given the user is on the hosts page
When the user clicks (exactly) on the host url link
Then the user should be redirected to the Host Details page.
Scenario: User wants to highlight copy values from host table to clipboard
Given the user is on the hosts page
When the user highlights content within the table
Then they shall not be redirected to the host details page
Scenario: User wants to search for an IOC host
Given the user is on the hosts page
When the user types a query in the search bar
Then the hosts table should be updated with the search results
Scenario: User wants to filter the IOC host
Given the user is on the hosts page
When the user types a filter into the search bar
Then the hosts in the table should be filtered based on the filter string.
Scenario: User wants change the order the IOC hosts are displayed
Given the user is on the hosts page
When the user clicks on a column header in the table
Then the host table rows should be sorted by the values of that column
Scenario: There are more hosts than can be displayed
Given the user is on the hosts page
When there are more hosts matching the search query than can be displayed
Then a warning should be shown letting the user know that all hosts are not rendered
Feature: Display details of an IOC host
Scenario: The user wants to see details about the host
Given the user is on the host details page
Then they should see the fqdn of the host
And the name of the host
And the description of the host
And the owner of the host
And the network scope of the Host
And the network of the host's primary interface
And the interfaces of the Host
And the device type of the host
And when the host was created
And the ansible groups the host belongs to
And the ansible host variables
And a link to open the host's page in CSEntry
Scenario: The user wants to see the live status of the host
Given the user is on the host details page
Then they should see a status icon indicating if the host is reachable
And a text description of the host's status
And a link to open up a Grafana dashboard for the host
Scenario: The user wants to see which IOCs are deployed on the host
Given the user is on the host details page
Then the IOCs deployed on the host should be displayed in a table
Scenario: The user wants to see which deployments have run against this host
Given the user is on the host details page
Then a list of deployments targeting this host should be displayed
\ No newline at end of file
Feature: Browse IOCs
Scenario: User wants to browse IOCs
Given the user is logged in
When the user navigates to the IOCs page
Then they should be presented with a table of IOCs
Scenario: User wants to see all IOCs
Given the user is on the IOCs page
When the user opens the Explore IOCs tab
Then the table should display all IOCs in the facility
And recently updated IOCs should be at the top
Scenario: User wants to see relevant IOCs
Given the user is on the IOCs page
When the user clicks on the Your IOCs tab
Then the table should display only IOCs which the user can edit
And recently updated IOCs should be at the top
Scenario: User wants to navigate to a specific IOC
Given the user is on the IOCs page
When the user clicks (exactly) on the IOC name link
Then the user should be redirected to the IOC Details page.
Scenario: User wants to highlight copy values from table to clipboard
Given the user is on the IOCs page
When the user highlights content within the table
Then they shall not be redirected to the IOC Details page
Scenario: User wants to search for an IOC
Given the user is on the IOCs page
When the user types a query in the search bar
Then the IOCs table should be updated with the search results
Scenario: User wants to filter the IOCs
Given the user is on the IOCs page
When the user types a filter into the search bar
Then the IOCs in the table should be filtered based on the filter string.
Scenario: User wants change the order the IOCs are displayed
Given the user is on the IOCs page
When the user clicks on a column header in the table
Then the IOC table rows should be sorted by the values of that column
Scenario: There are more IOCs than can be displayed
Given the user is on the IOCs page
When there are more IOCs matching the search query than can be displayed
Then a warning should be shown letting the user know that all IOCs are not rendered
Feature: Start/Stop/Restart the IOC service remotely
Scenario: User wants to navigate to IOC controls
Given the user has opened the IOC details page
And the IOC has been deployed
When the user opens the Live Status page
Then the IOC service controls should be displayed
Scenario: User wants to start the IOC
Given the user is viewing the IOC Live Status
And the user has permission to make changes on the host
When the user clicks on the Start button
Then the IOC service on the host should be started
And the live status of the IOC should be updated
Scenario: User wants to stop the IOC
Given the user is viewing the IOC Live Status
And the user has permission to make changes on the host
When the user clicks on the Stop button
Then the IOC service on the host should be stopped
And the live status of the IOC should be updated
Scenario: User wants to restart the IOC
Given the user is viewing the IOC Live Status
And the user has permission to make changes on the host
When the user clicks on the Restart button
Then the IOC service on the host should be restarted
And the live status of the IOC should be updated
Feature: User can view and edit an IOCs configuration
Scenario: User wants to navigate to the IOC configuration
Given the user is on the IOC details page
When the user clicks on the Configuration tab
Then the user should see the current configuration of the IOC
And they should see an edit icon in the app bar
Scenario: User wants to understand the current IOC configuration
Given the user has opened the IOC configuration tab
Then they should see the ioc name
And the ioc description
And the target host
And the target git repository
And the target git version
And a message telling them if this configuration has been deployed yet
Scenario: User wants to open a form to edit the IOC configuration
Given the user has opened the IOC configuration tab
And they have permission to edit the IOC Configuration
When they click the edit button
Then an IOC form should appear
And the form fields should be prepopulated with the current configuration's values
Scenario: User want to create a new IOC configuration
Given the user has opened the IOC configuration edit form
And they have changed some configuration parameters
When they submit the form
Then a new IOC configuration should be created
And the form should close
And the user should see the new configuration details
Scenario: User is viewing a new IOC configuration
Given the user has opened the IOC configuration tab
And the user has created a new configuration
Then the user should see a message telling them the configuration has not been deployed yet
And they should see a deployment button
Scenario: User is viewing an already deployed IOC configuration
Given the user has opened the IOC configuration tab
And the user has already deployed the current configuration
Then the user should see a message telling them the configuration has already been deployed
And they should see a redeployment button
Scenario: User wants to deploy the configuration
Given the user has opened the IOC configuration tab
And they have permission to deploy on the target host
When the user clicks the deploy button
Then a new deployment should be created
And the user should be redirected to the deployment details page
\ No newline at end of file
Feature: Create IOCs
Scenario: User opens IOC creation form
Given the user is on the IOCs page
When the user clicks the create IOC button
Then the user should be presented with a form to create an IOC
Scenario: User submits IOC creation form successfully
Given the user has filled out the IOC creation form
And the information is valid
When the user clicks on the Create IOC button
Then A new IOC should be created
And the user should be redirected to the new IOC details page
\ No newline at end of file
Feature: User can see details about a specific IOC
Feature: Smart IOC form
Scenario: User searches for host in IOC form
Given the user has opened the IOC form
When the user types into the target host field
Then an autocomplete box should prompt the user with possible matches
Scenario: User searches for git repository in IOC form
Given the user has opened the IOC form
When the user types into the git repository field
Then an autocomplete box should prompt the user with possible matches
Scenario: User searches for git version in IOC form
Given the user has opended the IOC from
And populated the git repository field with a valid repository
When the user types into the git version field
Then an autocomplete box should prompt the user with possible matches
Scenario: User searches for owners IOC form
Given the user has opended the IOC from
When the user types into the owners field
Then an autocomplete box should prompt the user with possible matches
\ No newline at end of file
Feature: Display historical IOC Configurations
Scenario: User wants to navigate to the IOC Configuration history
Given the user is on the IOC details page
When the user clicks on the Configuration table
Then the IOC Configuration history should be displayed
Scenario: User wants to roll back to an old IOC version
Given the user is on the IOC Configuration page
And they have permission to edit the IOC
When they click on the restore button on a historical configuration
Then the IOC Configuration edit form will open
And the fields will be pre-populated with the historical values.
\ No newline at end of file
Feature: Display the live status of deployed IOCs
Scenario: User wants to navigate to the live status of an IOC
Given the user is on the IOC details page
And the IOC has been deployed
When the user clicks on the Live Status tab
Then the user should see live status information about the IOC
Scenario: User wants to understand the live status of an IOC
Given the user is on the IOC Live Status tab
Then the user should see the currently deployed IOC configuration
And the status of the host
And the status of the IOC systemd service
And a link to open a Grafana dashboard for the host
\ No newline at end of file
Feature: Navigation menu
Scenario: User opens the navigation menu
Given the user is logged in
When they click on the menu icon
Then they will see their user information
And a link to browse IOCs
And a link to browse hosts
And a link to browse deployments
And a link to logout of the application
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment