diff --git a/bin/database.py b/bin/database.py index 104302ff02e3e540e28c4ffe6494866d694db934..acf466b980fef972f2103d97eee53941f0044951 100755 --- a/bin/database.py +++ b/bin/database.py @@ -580,6 +580,9 @@ def upgrade_to_21(): measurement = container.get('measurement', None) modality = container.get('instrument', None) info = container.get('metadata', None) + if info: + config.db.acquisitions.update_one(query, {'$set': {'metadata': {}}}) + # From mongo docs: '$rename does not work if these fields are in array elements.' files = container.get('files') @@ -606,7 +609,10 @@ def upgrade_to_21(): file_['modality'] = modality updated_files.append(file_) - update['$set'] = {'files': updated_files} + if update.get('$set'): + update['$set']['files': updated_files] + else: + update['$set'] = {'files': updated_files} result = config.db[cont_name].update_one(query, update) diff --git a/raml/schemas/output/session-jobs.json b/raml/schemas/output/session-jobs.json index 6296c8154b818a48f6ce4bdb5caa42d24eb40d45..18c52a0a0ccf031590c79cb0b57185e89ef5b616 100644 --- a/raml/schemas/output/session-jobs.json +++ b/raml/schemas/output/session-jobs.json @@ -19,7 +19,8 @@ "modified":{"$ref":"../definitions/created-modified.json#/definitions/modified"}, "config":{"$ref":"../definitions/job.json#/definitions/config"}, "request":{"$ref":"../definitions/job.json#/definitions/request"}, - "saved_files":{"$ref":"../definitions/job.json#/definitions/saved_files"} + "saved_files":{"$ref":"../definitions/job.json#/definitions/saved_files"}, + "produced_metadata":{"$ref":"../definitions/job.json#/definitions/produced_metadata"} }, "additionalProperties":false, "required":[ diff --git a/test/integration_tests/abao/abao_test_hooks.js b/test/integration_tests/abao/abao_test_hooks.js index f3f19fd57fe9b16d5c15f537633eba9987f4d9a9..c5b98cc4ad6cac5dddc7cd668b9a0238fe63db8f 100644 --- a/test/integration_tests/abao/abao_test_hooks.js +++ b/test/integration_tests/abao/abao_test_hooks.js @@ -680,6 +680,12 @@ hooks.before("GET /sessions/{SessionId} -> 200", function(test, done) { done(); }); +hooks.after("GET /sessions/{SessionId} -> 200", function(test, done) { + test_session_1 = test.response.body; + assert.equal(test_session_1.label, "test-session-1"); + done(); +}); + hooks.before("POST /sessions -> 200", function(test, done) { test.request.body.project = test_session_1.project; done();