X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/dab62e9006a117b29314f1c2db9aa10b665cc4d7..ecf6627111838530f64ffcd689e11d987cc7bf2f:/services/api/test/integration/collections_performance_test.rb diff --git a/services/api/test/integration/collections_performance_test.rb b/services/api/test/integration/collections_performance_test.rb index 7b790b7de2..3d13d144b8 100644 --- a/services/api/test/integration/collections_performance_test.rb +++ b/services/api/test/integration/collections_performance_test.rb @@ -1,3 +1,8 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + +require 'safe_json' require 'test_helper' require 'helpers/manifest_examples' require 'helpers/time_block' @@ -5,16 +10,16 @@ require 'helpers/time_block' class CollectionsApiPerformanceTest < ActionDispatch::IntegrationTest include ManifestExamples - test "crud cycle for a collection with a big manifest" do + slow_test "crud cycle for a collection with a big manifest" do bigmanifest = time_block 'make example' do make_manifest(streams: 100, files_per_stream: 100, - blocks_per_file: 10, + blocks_per_file: 20, bytes_per_block: 2**26, api_token: api_token(:active)) end json = time_block "JSON encode #{bigmanifest.length>>20}MiB manifest" do - Oj.dump({manifest_text: bigmanifest}) + SafeJSON.dump({"manifest_text" => bigmanifest}) end time_block 'create' do post '/arvados/v1/collections', {collection: json}, auth(:active) @@ -37,4 +42,18 @@ class CollectionsApiPerformanceTest < ActionDispatch::IntegrationTest delete '/arvados/v1/collections/' + uuid, {}, auth(:active) end end + + slow_test "memory usage" do + hugemanifest = make_manifest(streams: 1, + files_per_stream: 2000, + blocks_per_file: 200, + bytes_per_block: 2**26, + api_token: api_token(:active)) + json = time_block "JSON encode #{hugemanifest.length>>20}MiB manifest" do + SafeJSON.dump({manifest_text: hugemanifest}) + end + vmpeak "post" do + post '/arvados/v1/collections', {collection: json}, auth(:active) + end + end end