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

[Dashboard] Retain Tags on Quicksave #111015

Merged

Conversation

ThomThomson
Copy link
Contributor

@ThomThomson ThomThomson commented Sep 2, 2021

Summary

Fixes #110999

Fixes a small oversight from the dashboard state rebuild where the saved objects tagging api was not included when loading a saved dashboard. This meant that tags were only retained when using 'save as' and were erroneously removed when using the quicksave feature.

Checklist

Delete any items that are not applicable to this PR.

For maintainers

@ThomThomson ThomThomson added Feature:Dashboard Dashboard related features release_note:fix Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas loe:small Small Level of Effort v8.0.0 impact:high Addressing this issue will have a high level of impact on the quality/strength of our product. v7.14.2 v7.15.1 labels Sep 2, 2021
@ThomThomson ThomThomson marked this pull request as ready for review September 3, 2021 18:36
@ThomThomson ThomThomson requested a review from a team as a code owner September 3, 2021 18:36
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-presentation (Team:Presentation)

@ThomThomson
Copy link
Contributor Author

@elasticmachine merge upstream

@kibanamachine
Copy link
Contributor

💛 Build succeeded, but was flaky


Test Failures

Kibana Pipeline / general / Chrome X-Pack UI Functional Tests.x-pack/test/functional_with_es_ssl/apps/triggers_actions_ui/alerts_list·ts.Actions and Triggers app alerts list "after each" hook for "should enable all selection"

Link to Jenkins

Standard Out

Failed Tests Reporter:
  - Test has not failed recently on tracked branches

[00:00:00]       │
[00:00:00]         └-: Actions and Triggers app
[00:00:00]           └-> "before all" hook in "Actions and Triggers app"
[00:00:31]           └-: alerts list
[00:00:31]             └-> "before all" hook for "should display alerts in alphabetical order"
[00:00:31]             └-> "before all" hook for "should display alerts in alphabetical order"
[00:00:31]               │ debg navigating to triggersActions url: http://localhost:61201/app/management/insightsAndAlerting/triggersActions
[00:00:31]               │ debg navigate to: http://localhost:61201/app/management/insightsAndAlerting/triggersActions
[00:00:31]               │ debg browser[INFO] http://localhost:61201/app/management/insightsAndAlerting/triggersActions?_t=1631029808425 281 Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'unsafe-eval' 'self'". Either the 'unsafe-inline' keyword, a hash ('sha256-P5polb1UreUSOe5V/Pv7tc+yeZuJXiOi/3fqhGsU7BE='), or a nonce ('nonce-...') is required to enable inline execution.
[00:00:31]               │
[00:00:31]               │ debg browser[INFO] http://localhost:61201/bootstrap.js 41:19 "^ A single error about an inline script not firing due to content security policy is expected!"
[00:00:31]               │ debg ... sleep(700) start
[00:00:32]               │ debg ... sleep(700) end
[00:00:32]               │ debg returned from get, calling refresh
[00:00:32]               │ debg browser[INFO] http://localhost:61201/app/management/insightsAndAlerting/triggersActions?_t=1631029808425 281 Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'unsafe-eval' 'self'". Either the 'unsafe-inline' keyword, a hash ('sha256-P5polb1UreUSOe5V/Pv7tc+yeZuJXiOi/3fqhGsU7BE='), or a nonce ('nonce-...') is required to enable inline execution.
[00:00:32]               │
[00:00:32]               │ debg browser[INFO] http://localhost:61201/bootstrap.js 41:19 "^ A single error about an inline script not firing due to content security policy is expected!"
[00:00:32]               │ debg currentUrl = http://localhost:61201/app/management/insightsAndAlerting/triggersActions
[00:00:32]               │          appUrl = http://localhost:61201/app/management/insightsAndAlerting/triggersActions
[00:00:32]               │ debg TestSubjects.find(kibanaChrome)
[00:00:32]               │ debg Find.findByCssSelector('[data-test-subj="kibanaChrome"]') with timeout=60000
[00:00:34]               │ debg ... sleep(501) start
[00:00:34]               │ debg ... sleep(501) end
[00:00:34]               │ debg in navigateTo url = http://localhost:61201/app/management/insightsAndAlerting/triggersActions/rules
[00:00:34]               │ debg --- retry.tryForTime error: URL changed, waiting for it to settle
[00:00:35]               │ debg ... sleep(501) start
[00:00:35]               │ debg ... sleep(501) end
[00:00:35]               │ debg in navigateTo url = http://localhost:61201/app/management/insightsAndAlerting/triggersActions/rules
[00:00:35]               │ debg TestSubjects.click(rulesTab)
[00:00:35]               │ debg Find.clickByCssSelector('[data-test-subj="rulesTab"]') with timeout=10000
[00:00:35]               │ debg Find.findByCssSelector('[data-test-subj="rulesTab"]') with timeout=10000
[00:00:35]             └-> should display alerts in alphabetical order
[00:00:35]               └-> "before each" hook: global before each for "should display alerts in alphabetical order"
[00:00:42]               │ debg TestSubjects.click(rulesTab)
[00:00:42]               │ debg Find.clickByCssSelector('[data-test-subj="rulesTab"]') with timeout=10000
[00:00:42]               │ debg Find.findByCssSelector('[data-test-subj="rulesTab"]') with timeout=10000
[00:00:42]               │ debg TestSubjects.find(alertSearchField)
[00:00:42]               │ debg Find.findByCssSelector('[data-test-subj="alertSearchField"]') with timeout=10000
[00:00:43]               │ debg Find.findByCssSelector('.euiBasicTable[data-test-subj="alertsList"]:not(.euiBasicTable-loading)') with timeout=10000
[00:00:43]               │ debg Find.findByCssSelector('[data-test-subj="alertsList"] table') with timeout=10000
[00:00:43]               └- ✓ pass  (7.8s) "Actions and Triggers app alerts list should display alerts in alphabetical order"
[00:00:43]             └-> "after each" hook for "should display alerts in alphabetical order"
[00:00:45]             └-> should search for alert
[00:00:45]               └-> "before each" hook: global before each for "should search for alert"
[00:00:47]               │ debg TestSubjects.click(rulesTab)
[00:00:47]               │ debg Find.clickByCssSelector('[data-test-subj="rulesTab"]') with timeout=10000
[00:00:47]               │ debg Find.findByCssSelector('[data-test-subj="rulesTab"]') with timeout=10000
[00:00:47]               │ debg TestSubjects.find(alertSearchField)
[00:00:47]               │ debg Find.findByCssSelector('[data-test-subj="alertSearchField"]') with timeout=10000
[00:00:48]               │ debg Find.findByCssSelector('.euiBasicTable[data-test-subj="alertsList"]:not(.euiBasicTable-loading)') with timeout=10000
[00:00:48]               │ debg Find.findByCssSelector('[data-test-subj="alertsList"] table') with timeout=10000
[00:00:48]               └- ✓ pass  (3.3s) "Actions and Triggers app alerts list should search for alert"
[00:00:48]             └-> "after each" hook for "should search for alert"
[00:00:48]               │ proc [kibana]   log   [15:50:26.045] [warning][alerting][plugins] Unable to execute rule "4f49a9e0-0ff3-11ec-8055-7b2085b9eb39" in the "default" space because Saved object [alert/4f49a9e0-0ff3-11ec-8055-7b2085b9eb39] not found - this rule will not be rescheduled. To restart rule execution, try disabling and re-enabling this rule.
[00:00:49]               │ proc [kibana]   log   [15:50:26.046] [error][plugins][taskManager] Task alerting:test.noop "4fe24060-0ff3-11ec-8055-7b2085b9eb39" failed: Error: Saved object [alert/4f49a9e0-0ff3-11ec-8055-7b2085b9eb39] not found
[00:00:50]             └-> should update alert list on the search clear button click
[00:00:50]               └-> "before each" hook: global before each for "should update alert list on the search clear button click"
[00:00:55]               │ debg TestSubjects.click(rulesTab)
[00:00:55]               │ debg Find.clickByCssSelector('[data-test-subj="rulesTab"]') with timeout=10000
[00:00:55]               │ debg Find.findByCssSelector('[data-test-subj="rulesTab"]') with timeout=10000
[00:00:55]               │ debg TestSubjects.find(alertSearchField)
[00:00:55]               │ debg Find.findByCssSelector('[data-test-subj="alertSearchField"]') with timeout=10000
[00:00:56]               │ debg Find.findByCssSelector('.euiBasicTable[data-test-subj="alertsList"]:not(.euiBasicTable-loading)') with timeout=10000
[00:00:56]               │ debg Find.findByCssSelector('[data-test-subj="alertsList"] table') with timeout=10000
[00:00:56]               │ debg Find.findByCssSelector('.euiFormControlLayoutClearButton') with timeout=10000
[00:00:56]               │ debg Find.findByCssSelector('.euiBasicTable[data-test-subj="alertsList"]:not(.euiBasicTable-loading)') with timeout=10000
[00:00:56]               │ debg Find.findByCssSelector('[data-test-subj="alertsList"] table') with timeout=10000
[00:00:56]               └- ✓ pass  (6.5s) "Actions and Triggers app alerts list should update alert list on the search clear button click"
[00:00:56]             └-> "after each" hook for "should update alert list on the search clear button click"
[00:00:58]             └-> should search for tags
[00:00:58]               └-> "before each" hook: global before each for "should search for tags"
[00:01:01]               │ debg TestSubjects.click(rulesTab)
[00:01:01]               │ debg Find.clickByCssSelector('[data-test-subj="rulesTab"]') with timeout=10000
[00:01:01]               │ debg Find.findByCssSelector('[data-test-subj="rulesTab"]') with timeout=10000
[00:01:01]               │ debg TestSubjects.find(alertSearchField)
[00:01:01]               │ debg Find.findByCssSelector('[data-test-subj="alertSearchField"]') with timeout=10000
[00:01:02]               │ debg Find.findByCssSelector('.euiBasicTable[data-test-subj="alertsList"]:not(.euiBasicTable-loading)') with timeout=10000
[00:01:02]               │ debg Find.findByCssSelector('[data-test-subj="alertsList"] table') with timeout=10000
[00:01:02]               └- ✓ pass  (4.2s) "Actions and Triggers app alerts list should search for tags"
[00:01:02]             └-> "after each" hook for "should search for tags"
[00:01:04]             └-> should display an empty list when search did not return any alerts
[00:01:04]               └-> "before each" hook: global before each for "should display an empty list when search did not return any alerts"
[00:01:06]               │ debg TestSubjects.click(rulesTab)
[00:01:06]               │ debg Find.clickByCssSelector('[data-test-subj="rulesTab"]') with timeout=10000
[00:01:06]               │ debg Find.findByCssSelector('[data-test-subj="rulesTab"]') with timeout=10000
[00:01:06]               │ debg TestSubjects.find(alertSearchField)
[00:01:06]               │ debg Find.findByCssSelector('[data-test-subj="alertSearchField"]') with timeout=10000
[00:01:07]               │ debg Find.findByCssSelector('.euiBasicTable[data-test-subj="alertsList"]:not(.euiBasicTable-loading)') with timeout=10000
[00:01:07]               │ debg Find.findByCssSelector('[data-test-subj="alertsList"] table') with timeout=10000
[00:01:07]               └- ✓ pass  (3.3s) "Actions and Triggers app alerts list should display an empty list when search did not return any alerts"
[00:01:07]             └-> "after each" hook for "should display an empty list when search did not return any alerts"
[00:01:09]             └-> should disable single alert
[00:01:09]               └-> "before each" hook: global before each for "should disable single alert"
[00:01:11]               │ debg TestSubjects.click(rulesTab)
[00:01:11]               │ debg Find.clickByCssSelector('[data-test-subj="rulesTab"]') with timeout=10000
[00:01:11]               │ debg Find.findByCssSelector('[data-test-subj="rulesTab"]') with timeout=10000
[00:01:11]               │ debg TestSubjects.find(alertSearchField)
[00:01:11]               │ debg Find.findByCssSelector('[data-test-subj="alertSearchField"]') with timeout=10000
[00:01:12]               │ debg Find.findByCssSelector('.euiBasicTable[data-test-subj="alertsList"]:not(.euiBasicTable-loading)') with timeout=10000
[00:01:12]               │ debg TestSubjects.click(collapsedItemActions)
[00:01:12]               │ debg Find.clickByCssSelector('[data-test-subj="collapsedItemActions"]') with timeout=10000
[00:01:12]               │ debg Find.findByCssSelector('[data-test-subj="collapsedItemActions"]') with timeout=10000
[00:01:12]               │ debg TestSubjects.click(disableButton)
[00:01:12]               │ debg Find.clickByCssSelector('[data-test-subj="disableButton"]') with timeout=10000
[00:01:12]               │ debg Find.findByCssSelector('[data-test-subj="disableButton"]') with timeout=10000
[00:01:12]               │ debg TestSubjects.find(alertSearchField)
[00:01:12]               │ debg Find.findByCssSelector('[data-test-subj="alertSearchField"]') with timeout=10000
[00:01:13]               │ proc [kibana]   log   [15:50:50.064] [error][alerting][plugins] Executing Alert default:test.noop:5dbed5e0-0ff3-11ec-8055-7b2085b9eb39 has resulted in Error: security_exception: [security_exception] Reason: missing authentication credentials for REST request [/_security/user/_has_privileges], caused by: ""
[00:01:13]               │ debg Find.findByCssSelector('.euiBasicTable[data-test-subj="alertsList"]:not(.euiBasicTable-loading)') with timeout=10000
[00:01:13]               │ debg TestSubjects.find(enableSwitch)
[00:01:13]               │ debg Find.findByCssSelector('[data-test-subj="enableSwitch"]') with timeout=10000
[00:01:13]               └- ✓ pass  (3.8s) "Actions and Triggers app alerts list should disable single alert"
[00:01:13]             └-> "after each" hook for "should disable single alert"
[00:01:13]             └-> should re-enable single alert
[00:01:13]               └-> "before each" hook: global before each for "should re-enable single alert"
[00:01:16]               │ proc [kibana]   log   [15:50:53.084] [error][alerting][plugins] Executing Alert default:test.noop:60274a60-0ff3-11ec-8055-7b2085b9eb39 has resulted in Error: security_exception: [security_exception] Reason: missing authentication credentials for REST request [/_security/user/_has_privileges], caused by: ""
[00:01:17]               │ debg TestSubjects.click(rulesTab)
[00:01:17]               │ debg Find.clickByCssSelector('[data-test-subj="rulesTab"]') with timeout=10000
[00:01:17]               │ debg Find.findByCssSelector('[data-test-subj="rulesTab"]') with timeout=10000
[00:01:17]               │ debg TestSubjects.find(alertSearchField)
[00:01:17]               │ debg Find.findByCssSelector('[data-test-subj="alertSearchField"]') with timeout=10000
[00:01:18]               │ debg Find.findByCssSelector('.euiBasicTable[data-test-subj="alertsList"]:not(.euiBasicTable-loading)') with timeout=10000
[00:01:18]               │ debg TestSubjects.click(collapsedItemActions)
[00:01:18]               │ debg Find.clickByCssSelector('[data-test-subj="collapsedItemActions"]') with timeout=10000
[00:01:18]               │ debg Find.findByCssSelector('[data-test-subj="collapsedItemActions"]') with timeout=10000
[00:01:18]               │ debg TestSubjects.click(disableButton)
[00:01:18]               │ debg Find.clickByCssSelector('[data-test-subj="disableButton"]') with timeout=10000
[00:01:18]               │ debg Find.findByCssSelector('[data-test-subj="disableButton"]') with timeout=10000
[00:01:18]               │ debg TestSubjects.find(alertSearchField)
[00:01:18]               │ debg Find.findByCssSelector('[data-test-subj="alertSearchField"]') with timeout=10000
[00:01:19]               │ debg Find.findByCssSelector('.euiBasicTable[data-test-subj="alertsList"]:not(.euiBasicTable-loading)') with timeout=10000
[00:01:19]               │ debg TestSubjects.find(enableSwitch)
[00:01:19]               │ debg Find.findByCssSelector('[data-test-subj="enableSwitch"]') with timeout=10000
[00:01:19]               └- ✓ pass  (5.8s) "Actions and Triggers app alerts list should re-enable single alert"
[00:01:19]             └-> "after each" hook for "should re-enable single alert"
[00:01:19]               │ERROR browser[SEVERE] http://localhost:61201/api/alerting/rule/60274a60-0ff3-11ec-8055-7b2085b9eb39/_enable - Failed to load resource: the server responded with a status of 404 (Not Found)
[00:01:19]               │ debg browser[INFO] http://localhost:61201/46040/bundles/core/core.entry.js 12:151796 "Detected an unhandled Promise rejection.
[00:01:19]               │      Error: Not Found"
[00:01:19]               │ERROR browser[SEVERE] http://localhost:61201/46040/bundles/core/core.entry.js 5:2752 
[00:01:19]             └-> should mute single alert
[00:01:19]               └-> "before each" hook: global before each for "should mute single alert"
[00:01:21]               │ debg TestSubjects.click(rulesTab)
[00:01:21]               │ debg Find.clickByCssSelector('[data-test-subj="rulesTab"]') with timeout=10000
[00:01:21]               │ debg Find.findByCssSelector('[data-test-subj="rulesTab"]') with timeout=10000
[00:01:21]               │ debg TestSubjects.find(alertSearchField)
[00:01:21]               │ debg Find.findByCssSelector('[data-test-subj="alertSearchField"]') with timeout=10000
[00:01:22]               │ debg Find.findByCssSelector('.euiBasicTable[data-test-subj="alertsList"]:not(.euiBasicTable-loading)') with timeout=10000
[00:01:22]               │ debg TestSubjects.click(collapsedItemActions)
[00:01:22]               │ debg Find.clickByCssSelector('[data-test-subj="collapsedItemActions"]') with timeout=10000
[00:01:22]               │ debg Find.findByCssSelector('[data-test-subj="collapsedItemActions"]') with timeout=10000
[00:01:22]               │ debg TestSubjects.click(muteButton)
[00:01:22]               │ debg Find.clickByCssSelector('[data-test-subj="muteButton"]') with timeout=10000
[00:01:22]               │ debg Find.findByCssSelector('[data-test-subj="muteButton"]') with timeout=10000
[00:01:22]               │ debg TestSubjects.find(alertSearchField)
[00:01:22]               │ debg Find.findByCssSelector('[data-test-subj="alertSearchField"]') with timeout=10000
[00:01:23]               │ debg Find.findByCssSelector('.euiBasicTable[data-test-subj="alertsList"]:not(.euiBasicTable-loading)') with timeout=10000
[00:01:23]               │ debg TestSubjects.find(mutedActionsBadge)
[00:01:23]               │ debg Find.findByCssSelector('[data-test-subj="mutedActionsBadge"]') with timeout=10000
[00:01:23]               └- ✓ pass  (4.3s) "Actions and Triggers app alerts list should mute single alert"
[00:01:23]             └-> "after each" hook for "should mute single alert"
[00:01:25]             └-> should unmute single alert
[00:01:25]               └-> "before each" hook: global before each for "should unmute single alert"
[00:01:28]               │ debg TestSubjects.click(rulesTab)
[00:01:28]               │ debg Find.clickByCssSelector('[data-test-subj="rulesTab"]') with timeout=10000
[00:01:28]               │ debg Find.findByCssSelector('[data-test-subj="rulesTab"]') with timeout=10000
[00:01:28]               │ debg TestSubjects.find(alertSearchField)
[00:01:28]               │ debg Find.findByCssSelector('[data-test-subj="alertSearchField"]') with timeout=10000
[00:01:29]               │ debg Find.findByCssSelector('.euiBasicTable[data-test-subj="alertsList"]:not(.euiBasicTable-loading)') with timeout=10000
[00:01:29]               │ debg TestSubjects.click(collapsedItemActions)
[00:01:29]               │ debg Find.clickByCssSelector('[data-test-subj="collapsedItemActions"]') with timeout=10000
[00:01:29]               │ debg Find.findByCssSelector('[data-test-subj="collapsedItemActions"]') with timeout=10000
[00:01:29]               │ debg TestSubjects.click(muteButton)
[00:01:29]               │ debg Find.clickByCssSelector('[data-test-subj="muteButton"]') with timeout=10000
[00:01:29]               │ debg Find.findByCssSelector('[data-test-subj="muteButton"]') with timeout=10000
[00:01:30]               │ debg TestSubjects.find(alertSearchField)
[00:01:30]               │ debg Find.findByCssSelector('[data-test-subj="alertSearchField"]') with timeout=10000
[00:01:30]               │ debg Find.findByCssSelector('.euiBasicTable[data-test-subj="alertsList"]:not(.euiBasicTable-loading)') with timeout=10000
[00:01:30]               │ debg TestSubjects.missingOrFail(mutedActionsBadge)
[00:01:30]               │ debg Find.waitForDeletedByCssSelector('[data-test-subj="mutedActionsBadge"]') with timeout=2500
[00:01:31]               └- ✓ pass  (6.0s) "Actions and Triggers app alerts list should unmute single alert"
[00:01:31]             └-> "after each" hook for "should unmute single alert"
[00:01:33]             └-> should delete single alert
[00:01:33]               └-> "before each" hook: global before each for "should delete single alert"
[00:01:37]               │ debg TestSubjects.click(rulesTab)
[00:01:37]               │ debg Find.clickByCssSelector('[data-test-subj="rulesTab"]') with timeout=10000
[00:01:37]               │ debg Find.findByCssSelector('[data-test-subj="rulesTab"]') with timeout=10000
[00:01:37]               │ debg TestSubjects.find(alertSearchField)
[00:01:37]               │ debg Find.findByCssSelector('[data-test-subj="alertSearchField"]') with timeout=10000
[00:01:38]               │ debg Find.findByCssSelector('.euiBasicTable[data-test-subj="alertsList"]:not(.euiBasicTable-loading)') with timeout=10000
[00:01:39]               │ debg TestSubjects.click(collapsedItemActions)
[00:01:39]               │ debg Find.clickByCssSelector('[data-test-subj="collapsedItemActions"]') with timeout=10000
[00:01:39]               │ debg Find.findByCssSelector('[data-test-subj="collapsedItemActions"]') with timeout=10000
[00:01:39]               │ debg TestSubjects.click(deleteAlert)
[00:01:39]               │ debg Find.clickByCssSelector('[data-test-subj="deleteAlert"]') with timeout=10000
[00:01:39]               │ debg Find.findByCssSelector('[data-test-subj="deleteAlert"]') with timeout=10000
[00:01:39]               │ debg TestSubjects.exists(deleteIdsConfirmation)
[00:01:39]               │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="deleteIdsConfirmation"]') with timeout=120000
[00:01:39]               │ debg TestSubjects.click(deleteIdsConfirmation > confirmModalConfirmButton)
[00:01:39]               │ debg Find.clickByCssSelector('[data-test-subj="deleteIdsConfirmation"] [data-test-subj="confirmModalConfirmButton"]') with timeout=10000
[00:01:39]               │ debg Find.findByCssSelector('[data-test-subj="deleteIdsConfirmation"] [data-test-subj="confirmModalConfirmButton"]') with timeout=10000
[00:01:39]               │ debg TestSubjects.missingOrFail(deleteIdsConfirmation)
[00:01:39]               │ debg Find.waitForDeletedByCssSelector('[data-test-subj="deleteIdsConfirmation"]') with timeout=2500
[00:01:39]               │ debg Find.findByCssSelector('.euiToast') with timeout=60000
[00:01:41]               │ debg Find.findByCssSelector('.euiToastHeader__title') with timeout=10000
[00:01:41]               │ debg Find.clickByCssSelector('.euiToast__closeButton') with timeout=10000
[00:01:41]               │ debg Find.findByCssSelector('.euiToast__closeButton') with timeout=10000
[00:01:41]               │ debg TestSubjects.find(alertSearchField)
[00:01:41]               │ debg Find.findByCssSelector('[data-test-subj="alertSearchField"]') with timeout=10000
[00:01:41]               │ debg Find.findByCssSelector('.euiBasicTable[data-test-subj="alertsList"]:not(.euiBasicTable-loading)') with timeout=10000
[00:01:41]               │ debg Find.findByCssSelector('[data-test-subj="alertsList"] table') with timeout=10000
[00:01:41]               └- ✓ pass  (7.8s) "Actions and Triggers app alerts list should delete single alert"
[00:01:41]             └-> "after each" hook for "should delete single alert"
[00:01:42]             └-> should mute all selection
[00:01:42]               └-> "before each" hook: global before each for "should mute all selection"
[00:01:44]               │ debg TestSubjects.click(rulesTab)
[00:01:44]               │ debg Find.clickByCssSelector('[data-test-subj="rulesTab"]') with timeout=10000
[00:01:44]               │ debg Find.findByCssSelector('[data-test-subj="rulesTab"]') with timeout=10000
[00:01:44]               │ debg TestSubjects.find(alertSearchField)
[00:01:44]               │ debg Find.findByCssSelector('[data-test-subj="alertSearchField"]') with timeout=10000
[00:01:45]               │ debg Find.findByCssSelector('.euiBasicTable[data-test-subj="alertsList"]:not(.euiBasicTable-loading)') with timeout=10000
[00:01:45]               │ debg TestSubjects.click(checkboxSelectRow-719c9700-0ff3-11ec-8055-7b2085b9eb39)
[00:01:45]               │ debg Find.clickByCssSelector('[data-test-subj="checkboxSelectRow-719c9700-0ff3-11ec-8055-7b2085b9eb39"]') with timeout=10000
[00:01:45]               │ debg Find.findByCssSelector('[data-test-subj="checkboxSelectRow-719c9700-0ff3-11ec-8055-7b2085b9eb39"]') with timeout=10000
[00:01:46]               │ debg TestSubjects.click(bulkAction)
[00:01:46]               │ debg Find.clickByCssSelector('[data-test-subj="bulkAction"]') with timeout=10000
[00:01:46]               │ debg Find.findByCssSelector('[data-test-subj="bulkAction"]') with timeout=10000
[00:01:46]               │ debg TestSubjects.click(muteAll)
[00:01:46]               │ debg Find.clickByCssSelector('[data-test-subj="muteAll"]') with timeout=10000
[00:01:46]               │ debg Find.findByCssSelector('[data-test-subj="muteAll"]') with timeout=10000
[00:01:46]               │ debg TestSubjects.exists(unmuteAll)
[00:01:46]               │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="unmuteAll"]') with timeout=120000
[00:01:47]               │ debg TestSubjects.find(alertSearchField)
[00:01:47]               │ debg Find.findByCssSelector('[data-test-subj="alertSearchField"]') with timeout=10000
[00:01:47]               │ debg Find.findByCssSelector('.euiBasicTable[data-test-subj="alertsList"]:not(.euiBasicTable-loading)') with timeout=10000
[00:01:47]               │ debg TestSubjects.find(alertSearchField)
[00:01:47]               │ debg Find.findByCssSelector('[data-test-subj="alertSearchField"]') with timeout=10000
[00:01:47]               │ debg Find.findByCssSelector('.euiBasicTable[data-test-subj="alertsList"]:not(.euiBasicTable-loading)') with timeout=10000
[00:01:47]               │ debg TestSubjects.find(mutedActionsBadge)
[00:01:47]               │ debg Find.findByCssSelector('[data-test-subj="mutedActionsBadge"]') with timeout=10000
[00:01:47]               └- ✓ pass  (5.1s) "Actions and Triggers app alerts list should mute all selection"
[00:01:47]             └-> "after each" hook for "should mute all selection"
[00:01:49]             └-> should unmute all selection
[00:01:49]               └-> "before each" hook: global before each for "should unmute all selection"
[00:01:51]               │ debg TestSubjects.click(rulesTab)
[00:01:51]               │ debg Find.clickByCssSelector('[data-test-subj="rulesTab"]') with timeout=10000
[00:01:51]               │ debg Find.findByCssSelector('[data-test-subj="rulesTab"]') with timeout=10000
[00:01:52]               │ debg TestSubjects.find(alertSearchField)
[00:01:52]               │ debg Find.findByCssSelector('[data-test-subj="alertSearchField"]') with timeout=10000
[00:01:52]               │ debg Find.findByCssSelector('.euiBasicTable[data-test-subj="alertsList"]:not(.euiBasicTable-loading)') with timeout=10000
[00:01:53]               │ debg TestSubjects.click(checkboxSelectRow-75d118f0-0ff3-11ec-8055-7b2085b9eb39)
[00:01:53]               │ debg Find.clickByCssSelector('[data-test-subj="checkboxSelectRow-75d118f0-0ff3-11ec-8055-7b2085b9eb39"]') with timeout=10000
[00:01:53]               │ debg Find.findByCssSelector('[data-test-subj="checkboxSelectRow-75d118f0-0ff3-11ec-8055-7b2085b9eb39"]') with timeout=10000
[00:01:53]               │ debg TestSubjects.click(bulkAction)
[00:01:53]               │ debg Find.clickByCssSelector('[data-test-subj="bulkAction"]') with timeout=10000
[00:01:53]               │ debg Find.findByCssSelector('[data-test-subj="bulkAction"]') with timeout=10000
[00:01:53]               │ debg TestSubjects.click(muteAll)
[00:01:53]               │ debg Find.clickByCssSelector('[data-test-subj="muteAll"]') with timeout=10000
[00:01:53]               │ debg Find.findByCssSelector('[data-test-subj="muteAll"]') with timeout=10000
[00:01:53]               │ debg TestSubjects.click(unmuteAll)
[00:01:53]               │ debg Find.clickByCssSelector('[data-test-subj="unmuteAll"]') with timeout=10000
[00:01:53]               │ debg Find.findByCssSelector('[data-test-subj="unmuteAll"]') with timeout=10000
[00:01:54]               │ debg TestSubjects.exists(muteAll)
[00:01:54]               │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="muteAll"]') with timeout=120000
[00:01:55]               │ debg TestSubjects.find(alertSearchField)
[00:01:55]               │ debg Find.findByCssSelector('[data-test-subj="alertSearchField"]') with timeout=10000
[00:01:55]               │ debg Find.findByCssSelector('.euiBasicTable[data-test-subj="alertsList"]:not(.euiBasicTable-loading)') with timeout=10000
[00:01:55]               │ debg TestSubjects.missingOrFail(mutedActionsBadge)
[00:01:55]               │ debg Find.waitForDeletedByCssSelector('[data-test-subj="mutedActionsBadge"]') with timeout=2500
[00:01:56]               └- ✓ pass  (6.4s) "Actions and Triggers app alerts list should unmute all selection"
[00:01:56]             └-> "after each" hook for "should unmute all selection"
[00:01:58]             └-> should disable all selection
[00:01:58]               └-> "before each" hook: global before each for "should disable all selection"
[00:02:00]               │ debg TestSubjects.click(rulesTab)
[00:02:00]               │ debg Find.clickByCssSelector('[data-test-subj="rulesTab"]') with timeout=10000
[00:02:00]               │ debg Find.findByCssSelector('[data-test-subj="rulesTab"]') with timeout=10000
[00:02:00]               │ debg TestSubjects.find(alertSearchField)
[00:02:00]               │ debg Find.findByCssSelector('[data-test-subj="alertSearchField"]') with timeout=10000
[00:02:00]               │ debg Find.findByCssSelector('.euiBasicTable[data-test-subj="alertsList"]:not(.euiBasicTable-loading)') with timeout=10000
[00:02:01]               │ debg TestSubjects.click(checkboxSelectRow-7aa2c540-0ff3-11ec-8055-7b2085b9eb39)
[00:02:01]               │ debg Find.clickByCssSelector('[data-test-subj="checkboxSelectRow-7aa2c540-0ff3-11ec-8055-7b2085b9eb39"]') with timeout=10000
[00:02:01]               │ debg Find.findByCssSelector('[data-test-subj="checkboxSelectRow-7aa2c540-0ff3-11ec-8055-7b2085b9eb39"]') with timeout=10000
[00:02:01]               │ debg TestSubjects.click(bulkAction)
[00:02:01]               │ debg Find.clickByCssSelector('[data-test-subj="bulkAction"]') with timeout=10000
[00:02:01]               │ debg Find.findByCssSelector('[data-test-subj="bulkAction"]') with timeout=10000
[00:02:01]               │ debg TestSubjects.click(disableAll)
[00:02:01]               │ debg Find.clickByCssSelector('[data-test-subj="disableAll"]') with timeout=10000
[00:02:01]               │ debg Find.findByCssSelector('[data-test-subj="disableAll"]') with timeout=10000
[00:02:01]               │ debg TestSubjects.exists(enableAll)
[00:02:01]               │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="enableAll"]') with timeout=120000
[00:02:03]               │ debg TestSubjects.find(alertSearchField)
[00:02:03]               │ debg Find.findByCssSelector('[data-test-subj="alertSearchField"]') with timeout=10000
[00:02:03]               │ debg Find.findByCssSelector('.euiBasicTable[data-test-subj="alertsList"]:not(.euiBasicTable-loading)') with timeout=10000
[00:02:03]               │ debg TestSubjects.find(enableSwitch)
[00:02:03]               │ debg Find.findByCssSelector('[data-test-subj="enableSwitch"]') with timeout=10000
[00:02:03]               └- ✓ pass  (5.8s) "Actions and Triggers app alerts list should disable all selection"
[00:02:03]             └-> "after each" hook for "should disable all selection"
[00:02:04]             └-> should enable all selection
[00:02:04]               └-> "before each" hook: global before each for "should enable all selection"
[00:02:06]               │ debg TestSubjects.click(rulesTab)
[00:02:06]               │ debg Find.clickByCssSelector('[data-test-subj="rulesTab"]') with timeout=10000
[00:02:06]               │ debg Find.findByCssSelector('[data-test-subj="rulesTab"]') with timeout=10000
[00:02:06]               │ debg TestSubjects.find(alertSearchField)
[00:02:06]               │ debg Find.findByCssSelector('[data-test-subj="alertSearchField"]') with timeout=10000
[00:02:06]               │ debg Find.findByCssSelector('.euiBasicTable[data-test-subj="alertsList"]:not(.euiBasicTable-loading)') with timeout=10000
[00:02:07]               │ debg TestSubjects.click(checkboxSelectRow-7e3eb0b0-0ff3-11ec-8055-7b2085b9eb39)
[00:02:07]               │ debg Find.clickByCssSelector('[data-test-subj="checkboxSelectRow-7e3eb0b0-0ff3-11ec-8055-7b2085b9eb39"]') with timeout=10000
[00:02:07]               │ debg Find.findByCssSelector('[data-test-subj="checkboxSelectRow-7e3eb0b0-0ff3-11ec-8055-7b2085b9eb39"]') with timeout=10000
[00:02:07]               │ debg TestSubjects.click(bulkAction)
[00:02:07]               │ debg Find.clickByCssSelector('[data-test-subj="bulkAction"]') with timeout=10000
[00:02:07]               │ debg Find.findByCssSelector('[data-test-subj="bulkAction"]') with timeout=10000
[00:02:07]               │ debg TestSubjects.click(disableAll)
[00:02:07]               │ debg Find.clickByCssSelector('[data-test-subj="disableAll"]') with timeout=10000
[00:02:07]               │ debg Find.findByCssSelector('[data-test-subj="disableAll"]') with timeout=10000
[00:02:07]               │ debg TestSubjects.click(enableAll)
[00:02:07]               │ debg Find.clickByCssSelector('[data-test-subj="enableAll"]') with timeout=10000
[00:02:07]               │ debg Find.findByCssSelector('[data-test-subj="enableAll"]') with timeout=10000
[00:02:09]               │ debg TestSubjects.exists(disableAll)
[00:02:09]               │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="disableAll"]') with timeout=120000
[00:02:12]               │ debg --- retry.tryForTime error: [data-test-subj="disableAll"] is not displayed
[00:02:12]               │ debg TestSubjects.find(alertSearchField)
[00:02:12]               │ debg Find.findByCssSelector('[data-test-subj="alertSearchField"]') with timeout=10000
[00:02:12]               │ debg Find.findByCssSelector('.euiBasicTable[data-test-subj="alertsList"]:not(.euiBasicTable-loading)') with timeout=10000
[00:02:13]               │ debg TestSubjects.find(enableSwitch)
[00:02:13]               │ debg Find.findByCssSelector('[data-test-subj="enableSwitch"]') with timeout=10000
[00:02:13]               └- ✓ pass  (9.0s) "Actions and Triggers app alerts list should enable all selection"
[00:02:13]             └-> "after each" hook for "should enable all selection"
[00:02:13]               │ info Taking screenshot "/dev/shm/workspace/parallel/20/kibana/x-pack/test/functional/screenshots/failure/Actions and Triggers app alerts list _after each_ hook for _should enable all selection_.png"
[00:02:13]               │ info Current URL is: http://localhost:61201/app/management/insightsAndAlerting/triggersActions/rules
[00:02:13]               │ info Saving page source to: /dev/shm/workspace/parallel/20/kibana/x-pack/test/functional/failure_debug/html/Actions and Triggers app alerts list _after each_ hook for _should enable all selection_.html
[00:02:13]               └- ✖ fail: Actions and Triggers app alerts list "after each" hook for "should enable all selection"
[00:02:13]               │      Error: expected 204 "No Content", got 409 "Conflict"
[00:02:13]               │       at Test._assertStatus (/dev/shm/workspace/parallel/20/kibana/node_modules/supertest/lib/test.js:268:12)
[00:02:13]               │       at Test._assertFunction (/dev/shm/workspace/parallel/20/kibana/node_modules/supertest/lib/test.js:283:11)
[00:02:13]               │       at Test.assert (/dev/shm/workspace/parallel/20/kibana/node_modules/supertest/lib/test.js:173:18)
[00:02:13]               │       at assert (/dev/shm/workspace/parallel/20/kibana/node_modules/supertest/lib/test.js:131:12)
[00:02:13]               │       at /dev/shm/workspace/parallel/20/kibana/node_modules/supertest/lib/test.js:128:5
[00:02:13]               │       at Test.Request.callback (/dev/shm/workspace/parallel/20/kibana/node_modules/supertest/node_modules/superagent/lib/node/index.js:718:3)
[00:02:13]               │       at /dev/shm/workspace/parallel/20/kibana/node_modules/supertest/node_modules/superagent/lib/node/index.js:906:18
[00:02:13]               │       at IncomingMessage.<anonymous> (/dev/shm/workspace/parallel/20/kibana/node_modules/supertest/node_modules/superagent/lib/node/parsers/json.js:19:7)
[00:02:13]               │       at endReadableNT (internal/streams/readable.js:1317:12)
[00:02:13]               │       at processTicksAndRejections (internal/process/task_queues.js:82:21)
[00:02:13]               │ 
[00:02:13]               │ 

Stack Trace

Error: expected 204 "No Content", got 409 "Conflict"
    at Test._assertStatus (/dev/shm/workspace/parallel/20/kibana/node_modules/supertest/lib/test.js:268:12)
    at Test._assertFunction (/dev/shm/workspace/parallel/20/kibana/node_modules/supertest/lib/test.js:283:11)
    at Test.assert (/dev/shm/workspace/parallel/20/kibana/node_modules/supertest/lib/test.js:173:18)
    at assert (/dev/shm/workspace/parallel/20/kibana/node_modules/supertest/lib/test.js:131:12)
    at /dev/shm/workspace/parallel/20/kibana/node_modules/supertest/lib/test.js:128:5
    at Test.Request.callback (/dev/shm/workspace/parallel/20/kibana/node_modules/supertest/node_modules/superagent/lib/node/index.js:718:3)
    at /dev/shm/workspace/parallel/20/kibana/node_modules/supertest/node_modules/superagent/lib/node/index.js:906:18
    at IncomingMessage.<anonymous> (/dev/shm/workspace/parallel/20/kibana/node_modules/supertest/node_modules/superagent/lib/node/parsers/json.js:19:7)
    at endReadableNT (internal/streams/readable.js:1317:12)
    at processTicksAndRejections (internal/process/task_queues.js:82:21)

Metrics [docs]

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
dashboard 223.1KB 223.1KB +40.0B

History

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

Copy link
Contributor

@poffdeluxe poffdeluxe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works as expected! Nice work on tests too!

@ThomThomson ThomThomson merged commit 70632e2 into elastic:master Sep 7, 2021
ThomThomson added a commit to ThomThomson/kibana that referenced this pull request Sep 7, 2021
* fixed missing tags api when loading saved dashboard. Added tests
ThomThomson added a commit to ThomThomson/kibana that referenced this pull request Sep 7, 2021
* fixed missing tags api when loading saved dashboard. Added tests
ThomThomson added a commit to ThomThomson/kibana that referenced this pull request Sep 7, 2021
* fixed missing tags api when loading saved dashboard. Added tests
ThomThomson added a commit that referenced this pull request Sep 7, 2021
* fixed missing tags api when loading saved dashboard. Added tests
ThomThomson added a commit that referenced this pull request Sep 7, 2021
* fixed missing tags api when loading saved dashboard. Added tests
ThomThomson added a commit that referenced this pull request Sep 7, 2021
* fixed missing tags api when loading saved dashboard. Added tests
jloleysens added a commit to jloleysens/kibana that referenced this pull request Sep 8, 2021
…-link-to-kibana-app

* 'master' of github.com:elastic/kibana: (61 commits)
  [Logs UI] Fix alert previews for thresholds of `0` (elastic#111150)
  [Archive Migration][Partial] discover apps-discover (elastic#110437)
  [APM] Set start date of APM ML job to -4 weeks (elastic#111375)
  [ML] APM Latency Correlations: Code consolidation. (elastic#110790)
  [Discover] Fix indices permission for multiline test (elastic#111284)
  [Detection Rules] Add 7.15 rules (elastic#111464)
  [Security Solution][Endpoint][Host Isolation] Hide isolate host option in alert details rather than disabling (elastic#111064)
  React version of angular license view (elastic#111317)
  [APM] Fix link in readme (elastic#111362)
  [Security Solution] add agent field to generator (elastic#111428)
  [Dashboard] Retain Tags on Quicksave (elastic#111015)
  Reorder App Search ingestion methods (elastic#111361)
  Port performance docs to new docs system. (elastic#111063)
  [Security Solution][RAC] Fixes updatedAt loading bug (elastic#111010)
  [sample data] update web log geo.src field to match country code of geo.coordinates (elastic#110885)
  [Security solution] [Endpoint] Fix bad artifact migration (elastic#111294)
  Fix copy typo. (elastic#111203)
  [build] Remove empty optimize directory (elastic#111393)
  [Maps] fix term join not updating when editing right field (elastic#111030)
  [Fleet] Set default settings in component template instead of the index template (elastic#111197)
  ...

# Conflicts:
#	x-pack/plugins/reporting/public/management/__snapshots__/report_listing.test.tsx.snap
#	x-pack/plugins/reporting/public/management/report_listing.test.tsx
chrisronline pushed a commit to chrisronline/kibana that referenced this pull request Sep 8, 2021
* fixed missing tags api when loading saved dashboard. Added tests
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:Dashboard Dashboard related features impact:high Addressing this issue will have a high level of impact on the quality/strength of our product. loe:small Small Level of Effort release_note:fix Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas v7.14.2 v7.15.1 v7.16.0 v8.0.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Dashboard loses all tags when saved
4 participants