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

[Security Solution][Endpoint] Fix base64 download bug and adopt new user artifact/manifest format #70998

Merged
merged 12 commits into from
Jul 8, 2020

Conversation

madirey
Copy link
Contributor

@madirey madirey commented Jul 7, 2020

Summary

  • Fixes base64 download bug
  • Adds tests to ensure cached version of artifact is correct
  • Adopts new format for user artifact and manifest
  • Adds appropriate wrapper around list items

Checklist

For maintainers

@madirey madirey added v8.0.0 Team:Endpoint Response Endpoint Response Team Feature:Endpoint Elastic Endpoint feature v7.9.0 labels Jul 7, 2020
@madirey madirey requested review from a team as code owners July 7, 2020 18:20
@elasticmachine
Copy link
Contributor

Pinging @elastic/endpoint-response (Team:Endpoint Response)

@elasticmachine
Copy link
Contributor

Pinging @elastic/endpoint-app-team (Feature:Endpoint)

@madirey madirey changed the title [Security Solution][Endpoint] Fix base64 download bug [Security Solution][Endpoint] Fix base64 download bug and adopt new user artifact/manifest format Jul 7, 2020
// Cache the body of the artifact
this.cache.set(diff.id, artifact.body);
this.cache.set(diff.id, Buffer.from(artifact.body, 'base64').toString());
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Here's the actual bug fix.

@madirey madirey added the release_note:skip Skip the PR/issue when compiling release notes label Jul 7, 2020
@madirey
Copy link
Contributor Author

madirey commented Jul 7, 2020

@elasticmachine merge upstream

@kibanamachine
Copy link
Contributor

💛 Build succeeded, but was flaky


Test Failures

Chrome X-Pack UI Functional Tests.x-pack/test/functional/apps/dashboard/_async_dashboard·ts.dashboard sample data dashboard "before all" hook for "should launch sample flights data set dashboard"

Link to Jenkins

Standard Out

[00:00:00]       │
[00:00:00]         └-: dashboard
[00:00:00]           └-> "before all" hook
[00:08:31]           └-: sample data dashboard
[00:08:31]             └-> "before all" hook
[00:08:31]             └-> "before all" hook
[00:08:32]               │ debg ... sleep(5000) start
[00:08:37]               │ debg ... sleep(5000) end
[00:08:37]               │ debg navigateToActualUrl http://localhost:6141/app/home#/tutorial_directory/sampleData
[00:08:37]               │ debg browser[INFO] http://localhost:6141/app/home?_t=1594167982382#/tutorial_directory/sampleData 341 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:08:37]               │
[00:08:37]               │ debg browser[INFO] http://localhost:6141/bundles/app/core/bootstrap.js 42:19 "^ A single error about an inline script not firing due to content security policy is expected!"
[00:08:37]               │ debg currentUrl = http://localhost:6141/app/home#/tutorial_directory/sampleData
[00:08:37]               │          appUrl = http://localhost:6141/app/home#/tutorial_directory/sampleData
[00:08:37]               │ debg TestSubjects.find(kibanaChrome)
[00:08:37]               │ debg Find.findByCssSelector('[data-test-subj="kibanaChrome"]') with timeout=60000
[00:08:38]               │ debg isGlobalLoadingIndicatorVisible
[00:08:38]               │ debg TestSubjects.exists(globalLoadingIndicator)
[00:08:38]               │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="globalLoadingIndicator"]') with timeout=1500
[00:08:38]               │ debg browser[INFO] http://localhost:6141/34426/bundles/kbn-ui-shared-deps/kbn-ui-shared-deps.js 452:106112 "INFO: 2020-07-08T00:26:23Z
[00:08:38]               │        Adding connection to http://localhost:6141/elasticsearch
[00:08:38]               │
[00:08:38]               │      "
[00:08:39]               │ debg TestSubjects.exists(globalLoadingIndicator-hidden)
[00:08:39]               │ debg Find.existsByCssSelector('[data-test-subj="globalLoadingIndicator-hidden"]') with timeout=100000
[00:08:39]               │ debg TestSubjects.exists(addSampleDataSetflights)
[00:08:39]               │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="addSampleDataSetflights"]') with timeout=2500
[00:08:39]               │ debg TestSubjects.click(addSampleDataSetflights)
[00:08:39]               │ debg Find.clickByCssSelector('[data-test-subj="addSampleDataSetflights"]') with timeout=10000
[00:08:39]               │ debg Find.findByCssSelector('[data-test-subj="addSampleDataSetflights"]') with timeout=10000
[00:08:39]               │ debg TestSubjects.find(sampleDataSetCardflights)
[00:08:39]               │ debg Find.findByCssSelector('[data-test-subj="sampleDataSetCardflights"]') with timeout=10000
[00:08:40]               │ debg TestSubjects.exists(addSampleDataSetflights)
[00:08:40]               │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="addSampleDataSetflights"]') with timeout=2500
[00:08:40]               │ info Taking screenshot "/dev/shm/workspace/parallel/4/kibana/x-pack/test/functional/screenshots/failure/dashboard sample data dashboard _before all_ hook.png"
[00:08:40]               │ info Current URL is: http://localhost:6141/app/home#/tutorial_directory/sampleData
[00:08:41]               │ info Saving page source to: /dev/shm/workspace/parallel/4/kibana/x-pack/test/functional/failure_debug/html/dashboard sample data dashboard _before all_ hook.html
[00:08:41]               └- ✖ fail: "dashboard sample data dashboard "before all" hook for "should launch sample flights data set dashboard""
[00:08:41]               │

Stack Trace

Error: expected false to equal true
    at Assertion.assert (/dev/shm/workspace/parallel/4/kibana/packages/kbn-expect/expect.js:100:11)
    at Assertion.be.Assertion.equal (/dev/shm/workspace/parallel/4/kibana/packages/kbn-expect/expect.js:227:8)
    at Assertion.be (/dev/shm/workspace/parallel/4/kibana/packages/kbn-expect/expect.js:69:22)
    at Context.before (test/functional/apps/dashboard/_async_dashboard.ts:39:30)
    at process._tickCallback (internal/process/next_tick.js:68:7)

Chrome X-Pack UI Functional Tests.x-pack/test/functional/apps/dashboard/_async_dashboard·ts.dashboard sample data dashboard "after all" hook for "toggle from Discover to Dashboard attempt 2"

Link to Jenkins

Standard Out

[00:00:00]       │
[00:00:00]         └-: dashboard
[00:00:00]           └-> "before all" hook
[00:08:31]           └-: sample data dashboard
[00:08:31]             └-> "before all" hook
[00:08:31]             └-> "before all" hook
[00:08:32]               │ debg ... sleep(5000) start
[00:08:37]               │ debg ... sleep(5000) end
[00:08:37]               │ debg navigateToActualUrl http://localhost:6141/app/home#/tutorial_directory/sampleData
[00:08:37]               │ debg browser[INFO] http://localhost:6141/app/home?_t=1594167982382#/tutorial_directory/sampleData 341 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:08:37]               │
[00:08:37]               │ debg browser[INFO] http://localhost:6141/bundles/app/core/bootstrap.js 42:19 "^ A single error about an inline script not firing due to content security policy is expected!"
[00:08:37]               │ debg currentUrl = http://localhost:6141/app/home#/tutorial_directory/sampleData
[00:08:37]               │          appUrl = http://localhost:6141/app/home#/tutorial_directory/sampleData
[00:08:37]               │ debg TestSubjects.find(kibanaChrome)
[00:08:37]               │ debg Find.findByCssSelector('[data-test-subj="kibanaChrome"]') with timeout=60000
[00:08:38]               │ debg isGlobalLoadingIndicatorVisible
[00:08:38]               │ debg TestSubjects.exists(globalLoadingIndicator)
[00:08:38]               │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="globalLoadingIndicator"]') with timeout=1500
[00:08:38]               │ debg browser[INFO] http://localhost:6141/34426/bundles/kbn-ui-shared-deps/kbn-ui-shared-deps.js 452:106112 "INFO: 2020-07-08T00:26:23Z
[00:08:38]               │        Adding connection to http://localhost:6141/elasticsearch
[00:08:38]               │
[00:08:38]               │      "
[00:08:39]               │ debg TestSubjects.exists(globalLoadingIndicator-hidden)
[00:08:39]               │ debg Find.existsByCssSelector('[data-test-subj="globalLoadingIndicator-hidden"]') with timeout=100000
[00:08:39]               │ debg TestSubjects.exists(addSampleDataSetflights)
[00:08:39]               │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="addSampleDataSetflights"]') with timeout=2500
[00:08:39]               │ debg TestSubjects.click(addSampleDataSetflights)
[00:08:39]               │ debg Find.clickByCssSelector('[data-test-subj="addSampleDataSetflights"]') with timeout=10000
[00:08:39]               │ debg Find.findByCssSelector('[data-test-subj="addSampleDataSetflights"]') with timeout=10000
[00:08:39]               │ debg TestSubjects.find(sampleDataSetCardflights)
[00:08:39]               │ debg Find.findByCssSelector('[data-test-subj="sampleDataSetCardflights"]') with timeout=10000
[00:08:40]               │ debg TestSubjects.exists(addSampleDataSetflights)
[00:08:40]               │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="addSampleDataSetflights"]') with timeout=2500
[00:08:40]               │ info Taking screenshot "/dev/shm/workspace/parallel/4/kibana/x-pack/test/functional/screenshots/failure/dashboard sample data dashboard _before all_ hook.png"
[00:08:40]               │ info Current URL is: http://localhost:6141/app/home#/tutorial_directory/sampleData
[00:08:41]               │ info Saving page source to: /dev/shm/workspace/parallel/4/kibana/x-pack/test/functional/failure_debug/html/dashboard sample data dashboard _before all_ hook.html
[00:08:41]               └- ✖ fail: "dashboard sample data dashboard "before all" hook for "should launch sample flights data set dashboard""
[00:08:41]               │
[00:08:41]               └-> "after all" hook
[00:08:41]                 │ debg navigateToActualUrl http://localhost:6141/app/home#/tutorial_directory/sampleData
[00:08:41]                 │ debg browser[INFO] http://localhost:6141/app/home?_t=1594167986434#/tutorial_directory/sampleData 341 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:08:41]                 │
[00:08:41]                 │ debg browser[INFO] http://localhost:6141/bundles/app/core/bootstrap.js 42:19 "^ A single error about an inline script not firing due to content security policy is expected!"
[00:08:41]                 │ debg currentUrl = http://localhost:6141/app/home#/tutorial_directory/sampleData
[00:08:41]                 │          appUrl = http://localhost:6141/app/home#/tutorial_directory/sampleData
[00:08:41]                 │ debg TestSubjects.find(kibanaChrome)
[00:08:41]                 │ debg Find.findByCssSelector('[data-test-subj="kibanaChrome"]') with timeout=60000
[00:08:42]                 │ debg isGlobalLoadingIndicatorVisible
[00:08:42]                 │ debg TestSubjects.exists(globalLoadingIndicator)
[00:08:42]                 │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="globalLoadingIndicator"]') with timeout=1500
[00:08:42]                 │ debg browser[INFO] http://localhost:6141/34426/bundles/kbn-ui-shared-deps/kbn-ui-shared-deps.js 452:106112 "INFO: 2020-07-08T00:26:27Z
[00:08:42]                 │        Adding connection to http://localhost:6141/elasticsearch
[00:08:42]                 │
[00:08:42]                 │      "
[00:08:42]                 │ debg TestSubjects.exists(globalLoadingIndicator-hidden)
[00:08:42]                 │ debg Find.existsByCssSelector('[data-test-subj="globalLoadingIndicator-hidden"]') with timeout=100000
[00:08:43]                 │ debg TestSubjects.find(removeSampleDataSetflights)
[00:08:43]                 │ debg Find.findByCssSelector('[data-test-subj="removeSampleDataSetflights"]') with timeout=10000
[00:08:53]                 │ debg --- retry.tryForTime error: Waiting for element to be located By(css selector, [data-test-subj="removeSampleDataSetflights"])
[00:08:53]                 │      Wait timed out after 10007ms
[00:08:53]                 │ debg TestSubjects.find(removeSampleDataSetflights)
[00:08:53]                 │ debg Find.findByCssSelector('[data-test-subj="removeSampleDataSetflights"]') with timeout=10000
[00:09:02]                 │ info [o.e.x.i.IndexLifecycleTransition] [kibana-ci-immutable-centos-tests-xxl-1594165345705866879] moving index [.kibana-event-log-8.0.0-000001] from [{"phase":"hot","action":"unfollow","name":"wait-for-follow-shard-tasks"}] to [{"phase":"hot","action":"unfollow","name":"pause-follower-index"}] in policy [kibana-event-log-policy]
[00:09:02]                 │ info [o.e.x.i.IndexLifecycleTransition] [kibana-ci-immutable-centos-tests-xxl-1594165345705866879] moving index [ilm-history-2-000001] from [{"phase":"hot","action":"unfollow","name":"wait-for-follow-shard-tasks"}] to [{"phase":"hot","action":"unfollow","name":"pause-follower-index"}] in policy [ilm-history-ilm-policy]
[00:09:02]                 │ info [o.e.x.i.IndexLifecycleTransition] [kibana-ci-immutable-centos-tests-xxl-1594165345705866879] moving index [.kibana-event-log-8.0.0-000001] from [{"phase":"hot","action":"unfollow","name":"pause-follower-index"}] to [{"phase":"hot","action":"unfollow","name":"close-follower-index"}] in policy [kibana-event-log-policy]
[00:09:02]                 │ info [o.e.x.i.IndexLifecycleTransition] [kibana-ci-immutable-centos-tests-xxl-1594165345705866879] moving index [ilm-history-2-000001] from [{"phase":"hot","action":"unfollow","name":"pause-follower-index"}] to [{"phase":"hot","action":"unfollow","name":"close-follower-index"}] in policy [ilm-history-ilm-policy]
[00:09:02]                 │ info [o.e.x.i.IndexLifecycleTransition] [kibana-ci-immutable-centos-tests-xxl-1594165345705866879] moving index [.kibana-event-log-8.0.0-000001] from [{"phase":"hot","action":"unfollow","name":"close-follower-index"}] to [{"phase":"hot","action":"unfollow","name":"unfollow-follower-index"}] in policy [kibana-event-log-policy]
[00:09:02]                 │ info [o.e.x.i.IndexLifecycleTransition] [kibana-ci-immutable-centos-tests-xxl-1594165345705866879] moving index [ilm-history-2-000001] from [{"phase":"hot","action":"unfollow","name":"close-follower-index"}] to [{"phase":"hot","action":"unfollow","name":"unfollow-follower-index"}] in policy [ilm-history-ilm-policy]
[00:09:02]                 │ info [o.e.x.i.IndexLifecycleTransition] [kibana-ci-immutable-centos-tests-xxl-1594165345705866879] moving index [.kibana-event-log-8.0.0-000001] from [{"phase":"hot","action":"unfollow","name":"unfollow-follower-index"}] to [{"phase":"hot","action":"unfollow","name":"open-follower-index"}] in policy [kibana-event-log-policy]
[00:09:02]                 │ info [o.e.x.i.IndexLifecycleTransition] [kibana-ci-immutable-centos-tests-xxl-1594165345705866879] moving index [ilm-history-2-000001] from [{"phase":"hot","action":"unfollow","name":"unfollow-follower-index"}] to [{"phase":"hot","action":"unfollow","name":"open-follower-index"}] in policy [ilm-history-ilm-policy]
[00:09:02]                 │ info [o.e.x.i.IndexLifecycleTransition] [kibana-ci-immutable-centos-tests-xxl-1594165345705866879] moving index [.kibana-event-log-8.0.0-000001] from [{"phase":"hot","action":"unfollow","name":"open-follower-index"}] to [{"phase":"hot","action":"unfollow","name":"wait-for-yellow-step"}] in policy [kibana-event-log-policy]
[00:09:02]                 │ info [o.e.x.i.IndexLifecycleTransition] [kibana-ci-immutable-centos-tests-xxl-1594165345705866879] moving index [ilm-history-2-000001] from [{"phase":"hot","action":"unfollow","name":"open-follower-index"}] to [{"phase":"hot","action":"unfollow","name":"wait-for-yellow-step"}] in policy [ilm-history-ilm-policy]
[00:09:02]                 │ info [o.e.x.i.IndexLifecycleTransition] [kibana-ci-immutable-centos-tests-xxl-1594165345705866879] moving index [.kibana-event-log-8.0.0-000001] from [{"phase":"hot","action":"unfollow","name":"wait-for-yellow-step"}] to [{"phase":"hot","action":"rollover","name":"check-rollover-ready"}] in policy [kibana-event-log-policy]
[00:09:02]                 │ info [o.e.x.i.IndexLifecycleTransition] [kibana-ci-immutable-centos-tests-xxl-1594165345705866879] moving index [ilm-history-2-000001] from [{"phase":"hot","action":"unfollow","name":"wait-for-yellow-step"}] to [{"phase":"hot","action":"rollover","name":"check-rollover-ready"}] in policy [ilm-history-ilm-policy]
[00:09:03]                 │ debg --- retry.tryForTime error: Waiting for element to be located By(css selector, [data-test-subj="removeSampleDataSetflights"])
[00:09:03]                 │      Wait timed out after 10054ms
[00:09:04]                 │ debg TestSubjects.find(removeSampleDataSetflights)
[00:09:04]                 │ debg Find.findByCssSelector('[data-test-subj="removeSampleDataSetflights"]') with timeout=10000
[00:09:14]                 │ debg --- retry.tryForTime error: Waiting for element to be located By(css selector, [data-test-subj="removeSampleDataSetflights"])
[00:09:14]                 │      Wait timed out after 10052ms
[00:09:14]                 │ debg TestSubjects.find(removeSampleDataSetflights)
[00:09:14]                 │ debg Find.findByCssSelector('[data-test-subj="removeSampleDataSetflights"]') with timeout=10000
[00:09:24]                 │ debg --- retry.tryForTime error: Waiting for element to be located By(css selector, [data-test-subj="removeSampleDataSetflights"])
[00:09:24]                 │      Wait timed out after 10050ms
[00:09:25]                 │ debg TestSubjects.find(removeSampleDataSetflights)
[00:09:25]                 │ debg Find.findByCssSelector('[data-test-subj="removeSampleDataSetflights"]') with timeout=10000
[00:09:35]                 │ debg --- retry.tryForTime error: Waiting for element to be located By(css selector, [data-test-subj="removeSampleDataSetflights"])
[00:09:35]                 │      Wait timed out after 10055ms
[00:09:36]                 │ debg TestSubjects.find(removeSampleDataSetflights)
[00:09:36]                 │ debg Find.findByCssSelector('[data-test-subj="removeSampleDataSetflights"]') with timeout=10000
[00:09:46]                 │ debg --- retry.tryForTime error: Waiting for element to be located By(css selector, [data-test-subj="removeSampleDataSetflights"])
[00:09:46]                 │      Wait timed out after 10054ms
[00:09:46]                 │ debg TestSubjects.find(removeSampleDataSetflights)
[00:09:46]                 │ debg Find.findByCssSelector('[data-test-subj="removeSampleDataSetflights"]') with timeout=10000
[00:09:56]                 │ debg --- retry.tryForTime error: Waiting for element to be located By(css selector, [data-test-subj="removeSampleDataSetflights"])
[00:09:56]                 │      Wait timed out after 10033ms
[00:09:57]                 │ debg TestSubjects.find(removeSampleDataSetflights)
[00:09:57]                 │ debg Find.findByCssSelector('[data-test-subj="removeSampleDataSetflights"]') with timeout=10000
[00:10:07]                 │ debg --- retry.tryForTime error: Waiting for element to be located By(css selector, [data-test-subj="removeSampleDataSetflights"])
[00:10:07]                 │      Wait timed out after 10025ms
[00:10:07]                 │ debg TestSubjects.find(removeSampleDataSetflights)
[00:10:07]                 │ debg Find.findByCssSelector('[data-test-subj="removeSampleDataSetflights"]') with timeout=10000
[00:10:17]                 │ debg --- retry.tryForTime error: Waiting for element to be located By(css selector, [data-test-subj="removeSampleDataSetflights"])
[00:10:17]                 │      Wait timed out after 10015ms
[00:10:18]                 │ debg TestSubjects.find(removeSampleDataSetflights)
[00:10:18]                 │ debg Find.findByCssSelector('[data-test-subj="removeSampleDataSetflights"]') with timeout=10000
[00:10:28]                 │ debg --- retry.tryForTime error: Waiting for element to be located By(css selector, [data-test-subj="removeSampleDataSetflights"])
[00:10:28]                 │      Wait timed out after 10021ms
[00:10:28]                 │ debg TestSubjects.find(removeSampleDataSetflights)
[00:10:28]                 │ debg Find.findByCssSelector('[data-test-subj="removeSampleDataSetflights"]') with timeout=10000
[00:10:38]                 │ debg --- retry.tryForTime error: Waiting for element to be located By(css selector, [data-test-subj="removeSampleDataSetflights"])
[00:10:38]                 │      Wait timed out after 10035ms
[00:10:39]                 │ debg TestSubjects.find(removeSampleDataSetflights)
[00:10:39]                 │ debg Find.findByCssSelector('[data-test-subj="removeSampleDataSetflights"]') with timeout=10000
[00:10:49]                 │ debg --- retry.tryForTime failed again with the same message...
[00:10:49]                 │ info Taking screenshot "/dev/shm/workspace/parallel/4/kibana/x-pack/test/functional/screenshots/failure/dashboard sample data dashboard _after all_ hook.png"
[00:10:50]                 │ info Current URL is: http://localhost:6141/app/home#/tutorial_directory/sampleData
[00:10:50]                 │ info Saving page source to: /dev/shm/workspace/parallel/4/kibana/x-pack/test/functional/failure_debug/html/dashboard sample data dashboard _after all_ hook.html
[00:10:50]                 └- ✖ fail: "dashboard sample data dashboard "after all" hook for "toggle from Discover to Dashboard attempt 2""
[00:10:50]                 │

Stack Trace

Error: retry.tryForTime timeout: TimeoutError: Waiting for element to be located By(css selector, [data-test-subj="removeSampleDataSetflights"])
Wait timed out after 10035ms
    at /dev/shm/workspace/kibana/node_modules/selenium-webdriver/lib/webdriver.js:842:17
    at process._tickCallback (internal/process/next_tick.js:68:7)
    at onFailure (/dev/shm/workspace/parallel/4/kibana/test/common/services/retry/retry_for_success.ts:28:9)
    at retryForSuccess (/dev/shm/workspace/parallel/4/kibana/test/common/services/retry/retry_for_success.ts:68:13)

Build metrics

✅ unchanged

History

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

@madirey madirey merged commit f5b77e1 into elastic:master Jul 8, 2020
gmmorris added a commit to gmmorris/kibana that referenced this pull request Jul 8, 2020
* master: (36 commits)
  fixed api url in example plugin (elastic#70934)
  [data.search.aggs]: Remove remaining client dependencies (elastic#70251)
  [Security Solution][Endpoint] Fix base64 download bug and adopt new user artifact/manifest format (elastic#70998)
  [Security Solution][Exceptions] - Exception Modal Part I (elastic#70639)
  [SIEM][Detection Engine][Lists] Adds additional data types to value based lists
  [SIEM][Detection Engine][Lists] Removes feature flag for lists
  [APM] Show license callout in ML settings (elastic#70959)
  Migrate service settings test to jest (elastic#70992)
  [APM] Add cloud attributes to data telemetry (elastic#71008)
  Fix breadcrumb on panels for visibility / round corners (elastic#71010)
  Improve search typescript (elastic#69333)
  [savedObjects field count] run in baseline job (elastic#70999)
  [Security Solution] [Timeline] Timeline manager tweaks (elastic#69988)
  [Endpoint] Support redirect from Policy Details to Ingest when user initiates Edit Policy from Datasource Edit page (elastic#70874)
  [APM] Add API tests (elastic#70740)
  [Security Solution][Exceptions] - Tie server and client code together (elastic#70918)
  [Audit Logging] Add AuditTrail service (elastic#69278)
  [Usage Collection] Ensure no type duplicates (elastic#70946)
  [Security Solution] [Timeline] Bugfix for timeline row actions disappear sometimes (elastic#70958)
  [CI] Add pipeline task queue framework and merge workers into one (elastic#64011)
  ...
madirey added a commit that referenced this pull request Jul 9, 2020
…ser artifact/manifest format (#70998) (#71197)

* Fix base64 download bug

* Add test for artifact download

* Add more tests to ensure cached versions of artifacts are correct

* Convert to new format

* missed some refs

* partial fix to wrapper format

* update fixtures and integration test

* Fixing unit tests

Co-authored-by: Alex Kahan <alexander.kahan@elastic.co>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>

Co-authored-by: Alex Kahan <alexander.kahan@elastic.co>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:Endpoint Elastic Endpoint feature release_note:skip Skip the PR/issue when compiling release notes Team:Endpoint Response Endpoint Response Team v7.9.0 v8.0.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants