X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/900b548097c68649ae2874ded5849f1d8164384c..69e9a3e41a8d381adc095718a73a8a99a7943a5a:/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 892060a199..c284750c97 100644 --- a/services/api/test/integration/collections_performance_test.rb +++ b/services/api/test/integration/collections_performance_test.rb @@ -1,3 +1,4 @@ +require 'safe_json' require 'test_helper' require 'helpers/manifest_examples' require 'helpers/time_block' @@ -5,7 +6,7 @@ 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, @@ -14,7 +15,7 @@ class CollectionsApiPerformanceTest < ActionDispatch::IntegrationTest 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 +38,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