+require 'safe_json'
require 'test_helper'
require 'helpers/manifest_examples'
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,
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)
end
end
- 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))
+ 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
- Oj.dump({manifest_text: hugemanifest})
+ SafeJSON.dump({manifest_text: hugemanifest})
+ end
+ vmpeak "post" do
+ post '/arvados/v1/collections', {collection: json}, auth(:active)
end
- vmpeak "post" do
- post '/arvados/v1/collections', {collection: json}, auth(:active)
- end
end
end