Skip to content

[Logs UI][Test plan] Log stream page #92382

@afgomez

Description

@afgomez

Summary

This test plan intends to cover the integration between the UI and the APIs in the log stream page. They cover all the different ways the users could use the tool.

Prerequisites

  • Download the BC of elasticsearch, kibana, and filebeat.
  • Start only kibana and elasticsearch.

Test cases

With no valid or non existing indices

When the user goes to the logs app:

  • It loads a setup page
  • The CTA to change source goes to the settings page
  • The CTA to setup instructions goes to the "Add Data" page

With an existing but empty index

  • From the kibana dev tools, add an index that matches the filebeat-* pattern.
PUT /filebeat-test-empty

When the user goes to the logs app

  • It shows the UI with an empty stream and a "Check for new data" button
  • The "Check for new data" button calls the API (check in the network tool in your browser)

With data

  • Enable the system module in filebeat
  • Start filebeat to load data.

Stream view

When the app loads:

  • The log stream has logs up until the current time.
  • The datepicker shows "Last 1 day".
  • The minimap shows a histogram of log lines up to the current time.
  • The URL changes its position:(time) to the current timestamp.

When the user scrolls in any direction

  • The URL updates its position to the timestamp and tiebreaker of the visibly centered log line.
  • The minimap highlighted area updates (this is hard to see if you have a lot of log lines).

When the user scrolls to the very top:

  • if there are more entries, the UI fetches them
  • If there are no more entries, the UI gives feedback to the user

When the user scrolls to the very bottom:

  • If there are more entries, the UI fetches them.
  • If there are no more entries, the UI shows a "stream live" button.

Datepicker

When the user picks a new range that doesn't contain the current range (i.e. from 1 day ago to 1 hour ago)

  • The log stream resets
  • The minimap shows the new range

When the user picks a new range that contains the current range (i.e. from 1 hour to 2 hours)

  • The log stream doesn't reset.
  • The minimap shows the new range.

Minimap

When the user clicks on the minimap

  • The minimap cursor goes to the selected date/time
  • The log stream shows logs in that date/time

Filter

When the user types an arbitrary word.

  • The autocompletion suggests field names that start with the typed characters.
  • The backend searches in all message fields
  • The log stream contains only messages with the word
  • The log summary shows the histogram of messages with the word

When the user uses a KQL filter (i.e. event.dataset: nginx.access)

  • After typing a keyword field name followed by :, the autocompletion suggests terms from that field.
  • The backend applies the filter.
  • The log stream contains only messages from the filter.
  • The log summary shows the histogram of messages with the filter

When the user clicks on the minimap while a filter is active.

  • The filter stays.

When the user selects a new time in the date picker.

  • The filter stays.

Highlights

When the user adds a highlight term

  • The UI shows all messages
  • The UI highlights the word in the messages
  • The minimap shows the position of the highlights

When the user clicks on "previous" highlight.

  • The log stream jumps to the previous occurence of the highlights.
  • The cursor of the minimap moves.

When the user clicks on "next" highlight.

  • The log stream jumps to the next occurence of the highlights.
  • The cursor of the minimap moves.

When the user clicks on the minimap on a highlight marker

  • The log stream jumps to a highlighted message within that date/time

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions