From d1e9b92b3283122c8862a99d94eeb1183df5196e Mon Sep 17 00:00:00 2001 From: Stephen MacVicar Date: Thu, 5 Nov 2020 10:01:16 -0500 Subject: [PATCH] FI-903: replace data mapper (#504) * replace DataMapper with ActiveRecord * address PR comments * move scripts to bin directory --- .codeclimate.yml | 1 + .rubocop.yml | 1 + .travis.yml | 3 +- Dockerfile | 5 +- Gemfile | 5 +- Gemfile.lock | 106 ++--- README.md | 22 + Rakefile | 3 + bin/run.sh | 4 + bin/run_tests.sh | 3 + db/config.yml | 17 + db/migrate/20200910183547_initial_db_setup.rb | 180 +++++++ ...00915144535_add_expect_redirect_failure.rb | 6 + db/schema.rb | 194 ++++++++ docker-compose.yml | 2 +- .../static/data_absent_reason_checker.rb | 4 +- .../data_absent_reason_checker_test.rb | 2 +- generator/uscore/templates/module.yml.erb | 2 - .../unit_tests/authorization_unit_test.rb.erb | 5 +- .../unit_tests/resource_read_unit_test.rb.erb | 15 +- .../resource_validation_unit_test.rb.erb | 2 +- .../unit_tests/search_unit_test.rb.erb | 2 +- .../templates/unit_tests/unit_test.rb.erb | 2 +- lib/app.rb | 5 +- lib/app/endpoint.rb | 3 - lib/app/endpoint/home.rb | 14 +- lib/app/endpoint/oauth2_endpoints.rb | 10 +- lib/app/endpoint/test_set_endpoints.rb | 26 +- lib/app/ext/fhir_client.rb | 4 +- lib/app/models.rb | 14 +- lib/app/models/application_record.rb | 11 + lib/app/models/information_message.rb | 10 +- lib/app/models/module/test_group.rb | 1 + lib/app/models/request_response.rb | 69 ++- lib/app/models/resource_reference.rb | 16 +- lib/app/models/sequence_requirement.rb | 14 +- lib/app/models/sequence_result.rb | 192 ++++---- lib/app/models/server_capabilities.rb | 175 ++++--- lib/app/models/test_result.rb | 37 +- lib/app/models/test_warning.rb | 10 +- lib/app/models/testing_instance.rb | 438 ++++++++---------- lib/app/sequence_base.rb | 29 +- lib/app/utils/startup_tasks.rb | 15 +- lib/app/views/default.erb | 6 + ...onaut_allergy_intolerance_sequence_test.rb | 2 +- .../test/argonaut_careplan_sequence_test.rb | 2 +- .../test/argonaut_careteam_sequence_test.rb | 2 +- .../test/argonaut_condition_sequence_test.rb | 2 +- .../argonaut_conformance_sequence_test.rb | 2 +- .../test/argonaut_device_sequence_test.rb | 2 +- ...rgonaut_diagnostic_report_sequence_test.rb | 2 +- .../test/argonaut_goal_sequence_test.rb | 2 +- .../argonaut_immunization_sequence_test.rb | 2 +- ...argonaut_medication_order_sequence_test.rb | 2 +- ...naut_medication_statement_sequence_test.rb | 2 +- .../argonaut_observation_sequence_test.rb | 2 +- ...rgonaut_patient_read_only_sequence_test.rb | 4 +- .../argonaut_patient_search_sequence_test.rb | 2 +- .../test/argonaut_procedure_sequence_test.rb | 2 +- .../argonaut_smoking_status_sequence_test.rb | 2 +- ...t_vital_signs_observation_sequence_test.rb | 2 +- .../core/capability_statement_sequence.rb | 2 +- .../test/onc_ehr_launch_sequence_test.rb | 12 +- .../onc_program_document_reference_test.rb | 2 +- .../test/onc_program_provenance_test.rb | 2 +- .../onc_standalone_launch_sequence_test.rb | 12 +- .../smart/dynamic_registration_sequence.rb | 2 +- lib/modules/smart/ehr_launch_sequence.rb | 14 +- lib/modules/smart/shared_launch_tests.rb | 12 +- lib/modules/smart/smart_discovery_sequence.rb | 4 +- .../smart/standalone_launch_sequence.rb | 4 +- .../smart/test/dynamic_registration_test.rb | 18 +- lib/modules/smart/test/ehr_launch_test.rb | 2 +- lib/modules/smart/test/openid_connect_test.rb | 28 +- .../smart/test/shared_launch_tests_test.rb | 50 +- .../test/smart_discovery_sequence_test.rb | 2 +- .../smart/test/standalone_launch_test.rb | 2 +- .../smart/test/token_introspection_test.rb | 2 +- .../smart/test/token_refresh_sequence_test.rb | 12 +- .../smart/token_introspection_sequence.rb | 2 +- .../test/clinicalnotes_sequence_test.rb | 2 +- ...e_r4_capability_statement_sequence_test.rb | 2 +- ...ore_r4_data_absent_reason_sequence_test.rb | 6 +- ...core_r4_patient_read_only_sequence_test.rb | 2 +- .../data_absent_reason_checker.rb | 4 +- .../uscore_v3.1.0/test/bodyheight_test.rb | 27 +- .../uscore_v3.1.0/test/bodytemp_test.rb | 27 +- .../uscore_v3.1.0/test/bodyweight_test.rb | 27 +- lib/modules/uscore_v3.1.0/test/bp_test.rb | 27 +- .../test/data_absent_reason_checker_test.rb | 2 +- .../uscore_v3.1.0/test/headcircum_test.rb | 27 +- .../uscore_v3.1.0/test/heartrate_test.rb | 27 +- .../test/pediatric_bmi_for_age_test.rb | 27 +- .../test/pediatric_weight_for_height_test.rb | 27 +- .../uscore_v3.1.0/test/resprate_test.rb | 27 +- .../test/us_core_allergyintolerance_test.rb | 23 +- .../test/us_core_careplan_test.rb | 21 +- .../test/us_core_careteam_test.rb | 19 +- .../test/us_core_condition_test.rb | 27 +- .../test/us_core_diagnosticreport_lab_test.rb | 29 +- .../us_core_diagnosticreport_note_test.rb | 29 +- .../test/us_core_documentreference_test.rb | 33 +- .../test/us_core_encounter_test.rb | 17 +- .../uscore_v3.1.0/test/us_core_goal_test.rb | 23 +- .../test/us_core_immunization_test.rb | 23 +- .../test/us_core_implantable_device_test.rb | 21 +- .../test/us_core_medicationrequest_test.rb | 25 +- .../test/us_core_observation_lab_test.rb | 27 +- .../test/us_core_organization_test.rb | 17 +- .../test/us_core_patient_test.rb | 31 +- .../test/us_core_practitioner_test.rb | 17 +- .../test/us_core_procedure_test.rb | 25 +- .../test/us_core_provenance_test.rb | 17 +- .../test/us_core_pulse_oximetry_test.rb | 27 +- .../test/us_core_smokingstatus_test.rb | 19 +- lib/modules/uscore_v3.1.0_module.yml | 2 - .../data_absent_reason_checker.rb | 4 +- .../test/data_absent_reason_checker_test.rb | 2 +- ...l_frontal_circumference_percentile_test.rb | 27 +- .../test/pediatric_bmi_for_age_test.rb | 27 +- .../test/pediatric_weight_for_height_test.rb | 27 +- .../test/us_core_allergyintolerance_test.rb | 23 +- .../test/us_core_careplan_test.rb | 21 +- .../test/us_core_careteam_test.rb | 19 +- .../test/us_core_condition_test.rb | 27 +- .../test/us_core_diagnosticreport_lab_test.rb | 29 +- .../us_core_diagnosticreport_note_test.rb | 29 +- .../test/us_core_documentreference_test.rb | 33 +- .../test/us_core_encounter_test.rb | 17 +- .../uscore_v3.1.1/test/us_core_goal_test.rb | 23 +- .../test/us_core_immunization_test.rb | 23 +- .../test/us_core_implantable_device_test.rb | 21 +- .../test/us_core_medicationrequest_test.rb | 25 +- .../test/us_core_observation_lab_test.rb | 27 +- .../test/us_core_organization_test.rb | 17 +- .../test/us_core_patient_test.rb | 31 +- .../test/us_core_practitioner_test.rb | 17 +- .../test/us_core_procedure_test.rb | 25 +- .../test/us_core_provenance_test.rb | 17 +- .../test/us_core_pulse_oximetry_test.rb | 27 +- .../test/us_core_smokingstatus_test.rb | 19 +- lib/modules/uscore_v3.1.1_module.yml | 2 - lib/tasks/tasks.rake | 14 +- test/integration/instance_page_test.rb | 2 +- test/integration/oauth2_endpoints_test.rb | 18 +- test/test_helper.rb | 39 +- test/unit/exceptions_test.rb | 16 +- test/unit/fhir_client_test.rb | 14 +- test/unit/sequence_base_test.rb | 18 +- test/unit/sequence_result_test.rb | 60 +-- test/unit/server_capabilities_test.rb | 16 +- test/unit/test_result_test.rb | 2 +- test/unit/testing_instance_test.rb | 46 +- 153 files changed, 1890 insertions(+), 1552 deletions(-) create mode 100755 bin/run.sh create mode 100755 bin/run_tests.sh create mode 100644 db/config.yml create mode 100644 db/migrate/20200910183547_initial_db_setup.rb create mode 100644 db/migrate/20200915144535_add_expect_redirect_failure.rb create mode 100644 db/schema.rb create mode 100644 lib/app/models/application_record.rb diff --git a/.codeclimate.yml b/.codeclimate.yml index bdabd139b..c454eb844 100644 --- a/.codeclimate.yml +++ b/.codeclimate.yml @@ -1,6 +1,7 @@ version: "2" # required to adjust maintainability checks exclude_patterns: - "!**/test/" + - "!db/**/*" checks: argument-count: enabled: true diff --git a/.rubocop.yml b/.rubocop.yml index d457f9e87..d36badbf2 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -7,6 +7,7 @@ AllCops: - 'vendor/**/*' - 'node_modules/**/*' - '.git/**/*' + - 'db/**/*' Layout/MultilineMethodCallIndentation: EnforcedStyle: 'indented' diff --git a/.travis.yml b/.travis.yml index 09f39ae1e..6d9734b4b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,11 +9,12 @@ before_script: - chmod +x ./cc-test-reporter - ./cc-test-reporter before-build script: + - RACK_ENV=test bundle exec rake db:create db:schema:load - bundle exec rake # For unknown reasons, the test-reporter fails when using docker if run in an # after_script section - ./cc-test-reporter after-build -t simplecov --exit-code $TRAVIS_TEST_RESULT - - docker-compose run ruby_server bundle exec rake + - docker-compose run ruby_server ./bin/run_tests.sh - bundle exec rubocop notifications: email: diff --git a/Dockerfile b/Dockerfile index fc3297976..dab5eebee 100644 --- a/Dockerfile +++ b/Dockerfile @@ -19,10 +19,13 @@ COPY config* /var/www/inferno/ COPY Rakefile /var/www/inferno/ COPY test /var/www/inferno/test COPY lib /var/www/inferno/lib +COPY db /var/www/inferno/db +COPY bin /var/www/inferno/bin ### Set up environment ENV APP_ENV=production +ENV RACK_ENV=production EXPOSE 4567 -CMD ["bundle", "exec", "rackup", "-o", "0.0.0.0"] +CMD ["./bin/run.sh"] diff --git a/Gemfile b/Gemfile index 435658736..ee3611e17 100644 --- a/Gemfile +++ b/Gemfile @@ -2,13 +2,12 @@ source 'https://rubygems.org' +gem 'activerecord', '~> 5.2' gem 'addressable' gem 'ast' gem 'base62-rb' gem 'bloomer' gem 'colorize' -gem 'data_mapper' -gem 'dm-sqlite-adapter' gem 'fhir_client' gem 'jwt' gem 'kramdown' @@ -23,10 +22,12 @@ gem 'selenium-webdriver' gem 'sinatra' gem 'sinatra-contrib' gem 'sqlite3' +gem 'standalone_migrations', '~> 6.0' gem 'thin' gem 'time_difference' group :test do + gem 'database_cleaner-active_record' gem 'minitest' gem 'rack-test' gem 'rubocop', require: false diff --git a/Gemfile.lock b/Gemfile.lock index b0dc048df..3226e88f7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,6 +1,25 @@ GEM remote: https://rubygems.org/ specs: + actionpack (5.2.4.3) + actionview (= 5.2.4.3) + activesupport (= 5.2.4.3) + rack (~> 2.0, >= 2.0.8) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.0.2) + actionview (5.2.4.3) + activesupport (= 5.2.4.3) + builder (~> 3.1) + erubi (~> 1.4) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.0.3) + activemodel (5.2.4.3) + activesupport (= 5.2.4.3) + activerecord (5.2.4.3) + activemodel (= 5.2.4.3) + activesupport (= 5.2.4.3) + arel (>= 9.0) activesupport (5.2.4.3) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 0.7, < 2) @@ -8,18 +27,17 @@ GEM tzinfo (~> 1.1) addressable (2.7.0) public_suffix (>= 2.0.2, < 5.0) + arel (9.0.0) ast (2.4.0) backports (3.15.0) base62-rb (0.3.1) bcp47 (0.3.3) i18n - bcrypt (3.1.13) - bcrypt-ruby (3.1.5) - bcrypt (>= 3.1.3) bitarray (1.2.0) bloomer (1.0.0) bitarray msgpack + builder (3.2.4) byebug (11.0.1) childprocess (2.0.0) rake (< 13.0) @@ -28,63 +46,20 @@ GEM concurrent-ruby (1.1.6) crack (0.4.3) safe_yaml (~> 1.0.0) + crass (1.0.6) daemons (1.3.1) - data_mapper (1.2.0) - dm-aggregates (~> 1.2.0) - dm-constraints (~> 1.2.0) - dm-core (~> 1.2.0) - dm-migrations (~> 1.2.0) - dm-serializer (~> 1.2.0) - dm-timestamps (~> 1.2.0) - dm-transactions (~> 1.2.0) - dm-types (~> 1.2.0) - dm-validations (~> 1.2.0) - data_objects (0.10.17) - addressable (~> 2.1) + database_cleaner (1.8.5) + database_cleaner-active_record (1.8.0) + activerecord + database_cleaner (~> 1.8.0) date_time_precision (0.8.1) - dm-aggregates (1.2.0) - dm-core (~> 1.2.0) - dm-constraints (1.2.0) - dm-core (~> 1.2.0) - dm-core (1.2.1) - addressable (~> 2.3) - dm-do-adapter (1.2.0) - data_objects (~> 0.10.6) - dm-core (~> 1.2.0) - dm-migrations (1.2.0) - dm-core (~> 1.2.0) - dm-serializer (1.2.2) - dm-core (~> 1.2.0) - fastercsv (~> 1.5) - json (~> 1.6) - json_pure (~> 1.6) - multi_json (~> 1.0) - dm-sqlite-adapter (1.2.0) - dm-do-adapter (~> 1.2.0) - do_sqlite3 (~> 0.10.6) - dm-timestamps (1.2.0) - dm-core (~> 1.2.0) - dm-transactions (1.2.0) - dm-core (~> 1.2.0) - dm-types (1.2.2) - bcrypt-ruby (~> 3.0) - dm-core (~> 1.2.0) - fastercsv (~> 1.5) - json (~> 1.6) - multi_json (~> 1.0) - stringex (~> 1.4) - uuidtools (~> 2.1) - dm-validations (1.2.0) - dm-core (~> 1.2.0) - do_sqlite3 (0.10.17) - data_objects (= 0.10.17) docile (1.3.2) domain_name (0.5.20190701) unf (>= 0.0.5, < 1.0.0) + erubi (1.9.0) eventmachine (1.2.7) faraday (0.15.4) multipart-post (>= 1.2, < 3) - fastercsv (1.5.5) fhir_client (4.0.3) activesupport (>= 3) addressable (>= 2.3) @@ -119,10 +94,12 @@ GEM concurrent-ruby (~> 1.0) jaro_winkler (1.5.3) json (1.8.6) - json_pure (1.8.6) jwt (2.2.1) kramdown (2.3.0) rexml + loofah (2.7.0) + crass (~> 1.0.2) + nokogiri (>= 1.5.9) method_source (0.9.2) mime-types (3.3.1) mime-types-data (~> 3.2015) @@ -158,6 +135,17 @@ GEM rack rack-test (1.1.0) rack (>= 1.0, < 3) + rails-dom-testing (2.0.3) + activesupport (>= 4.2.0) + nokogiri (>= 1.6) + rails-html-sanitizer (1.3.0) + loofah (~> 2.3) + railties (5.2.4.3) + actionpack (= 5.2.4.3) + activesupport (= 5.2.4.3) + method_source + rake (>= 0.8.7) + thor (>= 0.19.0, < 2.0) rainbow (3.0.0) rake (12.3.3) rb-readline (0.5.5) @@ -201,11 +189,15 @@ GEM sinatra (= 2.0.7) tilt (~> 2.0) sqlite3 (1.4.1) - stringex (1.5.1) + standalone_migrations (6.0.0) + activerecord (>= 4.2.7, < 6.1.0, != 5.2.3.rc1, != 5.2.3) + railties (>= 4.2.7, < 6.1.0, != 5.2.3.rc1, != 5.2.3) + rake (>= 10.0) thin (1.7.2) daemons (~> 1.0, >= 1.0.9) eventmachine (~> 1.0, >= 1.0.4) rack (>= 1, < 3) + thor (1.0.1) thread_safe (0.3.6) tilt (2.0.10) time_difference (0.7.0) @@ -216,7 +208,6 @@ GEM unf_ext unf_ext (0.0.7.6) unicode-display_width (1.6.0) - uuidtools (2.1.5) webmock (3.7.6) addressable (>= 2.3.6) crack (>= 0.3.2) @@ -226,13 +217,13 @@ PLATFORMS ruby DEPENDENCIES + activerecord (~> 5.2) addressable ast base62-rb bloomer colorize - data_mapper - dm-sqlite-adapter + database_cleaner-active_record fhir_client jwt kramdown @@ -251,6 +242,7 @@ DEPENDENCIES sinatra sinatra-contrib sqlite3 + standalone_migrations (~> 6.0) thin time_difference webmock diff --git a/README.md b/README.md index bd4c36033..c1fee64b1 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,7 @@ And run the following commands from the terminal: git clone https://github.com/onc-healthit/inferno cd inferno bundle install +bundle exec rake db:create db:schema:load bundle exec rackup ``` @@ -61,6 +62,26 @@ Deployment on a remote server can be done by using a modified form of the Docker Please see the file [deployment-configuration.md](https://github.com/onc-healthit/inferno/blob/master/deployment-configuration.md) for details. +#### Upgrading Inferno + +If an Inferno update makes changes to the database schema, migrations will have +to be run when updating. Run migrations with: + +```sh +bundle exec rake db:migrate +``` + +The above will migrate the development database. To migrate a production or test +database, use: + +```sh +RACK_ENV=production bundle exec rake db:migrate +RACK_ENV=test bundle exec rake db:migrate +``` + +If you are using the provided inferno docker image, migrations will be run +automatically. + ### Reference Implementation While it is recommended that users install Inferno locally, a reference implementation of Inferno is hosted at https://inferno.healthit.gov @@ -76,6 +97,7 @@ Inferno has been tested on the latest versions of Chrome, Firefox, Safari, and E Inferno contains a robust set of self-tests to ensure that the test clients conform to the specification and performs as intended. To run these tests, execute the following command: ```sh +RACK_ENV=test bundle exec rake db:create db:schema:load bundle exec rake test ``` diff --git a/Rakefile b/Rakefile index 1a178660d..dbfd21c0b 100644 --- a/Rakefile +++ b/Rakefile @@ -2,6 +2,9 @@ require 'rake/testtask' require 'rubocop/rake_task' +require 'standalone_migrations' + +StandaloneMigrations::Tasks.load_tasks task :default do ENV['RACK_ENV'] = 'test' diff --git a/bin/run.sh b/bin/run.sh new file mode 100755 index 000000000..31afcc523 --- /dev/null +++ b/bin/run.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +bundle exec rake db:create db:migrate +bundle exec rackup -o 0.0.0.0 diff --git a/bin/run_tests.sh b/bin/run_tests.sh new file mode 100755 index 000000000..f33d35222 --- /dev/null +++ b/bin/run_tests.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +RACK_ENV=test bundle exec rake db:create db:migrate test diff --git a/db/config.yml b/db/config.yml new file mode 100644 index 000000000..ef9c28033 --- /dev/null +++ b/db/config.yml @@ -0,0 +1,17 @@ +development: + adapter: sqlite3 + database: data/development_data.db + pool: 10 + timeout: 5000 + +production: + adapter: sqlite3 + database: data/production_data.db + pool: 10 + timeout: 5000 + +test: &test + adapter: sqlite3 + database: data/test_data.db + pool: 10 + timeout: 5000 diff --git a/db/migrate/20200910183547_initial_db_setup.rb b/db/migrate/20200910183547_initial_db_setup.rb new file mode 100644 index 000000000..4aeeccde9 --- /dev/null +++ b/db/migrate/20200910183547_initial_db_setup.rb @@ -0,0 +1,180 @@ +class InitialDbSetup < ActiveRecord::Migration[5.2] + def change + create_table "inferno_models_information_messages", id: :string, limit: 50, force: :cascade do |t| + t.string "message", limit: 500 + t.string "test_result_id", limit: 50, null: false + t.index ["test_result_id"], name: "index_inferno_models_information_messages_test_result" + end + + create_table "inferno_models_request_response_test_results", primary_key: ["request_response_id", "test_result_id"], force: :cascade do |t| + t.string "request_response_id", limit: 50, null: false + t.string "test_result_id", limit: 50, null: false + end + + create_table "inferno_models_request_responses", id: :string, limit: 50, force: :cascade do |t| + t.string "request_method", limit: 50 + t.string "request_url", limit: 500 + t.string "request_headers", limit: 1000 + t.text "request_payload" + t.integer "response_code" + t.string "response_headers", limit: 1000 + t.text "response_body" + t.string "direction", limit: 50 + t.string "instance_id", limit: 50 + t.datetime "timestamp" + end + + create_table "inferno_models_resource_references", id: :string, limit: 50, force: :cascade do |t| + t.string "resource_type", limit: 50 + t.string "resource_id", limit: 50 + t.string "profile", limit: 50 + t.datetime "created_at" + t.string "testing_instance_id", limit: 50, null: false + t.index ["testing_instance_id"], name: "index_inferno_models_resource_references_testing_instance" + end + + create_table "inferno_models_sequence_requirements", id: :string, limit: 50, force: :cascade do |t| + t.string "name", limit: 50 + t.string "testing_instance_id", limit: 50 + t.string "value", limit: 50 + t.string "label", limit: 50 + t.string "description", limit: 50 + t.index ["name", "testing_instance_id"], name: "unique_inferno_models_sequence_requirements_name_by_instance", unique: true + end + + create_table "inferno_models_sequence_results", id: :string, limit: 50, force: :cascade do |t| + t.string "name", limit: 50 + t.string "result", limit: 50 + t.string "test_case_id", limit: 50 + t.string "test_set_id", limit: 50 + t.string "redirect_to_url", limit: 500 + t.string "wait_at_endpoint", limit: 50 + t.integer "required_passed", default: 0 + t.integer "required_total", default: 0 + t.integer "error_count", default: 0 + t.integer "todo_count", default: 0 + t.integer "skip_count", default: 0 + t.integer "optional_passed", default: 0 + t.integer "optional_total", default: 0 + t.integer "required_omitted", default: 0 + t.integer "optional_omitted", default: 0 + t.string "app_version", limit: 50 + t.boolean "required", default: true + t.string "input_params", limit: 50 + t.string "output_results", limit: 50 + t.string "next_sequences", limit: 50 + t.string "next_test_cases", limit: 50 + t.datetime "created_at" + t.string "testing_instance_id", limit: 50, null: false + t.index ["testing_instance_id"], name: "index_inferno_models_sequence_results_testing_instance" + end + + create_table "inferno_models_server_capabilities", id: :string, limit: 50, force: :cascade do |t| + t.text "capabilities" + t.string "testing_instance_id", limit: 50, null: false + t.index ["testing_instance_id"], name: "index_inferno_models_server_capabilities_testing_instance" + end + + create_table "inferno_models_test_results", id: :string, limit: 50, force: :cascade do |t| + t.string "test_id", limit: 50 + t.string "ref", limit: 50 + t.string "name", limit: 50 + t.string "result", limit: 50 + t.string "message", limit: 500 + t.string "details", limit: 50 + t.boolean "required", default: true + t.string "url", limit: 500 + t.text "description" + t.integer "test_index" + t.datetime "created_at" + t.string "versions", limit: 50 + t.string "wait_at_endpoint", limit: 50 + t.string "redirect_to_url", limit: 50 + t.string "sequence_result_id", limit: 50, null: false + t.index ["sequence_result_id"], name: "index_inferno_models_test_results_sequence_result" + end + + create_table "inferno_models_test_warnings", id: :string, limit: 50, force: :cascade do |t| + t.string "message", limit: 500 + t.string "test_result_id", limit: 50, null: false + t.index ["test_result_id"], name: "index_inferno_models_test_warnings_test_result" + end + + create_table "inferno_models_testing_instances", id: :string, limit: 50, force: :cascade do |t| + t.string "url", limit: 50 + t.string "name", limit: 50 + t.boolean "confidential_client" + t.string "client_id", limit: 50 + t.string "client_secret", limit: 50 + t.string "base_url", limit: 50 + t.string "client_name", limit: 50, default: "Inferno" + t.string "scopes", limit: 50 + t.string "received_scopes", limit: 50 + t.string "encounter_id", limit: 50 + t.string "launch_type", limit: 50 + t.string "state", limit: 50 + t.string "selected_module", limit: 50 + t.boolean "conformance_checked" + t.string "oauth_authorize_endpoint", limit: 50 + t.string "oauth_token_endpoint", limit: 50 + t.string "oauth_register_endpoint", limit: 50 + t.string "fhir_format", limit: 50 + t.boolean "dynamically_registered" + t.string "client_endpoint_key", limit: 50 + t.string "token", limit: 50 + t.datetime "token_retrieved_at" + t.integer "token_expires_in" + t.string "id_token", limit: 50 + t.string "refresh_token", limit: 50 + t.datetime "created_at" + t.string "oauth_introspection_endpoint", limit: 50 + t.string "resource_id", limit: 50 + t.string "resource_secret", limit: 50 + t.string "introspect_token", limit: 50 + t.string "introspect_refresh_token", limit: 50 + t.string "standalone_launch_script", limit: 50 + t.string "ehr_launch_script", limit: 50 + t.string "manual_registration_script", limit: 50 + t.string "initiate_login_uri", limit: 50 + t.string "redirect_uris", limit: 50 + t.string "dynamic_registration_token", limit: 50 + t.string "must_support_confirmed", limit: 50, default: "" + t.string "patient_ids", limit: 50 + t.string "group_id", limit: 50 + t.string "bulk_url", limit: 50 + t.string "bulk_token_endpoint", limit: 50 + t.string "bulk_client_id", limit: 50 + t.string "bulk_system_export_endpoint", limit: 50 + t.string "bulk_patient_export_endpoint", limit: 50 + t.string "bulk_group_export_endpoint", limit: 50 + t.string "bulk_fastest_resource", limit: 50 + t.string "bulk_requires_auth", limit: 50 + t.string "bulk_since_param", limit: 50 + t.string "bulk_jwks_url_auth", limit: 50 + t.string "bulk_jwks_auth", limit: 50 + t.string "bulk_public_key", limit: 50 + t.string "bulk_private_key", limit: 50 + t.string "bulk_access_token", limit: 50 + t.string "bulk_lines_to_validate", limit: 50 + t.string "bulk_status_output", limit: 50 + t.boolean "data_absent_code_found" + t.boolean "data_absent_extension_found" + t.string "device_system", limit: 50 + t.string "device_code", limit: 50 + t.string "device_codes", limit: 50 + t.string "onc_sl_url", limit: 50 + t.boolean "onc_sl_confidential_client" + t.string "onc_sl_client_id", limit: 50 + t.string "onc_sl_client_secret", limit: 50 + t.string "onc_sl_scopes", limit: 50 + t.string "onc_patient_ids", limit: 50 + t.string "bulk_encryption_method", limit: 50, default: "ES384" + t.string "bulk_data_jwks", limit: 50 + t.string "bulk_patient_ids_in_group", limit: 50 + t.string "bulk_stop_after_must_support", limit: 50, default: "true" + t.string "onc_sl_restricted_scopes", limit: 50 + t.string "bulk_scope", limit: 50 + t.boolean "disable_bulk_data_require_access_token_test", default: false + end + end +end diff --git a/db/migrate/20200915144535_add_expect_redirect_failure.rb b/db/migrate/20200915144535_add_expect_redirect_failure.rb new file mode 100644 index 000000000..04c13ca1d --- /dev/null +++ b/db/migrate/20200915144535_add_expect_redirect_failure.rb @@ -0,0 +1,6 @@ +class AddExpectRedirectFailure < ActiveRecord::Migration[5.2] + def change + add_column :inferno_models_test_results, :expect_redirect_failure, :boolean, default: false + add_column :inferno_models_sequence_results, :expect_redirect_failure, :boolean, default: false + end +end diff --git a/db/schema.rb b/db/schema.rb new file mode 100644 index 000000000..95a69eb36 --- /dev/null +++ b/db/schema.rb @@ -0,0 +1,194 @@ +# This file is auto-generated from the current state of the database. Instead +# of editing this file, please use the migrations feature of Active Record to +# incrementally modify your database, and then regenerate this schema definition. +# +# Note that this schema.rb definition is the authoritative source for your +# database schema. If you need to create the application database on another +# system, you should be using db:schema:load, not running all the migrations +# from scratch. The latter is a flawed and unsustainable approach (the more migrations +# you'll amass, the slower it'll run and the greater likelihood for issues). +# +# It's strongly recommended that you check this file into your version control system. + +ActiveRecord::Schema.define(version: 2020_09_15_144535) do + + create_table "inferno_models_information_messages", id: :string, limit: 50, force: :cascade do |t| + t.string "message", limit: 500 + t.string "test_result_id", limit: 50, null: false + t.index ["test_result_id"], name: "index_inferno_models_information_messages_test_result" + end + + create_table "inferno_models_request_response_test_results", primary_key: ["request_response_id", "test_result_id"], force: :cascade do |t| + t.string "request_response_id", limit: 50, null: false + t.string "test_result_id", limit: 50, null: false + end + + create_table "inferno_models_request_responses", id: :string, limit: 50, force: :cascade do |t| + t.string "request_method", limit: 50 + t.string "request_url", limit: 500 + t.string "request_headers", limit: 1000 + t.text "request_payload" + t.integer "response_code" + t.string "response_headers", limit: 1000 + t.text "response_body" + t.string "direction", limit: 50 + t.string "instance_id", limit: 50 + t.datetime "timestamp" + end + + create_table "inferno_models_resource_references", id: :string, limit: 50, force: :cascade do |t| + t.string "resource_type", limit: 50 + t.string "resource_id", limit: 50 + t.string "profile", limit: 50 + t.datetime "created_at" + t.string "testing_instance_id", limit: 50, null: false + t.index ["testing_instance_id"], name: "index_inferno_models_resource_references_testing_instance" + end + + create_table "inferno_models_sequence_requirements", id: :string, limit: 50, force: :cascade do |t| + t.string "name", limit: 50 + t.string "testing_instance_id", limit: 50 + t.string "value", limit: 50 + t.string "label", limit: 50 + t.string "description", limit: 50 + t.index ["name", "testing_instance_id"], name: "unique_inferno_models_sequence_requirements_name_by_instance", unique: true + end + + create_table "inferno_models_sequence_results", id: :string, limit: 50, force: :cascade do |t| + t.string "name", limit: 50 + t.string "result", limit: 50 + t.string "test_case_id", limit: 50 + t.string "test_set_id", limit: 50 + t.string "redirect_to_url", limit: 500 + t.string "wait_at_endpoint", limit: 50 + t.integer "required_passed", default: 0 + t.integer "required_total", default: 0 + t.integer "error_count", default: 0 + t.integer "todo_count", default: 0 + t.integer "skip_count", default: 0 + t.integer "optional_passed", default: 0 + t.integer "optional_total", default: 0 + t.integer "required_omitted", default: 0 + t.integer "optional_omitted", default: 0 + t.string "app_version", limit: 50 + t.boolean "required", default: true + t.string "input_params", limit: 50 + t.string "output_results", limit: 50 + t.string "next_sequences", limit: 50 + t.string "next_test_cases", limit: 50 + t.datetime "created_at" + t.string "testing_instance_id", limit: 50, null: false + t.boolean "expect_redirect_failure", default: false + t.index ["testing_instance_id"], name: "index_inferno_models_sequence_results_testing_instance" + end + + create_table "inferno_models_server_capabilities", id: :string, limit: 50, force: :cascade do |t| + t.text "capabilities" + t.string "testing_instance_id", limit: 50, null: false + t.index ["testing_instance_id"], name: "index_inferno_models_server_capabilities_testing_instance" + end + + create_table "inferno_models_test_results", id: :string, limit: 50, force: :cascade do |t| + t.string "test_id", limit: 50 + t.string "ref", limit: 50 + t.string "name", limit: 50 + t.string "result", limit: 50 + t.string "message", limit: 500 + t.string "details", limit: 50 + t.boolean "required", default: true + t.string "url", limit: 500 + t.text "description" + t.integer "test_index" + t.datetime "created_at" + t.string "versions", limit: 50 + t.string "wait_at_endpoint", limit: 50 + t.string "redirect_to_url", limit: 50 + t.string "sequence_result_id", limit: 50, null: false + t.boolean "expect_redirect_failure", default: false + t.index ["sequence_result_id"], name: "index_inferno_models_test_results_sequence_result" + end + + create_table "inferno_models_test_warnings", id: :string, limit: 50, force: :cascade do |t| + t.string "message", limit: 500 + t.string "test_result_id", limit: 50, null: false + t.index ["test_result_id"], name: "index_inferno_models_test_warnings_test_result" + end + + create_table "inferno_models_testing_instances", id: :string, limit: 50, force: :cascade do |t| + t.string "url", limit: 50 + t.string "name", limit: 50 + t.boolean "confidential_client" + t.string "client_id", limit: 50 + t.string "client_secret", limit: 50 + t.string "base_url", limit: 50 + t.string "client_name", limit: 50, default: "Inferno" + t.string "scopes", limit: 50 + t.string "received_scopes", limit: 50 + t.string "encounter_id", limit: 50 + t.string "launch_type", limit: 50 + t.string "state", limit: 50 + t.string "selected_module", limit: 50 + t.boolean "conformance_checked" + t.string "oauth_authorize_endpoint", limit: 50 + t.string "oauth_token_endpoint", limit: 50 + t.string "oauth_register_endpoint", limit: 50 + t.string "fhir_format", limit: 50 + t.boolean "dynamically_registered" + t.string "client_endpoint_key", limit: 50 + t.string "token", limit: 50 + t.datetime "token_retrieved_at" + t.integer "token_expires_in" + t.string "id_token", limit: 50 + t.string "refresh_token", limit: 50 + t.datetime "created_at" + t.string "oauth_introspection_endpoint", limit: 50 + t.string "resource_id", limit: 50 + t.string "resource_secret", limit: 50 + t.string "introspect_token", limit: 50 + t.string "introspect_refresh_token", limit: 50 + t.string "standalone_launch_script", limit: 50 + t.string "ehr_launch_script", limit: 50 + t.string "manual_registration_script", limit: 50 + t.string "initiate_login_uri", limit: 50 + t.string "redirect_uris", limit: 50 + t.string "dynamic_registration_token", limit: 50 + t.string "must_support_confirmed", limit: 50, default: "" + t.string "patient_ids", limit: 50 + t.string "group_id", limit: 50 + t.string "bulk_url", limit: 50 + t.string "bulk_token_endpoint", limit: 50 + t.string "bulk_client_id", limit: 50 + t.string "bulk_system_export_endpoint", limit: 50 + t.string "bulk_patient_export_endpoint", limit: 50 + t.string "bulk_group_export_endpoint", limit: 50 + t.string "bulk_fastest_resource", limit: 50 + t.string "bulk_requires_auth", limit: 50 + t.string "bulk_since_param", limit: 50 + t.string "bulk_jwks_url_auth", limit: 50 + t.string "bulk_jwks_auth", limit: 50 + t.string "bulk_public_key", limit: 50 + t.string "bulk_private_key", limit: 50 + t.string "bulk_access_token", limit: 50 + t.string "bulk_lines_to_validate", limit: 50 + t.string "bulk_status_output", limit: 50 + t.boolean "data_absent_code_found" + t.boolean "data_absent_extension_found" + t.string "device_system", limit: 50 + t.string "device_code", limit: 50 + t.string "device_codes", limit: 50 + t.string "onc_sl_url", limit: 50 + t.boolean "onc_sl_confidential_client" + t.string "onc_sl_client_id", limit: 50 + t.string "onc_sl_client_secret", limit: 50 + t.string "onc_sl_scopes", limit: 50 + t.string "onc_patient_ids", limit: 50 + t.string "bulk_encryption_method", limit: 50, default: "ES384" + t.string "bulk_data_jwks", limit: 50 + t.string "bulk_patient_ids_in_group", limit: 50 + t.string "bulk_stop_after_must_support", limit: 50, default: "true" + t.string "onc_sl_restricted_scopes", limit: 50 + t.string "bulk_scope", limit: 50 + t.boolean "disable_bulk_data_require_access_token_test", default: false + end + +end diff --git a/docker-compose.yml b/docker-compose.yml index 66b9605fb..94d768004 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -19,4 +19,4 @@ services: - "4567:80" command: [nginx, '-g', 'daemon off;'] depends_on: - - ruby_server \ No newline at end of file + - ruby_server diff --git a/generator/uscore/static/data_absent_reason_checker.rb b/generator/uscore/static/data_absent_reason_checker.rb index d920d7b91..f9af65ba2 100644 --- a/generator/uscore/static/data_absent_reason_checker.rb +++ b/generator/uscore/static/data_absent_reason_checker.rb @@ -20,7 +20,7 @@ def check_for_data_absent_extension(reply) return unless contains_data_absent_extension?(reply.body) @instance.data_absent_extension_found = true - @instance.save + @instance.save! end def check_for_data_absent_code(reply) @@ -29,7 +29,7 @@ def check_for_data_absent_code(reply) return unless contains_data_absent_code?(reply.body) @instance.data_absent_code_found = true - @instance.save + @instance.save! end def contains_data_absent_extension?(body) diff --git a/generator/uscore/static_test/data_absent_reason_checker_test.rb b/generator/uscore/static_test/data_absent_reason_checker_test.rb index eed9bf142..35823e6af 100644 --- a/generator/uscore/static_test/data_absent_reason_checker_test.rb +++ b/generator/uscore/static_test/data_absent_reason_checker_test.rb @@ -12,7 +12,7 @@ class DataAbsentReasonCheckerTest attr_reader :instance def initialize - @instance = Inferno::Models::TestingInstance.new + @instance = Inferno::TestingInstance.new end end diff --git a/generator/uscore/templates/module.yml.erb b/generator/uscore/templates/module.yml.erb index 0090b7415..ae41bd6a6 100644 --- a/generator/uscore/templates/module.yml.erb +++ b/generator/uscore/templates/module.yml.erb @@ -24,8 +24,6 @@ test_sets: - <%=sequence[:class_name]%><% end %> - USCoreR4DataAbsentReasonSequence sequence_requirements: - patient_ids: - label: 'Patient IDs' device_codes: label: 'Implantable Device Type Codes' description: 'Enter the code for an Implantable Device type, or multiple codes separated by commas. If blank, Inferno will validate all Device resources against the Implantable Device profile' diff --git a/generator/uscore/templates/unit_tests/authorization_unit_test.rb.erb b/generator/uscore/templates/unit_tests/authorization_unit_test.rb.erb index 74b5c969c..fe34d370d 100644 --- a/generator/uscore/templates/unit_tests/authorization_unit_test.rb.erb +++ b/generator/uscore/templates/unit_tests/authorization_unit_test.rb.erb @@ -14,9 +14,10 @@ describe 'unauthorized search test' do end it 'skips if the <%= resource_type %> search interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } diff --git a/generator/uscore/templates/unit_tests/resource_read_unit_test.rb.erb b/generator/uscore/templates/unit_tests/resource_read_unit_test.rb.erb index d760aeb0a..18d386728 100644 --- a/generator/uscore/templates/unit_tests/resource_read_unit_test.rb.erb +++ b/generator/uscore/templates/unit_tests/resource_read_unit_test.rb.erb @@ -9,9 +9,10 @@ describe '<%= resource_type %> read test' do end it 'skips if the <%= resource_type %> read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -28,7 +29,7 @@ describe '<%= resource_type %> read test' do end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: '<%= resource_type %>', resource_id: @<%= resource_var_name %>_id, testing_instance: @instance @@ -44,7 +45,7 @@ describe '<%= resource_type %> read test' do end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: '<%= resource_type %>', resource_id: @<%= resource_var_name %>_id, testing_instance: @instance @@ -60,7 +61,7 @@ describe '<%= resource_type %> read test' do end it 'fails if the resource returned is not a <%= resource_type %>' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: '<%= resource_type %>', resource_id: @<%= resource_var_name %>_id, testing_instance: @instance @@ -76,7 +77,7 @@ describe '<%= resource_type %> read test' do end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: '<%= resource_type %>', resource_id: @<%= resource_var_name %>_id, testing_instance: @instance @@ -97,7 +98,7 @@ describe '<%= resource_type %> read test' do <%= resource_var_name %> = FHIR::<%= resource_type %>.new( id: @<%= resource_var_name %>_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: '<%= resource_type %>', resource_id: @<%= resource_var_name %>_id, testing_instance: @instance diff --git a/generator/uscore/templates/unit_tests/resource_validation_unit_test.rb.erb b/generator/uscore/templates/unit_tests/resource_validation_unit_test.rb.erb index 79e27e4c8..1f1d94522 100644 --- a/generator/uscore/templates/unit_tests/resource_validation_unit_test.rb.erb +++ b/generator/uscore/templates/unit_tests/resource_validation_unit_test.rb.erb @@ -5,7 +5,7 @@ describe 'resource validation test' do @sequence = @sequence_class.new(@instance, @client) @sequence.instance_variable_set(:'@resources_found', true) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: '<%= resource_type %>', resource_id: @<%= resource_var_name %>.id, testing_instance: @instance<% if profile_uri.present? %>, diff --git a/generator/uscore/templates/unit_tests/search_unit_test.rb.erb b/generator/uscore/templates/unit_tests/search_unit_test.rb.erb index b9b043961..b320b6259 100644 --- a/generator/uscore/templates/unit_tests/search_unit_test.rb.erb +++ b/generator/uscore/templates/unit_tests/search_unit_test.rb.erb @@ -21,7 +21,7 @@ describe '<%= resource_type %> search by <%= search_params.keys.join('+') %> tes end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) [<%=supported_search_params_string%>] end diff --git a/generator/uscore/templates/unit_tests/unit_test.rb.erb b/generator/uscore/templates/unit_tests/unit_test.rb.erb index 874d2bf9e..27d8e6d78 100644 --- a/generator/uscore/templates/unit_tests/unit_test.rb.erb +++ b/generator/uscore/templates/unit_tests/unit_test.rb.erb @@ -10,7 +10,7 @@ describe Inferno::Sequence::<%= class_name %> do @sequence_class = Inferno::Sequence::<%= class_name %> @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: '<%= module_name %>') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: '<%= module_name %>') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids diff --git a/lib/app.rb b/lib/app.rb index 0d2c0db9f..65b1c7700 100644 --- a/lib/app.rb +++ b/lib/app.rb @@ -5,24 +5,23 @@ require 'sinatra/config_file' require 'sinatra/namespace' require 'sinatra/cookies' +require 'active_record' require 'fhir_client' require 'rest-client' require 'time_difference' require 'pry' require 'pry-byebug' -require 'dm-core' -require 'dm-migrations' require 'jwt' require 'kramdown' require 'rack' require_relative 'app/utils/logging' +require_relative 'app/models' require_relative 'app/endpoint' require_relative 'app/utils/secure_random_base62' require_relative 'app/sequence_base' require_relative 'app/models/module' require_relative 'version' -require_relative 'app/models' require_relative 'app/utils/terminology' require_relative 'app/utils/startup_tasks' require_relative 'app/utils/config_manager' diff --git a/lib/app/endpoint.rb b/lib/app/endpoint.rb index 2514d6cca..1ad0e284c 100644 --- a/lib/app/endpoint.rb +++ b/lib/app/endpoint.rb @@ -39,9 +39,6 @@ class Endpoint < Sinatra::Base l end - # FIXME: Really don't want a direct dependency to DataMapper here - DataMapper.logger = Inferno.logger if Inferno::ENVIRONMENT == :development - FHIR.logger = FHIR::STU3.logger = FHIR::DSTU2.logger = Inferno.logger Inferno.logger.info "Environment: #{Inferno::ENVIRONMENT}" diff --git a/lib/app/endpoint/home.rb b/lib/app/endpoint/home.rb index 209a76c25..290fb6620 100644 --- a/lib/app/endpoint/home.rb +++ b/lib/app/endpoint/home.rb @@ -32,10 +32,10 @@ class Home < Endpoint halt 404, "Unknown module: #{params[:module]}" end - @instance = Inferno::Models::TestingInstance.new(url: url, - name: params['name'], - base_url: request.base_url, - selected_module: inferno_module.name) + @instance = Inferno::TestingInstance.new(url: url, + name: params['name'], + base_url: request.base_url, + selected_module: inferno_module.name) @instance.add_sequence_requirements(@instance.module.sequence_requirements) @instance.client_endpoint_key = params['client_endpoint_key'] unless params['client_endpoint_key'].nil? @@ -65,7 +65,7 @@ class Home < Endpoint # Returns a specific testing instance test page get '/:id/?' do - instance = Inferno::Models::TestingInstance.get(params[:id]) + instance = Inferno::TestingInstance.find_by(id: params[:id]) halt 404 if instance.nil? redirect "#{base_path}/#{instance.id}/test_sets/#{instance.module.default_test_set}/#{'?error=' + params[:error] unless params[:error].nil?}" @@ -91,7 +91,7 @@ class Home < Endpoint # Returns test details for a specific test including any applicable requests and responses. # This route is typically used for retrieving test metadata and results after the test has been run. get '/:id/test_result/:test_result_id/?' do - @test_result = Inferno::Models::TestResult.get(params[:test_result_id]) + @test_result = Inferno::TestResult.find_by(id: params[:test_result_id]) halt 404 if @test_result.sequence_result.testing_instance.id != params[:id] erb :test_result_details, layout: false end @@ -99,7 +99,7 @@ class Home < Endpoint # Returns details for a specific request response # This route is typically used for retrieving test metadata and results after the test has been run. get '/:id/test_request/:test_request_id/?' do - request_response = Inferno::Models::RequestResponse.get(params[:test_request_id]) + request_response = Inferno::RequestResponse.find_by(id: params[:test_request_id]) halt 404 if request_response.instance_id != params[:id] erb :request_details, { layout: false }, rr: request_response diff --git a/lib/app/endpoint/oauth2_endpoints.rb b/lib/app/endpoint/oauth2_endpoints.rb index 686d4f99c..2325e8a25 100644 --- a/lib/app/endpoint/oauth2_endpoints.rb +++ b/lib/app/endpoint/oauth2_endpoints.rb @@ -18,10 +18,10 @@ def instance_id_from_cookie end get '/oauth2/:key/redirect/?' do - @instance = Inferno::Models::TestingInstance.first(state: params[:state]) + @instance = Inferno::TestingInstance.find_by(state: params[:state]) return resume_execution if @instance.present? - @instance = Inferno::Models::TestingInstance.get(instance_id_from_cookie) + @instance = Inferno::TestingInstance.find_by(id: instance_id_from_cookie) halt 500, no_instance_for_state_error_message if @instance.nil? if @instance&.waiting_on_sequence&.wait? @@ -33,10 +33,10 @@ def instance_id_from_cookie end get '/oauth2/:key/launch/?' do - @instance = Inferno::Models::SequenceResult.recent_results_for_iss(params[:iss])&.testing_instance + @instance = Inferno::SequenceResult.recent_results_for_iss(params[:iss])&.testing_instance return resume_execution if @instance.present? - @instance = Inferno::Models::TestingInstance.get(instance_id_from_cookie) + @instance = Inferno::TestingInstance.find_by(id: instance_id_from_cookie) halt 500, no_instance_for_iss_error_message if @instance.nil? if @instance.waiting_on_sequence&.wait? @@ -180,7 +180,7 @@ def resume_execution out << js_redirect("#{base_path}/#{@instance.id}/test_sets/#{test_set.id}/##{query_target}") if finished end else - latest_sequence_result = Inferno::Models::SequenceResult.first(testing_instance: @instance) + latest_sequence_result = Inferno::SequenceResult.find_by(testing_instance: @instance) test_set_id = latest_sequence_result&.test_set_id || @instance.module.default_test_set redirect "#{BASE_PATH}/#{@instance.id}/test_sets/#{test_set_id}/?error=no_#{params[:endpoint]}" end diff --git a/lib/app/endpoint/test_set_endpoints.rb b/lib/app/endpoint/test_set_endpoints.rb index b7f6db22f..90bece825 100644 --- a/lib/app/endpoint/test_set_endpoints.rb +++ b/lib/app/endpoint/test_set_endpoints.rb @@ -7,7 +7,7 @@ def self.included(klass) klass.class_eval do # Returns a specific testing instance test page get '/:id/test_sets/:test_set_id/?' do - instance = Inferno::Models::TestingInstance.get(params[:id]) + instance = Inferno::TestingInstance.find_by(id: params[:id]) halt 404 if instance.nil? test_set = instance.module.test_sets[params[:test_set_id].to_sym] halt 404 if test_set.nil? @@ -24,16 +24,16 @@ def self.included(klass) end get '/:id/test_sets/:test_set_id/report?' do - instance = Inferno::Models::TestingInstance.get(params[:id]) + instance = Inferno::TestingInstance.find_by(id: params[:id]) halt 404 if instance.nil? test_set = instance.module.test_sets[params[:test_set_id].to_sym] halt 404 if test_set.nil? sequence_results = instance.latest_results_by_case - request_response_count = Inferno::Models::RequestResponse.all(instance_id: instance.id).count + request_response_count = Inferno::RequestResponse.where(instance_id: instance.id).count latest_sequence_time = if instance.sequence_results.count.positive? - Inferno::Models::SequenceResult.first(testing_instance: instance).created_at.strftime('%m/%d/%Y %H:%M') + Inferno::SequenceResult.find_by(testing_instance: instance).created_at.strftime('%m/%d/%Y %H:%M') else 'No tests ran' end @@ -63,7 +63,7 @@ def self.included(klass) # Cancels the currently running test get '/:id/test_sets/:test_set_id/sequence_result/:sequence_result_id/cancel' do - sequence_result = Inferno::Models::SequenceResult.get(params[:sequence_result_id]) + sequence_result = Inferno::SequenceResult.find(params[:sequence_result_id]) instance = sequence_result.testing_instance halt 404 if instance.id != params[:id] test_set = instance.module.test_sets[params[:test_set_id].to_sym] @@ -87,13 +87,13 @@ def self.included(klass) sequence.tests(instance.module).each_with_index do |test, index| next if index < current_test_count - sequence_result.test_results << Inferno::Models::TestResult.new(test_id: test.id, - name: test.name, - result: 'cancel', - url: test.link, - description: test.description, - test_index: test.index, - message: cancel_message) + sequence_result.test_results << Inferno::TestResult.new(test_id: test.id, + name: test.name, + result: 'cancel', + url: test.link, + description: test.description, + test_index: test.index, + message: cancel_message) end sequence_result.save! @@ -112,7 +112,7 @@ def self.included(klass) # Run a sequence and get the results post '/:id/test_sets/:test_set_id/sequence_result?' do - instance = Inferno::Models::TestingInstance.get(params[:id]) + instance = Inferno::TestingInstance.find_by(id: params[:id]) halt 404 if instance.nil? test_set = instance.module.test_sets[params[:test_set_id].to_sym] halt 404 if test_set.nil? diff --git a/lib/app/ext/fhir_client.rb b/lib/app/ext/fhir_client.rb index d2556f143..b829e657f 100644 --- a/lib/app/ext/fhir_client.rb +++ b/lib/app/ext/fhir_client.rb @@ -70,8 +70,8 @@ def perform_refresh } update_params[:refresh_token] = token_response_body['refresh_token'] if token_response_body['refresh_token'].present? - testing_instance.save - testing_instance.update(update_params) + testing_instance.save! + testing_instance.update!(update_params) set_bearer_token(token_response_body['access_token']) rescue StandardError => e diff --git a/lib/app/models.rb b/lib/app/models.rb index cd0f96852..ddf1e8ef1 100644 --- a/lib/app/models.rb +++ b/lib/app/models.rb @@ -1,21 +1,11 @@ # frozen_string_literal: true -DataMapper::Model.raise_on_save_failure = true - -DataMapper.setup(:default, "sqlite3:data/#{Inferno::ENVIRONMENT}_data.db") - +require_relative 'models/application_record' require_relative 'models/request_response' require_relative 'models/resource_reference' require_relative 'models/sequence_result' +require_relative 'models/server_capabilities' require_relative 'models/test_result' require_relative 'models/test_warning' require_relative 'models/testing_instance' require_relative 'models/sequence_requirement' - -DataMapper.finalize - -if Inferno::PURGE_ON_RELOAD || Inferno::ENVIRONMENT == :test - DataMapper.auto_migrate! -else - DataMapper.auto_upgrade! -end diff --git a/lib/app/models/application_record.rb b/lib/app/models/application_record.rb new file mode 100644 index 000000000..f6e9afa7a --- /dev/null +++ b/lib/app/models/application_record.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Inferno + class ApplicationRecord < ::ActiveRecord::Base + self.abstract_class = true + + def self.table_name_prefix + 'inferno_models_' + end + end +end diff --git a/lib/app/models/information_message.rb b/lib/app/models/information_message.rb index c03921cfe..f646c4f3f 100644 --- a/lib/app/models/information_message.rb +++ b/lib/app/models/information_message.rb @@ -1,13 +1,9 @@ # frozen_string_literal: true module Inferno - module Models - class InformationMessage - include DataMapper::Resource - property :id, String, key: true, default: proc { SecureRandom.uuid } - property :message, String, length: 500 + class InformationMessage < ApplicationRecord + attribute :id, :string, default: -> { SecureRandom.uuid } - belongs_to :test_result - end + belongs_to :test_result end end diff --git a/lib/app/models/module/test_group.rb b/lib/app/models/module/test_group.rb index fbc25976f..ed82773c1 100644 --- a/lib/app/models/module/test_group.rb +++ b/lib/app/models/module/test_group.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true require_relative 'test_case' +require_relative '../../sequence_base' module Inferno class Module diff --git a/lib/app/models/request_response.rb b/lib/app/models/request_response.rb index 3979206a1..4d8f2e87c 100644 --- a/lib/app/models/request_response.rb +++ b/lib/app/models/request_response.rb @@ -1,51 +1,40 @@ # frozen_string_literal: true module Inferno - module Models - class RequestResponse - include DataMapper::Resource - property :id, String, key: true, default: proc { SecureRandom.uuid } - property :request_method, String - property :request_url, String, length: 500 - property :request_headers, String, length: 1000 - property :request_payload, Text - property :response_code, Integer - property :response_headers, String, length: 1000 - property :response_body, Text - property :direction, String - property :instance_id, String - property :request_index, Serial, unique_index: true + class RequestResponse < ApplicationRecord + attribute :id, :string, default: -> { SecureRandom.uuid } + attribute :timestamp, :datetime, default: -> { DateTime.now } - property :timestamp, DateTime, default: proc { DateTime.now } + has_and_belongs_to_many :test_results, join_table: :inferno_models_request_response_test_results + belongs_to :instance, class_name: 'TestingInstance' - has n, :test_results, through: Resource + def self.from_request(req, instance_id, direction = nil) + request = req.request + response = req.response - def self.from_request(req, instance_id, direction = nil) - request = req.request - response = req.response + response_body = response[:body] + response_body = '' if response_body.nil? + escaped_body = response_body.dup + unescape_unicode(escaped_body) - escaped_body = response[:body].dup # In case body is frozen from string literal - unescape_unicode(escaped_body) - - new( - direction: direction || req&.direction, - request_method: request[:method], - request_url: request[:url], - request_headers: request[:headers].to_json, - request_payload: request[:payload], - response_code: response[:code], - response_headers: response[:headers].to_json, - response_body: escaped_body, - instance_id: instance_id, - timestamp: response[:timestamp] - ) - end + new( + direction: direction || req&.direction, + request_method: request[:method], + request_url: request[:url], + request_headers: request[:headers].to_json, + request_payload: request[:payload], + response_code: response[:code], + response_headers: response[:headers].to_json, + response_body: escaped_body, + instance_id: instance_id, + timestamp: response[:timestamp] + ) + end - # This is needed to escape HTML when the html tags are unicode escape sequences - # https://stackoverflow.com/questions/7015778/is-this-the-best-way-to-unescape-unicode-escape-sequences-in-ruby - def self.unescape_unicode(body) - body.gsub!(/\\u(\h{4})/) { |_m| [Regexp.last_match(1)].pack('H*').unpack('n*').pack('U*') } - end + # This is needed to escape HTML when the html tags are unicode escape sequences + # https://stackoverflow.com/questions/7015778/is-this-the-best-way-to-unescape-unicode-escape-sequences-in-ruby + def self.unescape_unicode(body) + body.gsub!(/\\u(\h{4})/) { |_m| [Regexp.last_match(1)].pack('H*').unpack('n*').pack('U*') } end end end diff --git a/lib/app/models/resource_reference.rb b/lib/app/models/resource_reference.rb index ee695b36d..eee852862 100644 --- a/lib/app/models/resource_reference.rb +++ b/lib/app/models/resource_reference.rb @@ -1,18 +1,10 @@ # frozen_string_literal: true -require 'dm-timestamps' - module Inferno - module Models - class ResourceReference - include DataMapper::Resource - property :id, String, key: true, default: proc { SecureRandom.uuid } - property :resource_type, String - property :resource_id, String - property :profile, String - property :created_at, DateTime + class ResourceReference < ApplicationRecord + attribute :id, :string, default: -> { SecureRandom.uuid } + attribute :resource_id, :string - belongs_to :testing_instance - end + belongs_to :testing_instance end end diff --git a/lib/app/models/sequence_requirement.rb b/lib/app/models/sequence_requirement.rb index d44bf30bb..e5aa147f8 100644 --- a/lib/app/models/sequence_requirement.rb +++ b/lib/app/models/sequence_requirement.rb @@ -1,17 +1,9 @@ # frozen_string_literal: true module Inferno - module Models - class SequenceRequirement - include DataMapper::Resource - property :id, String, key: true, default: proc { SecureRandom.uuid } - property :name, String, unique_index: :name_by_instance - property :testing_instance_id, String, unique_index: :name_by_instance - property :value, String - property :label, String - property :description, String + class SequenceRequirement < ApplicationRecord + attribute :id, :string, default: -> { SecureRandom.uuid } - belongs_to :testing_instance - end + belongs_to :testing_instance end end diff --git a/lib/app/models/sequence_result.rb b/lib/app/models/sequence_result.rb index 0004fcd51..11acbec70 100644 --- a/lib/app/models/sequence_result.rb +++ b/lib/app/models/sequence_result.rb @@ -4,130 +4,102 @@ require_relative '../utils/logging' module Inferno - module Models - class SequenceResult - include ResultStatuses - include DataMapper::Resource - property :id, String, key: true, default: proc { SecureRandom.uuid } - property :name, String - property :result, String - property :test_case_id, String - property :test_set_id, String - - property :redirect_to_url, String, length: 500 - property :wait_at_endpoint, String - property :expect_redirect_failure, Boolean, default: false - - property :required_passed, Integer, default: 0 - property :required_total, Integer, default: 0 - property :error_count, Integer, default: 0 - property :todo_count, Integer, default: 0 - property :skip_count, Integer, default: 0 - property :optional_passed, Integer, default: 0 - property :optional_total, Integer, default: 0 - property :required_omitted, Integer, default: 0 - property :optional_omitted, Integer, default: 0 - - property :app_version, String - - property :required, Boolean, default: true - property :input_params, String - property :output_results, String - - property :next_sequences, String - property :next_test_cases, String - - property :created_at, DateTime, default: proc { DateTime.now } - - has n, :test_results, order: [:test_index.asc] - belongs_to :testing_instance - - def self.recent_results_for_iss(iss) - all( - :created_at.gte => 5.minutes.ago, - :result => 'wait', - :order => [:created_at.desc] - ).find { |result| normalize_url(result.testing_instance.url) == normalize_url(iss) } - end + class SequenceResult < ApplicationRecord + include ResultStatuses + + attribute :id, :string, default: -> { SecureRandom.uuid } + attribute :required, :boolean, default: true + attribute :created_at, :datetime, default: -> { DateTime.now } + attribute :test_case_id, :string + attribute :test_set_id, :string + + has_many :test_results, -> { order 'test_index ASC' } + belongs_to :testing_instance + + def self.recent_results_for_iss(iss) + where(result: 'wait') + .where('created_at >= ?', 5.minutes.ago) + .order(created_at: :desc) + .find { |result| normalize_url(result.testing_instance.url) == normalize_url(iss) } + end - def failures - test_results.select(&:fail?) - end + def failures + test_results.select(&:fail?) + end - def reset! - [ - 'required_passed', - 'required_total', - 'error_count', - 'todo_count', - 'skip_count', - 'optional_passed', - 'optional_total', - 'required_omitted', - 'optional_omitted' - ].each { |field| send("#{field}=", 0) } - end + def reset! + [ + 'required_passed', + 'required_total', + 'error_count', + 'todo_count', + 'skip_count', + 'optional_passed', + 'optional_total', + 'required_omitted', + 'optional_omitted' + ].each { |field| send("#{field}=", 0) } + end - def result_count - test_results.length - end + def result_count + test_results.length + end - def total_omitted - required_omitted + optional_omitted - end + def total_omitted + required_omitted + optional_omitted + end - def total_required_tests_except_omitted - required_total - required_omitted - end + def total_required_tests_except_omitted + required_total - required_omitted + end - def update_result_counts - test_results.each do |result| + def update_result_counts + test_results.each do |result| + if result.required + self.required_total += 1 + else + self.optional_total += 1 + end + case result.result + when ResultStatuses::PASS + if result.required + self.required_passed += 1 + else + self.optional_passed += 1 + end + self.result = result.result unless error? || fail? || skip? + when ResultStatuses::OMIT if result.required - self.required_total += 1 + self.required_omitted += 1 else - self.optional_total += 1 + self.optional_omitted += 1 end - case result.result - when ResultStatuses::PASS - if result.required - self.required_passed += 1 - else - self.optional_passed += 1 - end - self.result = result.result unless error? || fail? || skip? - when ResultStatuses::OMIT - if result.required - self.required_omitted += 1 - else - self.optional_omitted += 1 - end - when ResultStatuses::TODO - self.todo_count += 1 - when ResultStatuses::FAIL - if result.required - self.result = result.result unless error? - end - when ResultStatuses::ERROR - if result.required - self.error_count += 1 - self.result = result.result - end - when ResultStatuses::SKIP - if result.required - self.result = result.result if pass? || self.result.nil? - self.skip_count += 1 - end - when ResultStatuses::WAIT + when ResultStatuses::TODO + self.todo_count += 1 + when ResultStatuses::FAIL + if result.required + self.result = result.result unless error? + end + when ResultStatuses::ERROR + if result.required + self.error_count += 1 self.result = result.result end + when ResultStatuses::SKIP + if result.required + self.result = result.result if pass? || self.result.nil? + self.skip_count += 1 + end + when ResultStatuses::WAIT + self.result = result.result end - self.result = ResultStatuses::PASS if self.result.nil? end + self.result = ResultStatuses::PASS if self.result.nil? + end - def self.normalize_url(url) - url&.downcase&.split('://')&.last&.chomp('/') - end - private_class_method :normalize_url + def self.normalize_url(url) + url&.downcase&.split('://')&.last&.chomp('/') end + private_class_method :normalize_url end end diff --git a/lib/app/models/server_capabilities.rb b/lib/app/models/server_capabilities.rb index 330d5cb02..1ee490a4b 100644 --- a/lib/app/models/server_capabilities.rb +++ b/lib/app/models/server_capabilities.rb @@ -1,123 +1,118 @@ # frozen_string_literal: true -require 'dm-types' - module Inferno - module Models - class ServerCapabilities - include DataMapper::Resource - property :id, String, key: true, default: proc { SecureRandom.uuid } - property :capabilities, Json, lazy: false # lazy loading Json properties is broken + class ServerCapabilities < ApplicationRecord + attribute :id, :string, default: -> { SecureRandom.uuid } + serialize :capabilities, JSON - belongs_to :testing_instance + belongs_to :testing_instance - SMART_EXTENSION_URL = 'http://fhir-registry.smarthealthit.org/StructureDefinition/capabilities' + SMART_EXTENSION_URL = 'http://fhir-registry.smarthealthit.org/StructureDefinition/capabilities' - def supported_resources - statement.rest.each_with_object(Set.new) do |rest, resources| - rest.resource.each { |resource| resources << resource.type } - end + def supported_resources + statement.rest.each_with_object(Set.new) do |rest, resources| + rest.resource.each { |resource| resources << resource.type } end + end - def supported_interactions - statement.rest.flat_map do |rest| - rest.resource.map do |resource| - { - resource_type: resource.type, - interactions: resource_interactions(resource).sort, - operations: resource_operations(resource).sort - } - end + def supported_interactions + statement.rest.flat_map do |rest| + rest.resource.map do |resource| + { + resource_type: resource.type, + interactions: resource_interactions(resource).sort, + operations: resource_operations(resource).sort + } end end + end - def supported_profiles - profile_urls = statement.rest.flat_map(&:resource) - &.flat_map { |resource| resource.supportedProfile + [resource.profile] } - &.compact || [] - profile_urls.map { |profile_url| profile_url.split('|').first } - end + def supported_profiles + profile_urls = statement.rest.flat_map(&:resource) + &.flat_map { |resource| resource.supportedProfile + [resource.profile] } + &.compact || [] + profile_urls.map { |profile_url| profile_url.split('|').first } + end - def operation_supported?(operation_name) - statement.rest.any? { |rest| rest.operation.any? { |operation| operation.name == operation_name } } - end + def operation_supported?(operation_name) + statement.rest.any? { |rest| rest.operation.any? { |operation| operation.name == operation_name } } + end - def smart_support? - smart_extensions.present? - end + def smart_support? + smart_extensions.present? + end - def smart_capabilities - smart_extensions.map(&:valueCode) - end + def smart_capabilities + smart_extensions.map(&:valueCode) + end - def search_documented?(resource_type) - statement&.rest&.any? do |rest| - rest&.resource - &.select { |resource| resource&.type == resource_type } - &.flat_map(&:interaction) - &.select { |interaction| interaction&.code == 'search-type' } - &.any? { |interaction| interaction&.documentation&.present? } - end + def search_documented?(resource_type) + statement&.rest&.any? do |rest| + rest&.resource + &.select { |resource| resource&.type == resource_type } + &.flat_map(&:interaction) + &.select { |interaction| interaction&.code == 'search-type' } + &.any? { |interaction| interaction&.documentation&.present? } end + end - def supported_search_params(resource_type) - rest_resource(resource_type)&.searchParam&.map(&:name) || [] - end + def supported_search_params(resource_type) + rest_resource(resource_type)&.searchParam&.map(&:name) || [] + end - def supported_includes(resource_type) - rest_resource(resource_type)&.searchInclude || [] - end + def supported_includes(resource_type) + rest_resource(resource_type)&.searchInclude || [] + end - def include_supported?(resource_type, include) - supported_includes(resource_type).include?('*') || - supported_includes(resource_type).include?(include) - end + def include_supported?(resource_type, include) + supported_includes(resource_type).include?('*') || + supported_includes(resource_type).include?(include) + end - def supported_revincludes(resource_type) - rest_resource(resource_type)&.searchRevInclude || [] - end + def supported_revincludes(resource_type) + rest_resource(resource_type)&.searchRevInclude || [] + end - def revinclude_supported?(resource_type, revinclude) - supported_revincludes(resource_type).include?('*') || - supported_revincludes(resource_type).include?(revinclude) - end + def revinclude_supported?(resource_type, revinclude) + supported_revincludes(resource_type).include?('*') || + supported_revincludes(resource_type).include?(revinclude) + end - private + private - def statement - @statement ||= FHIR::CapabilityStatement.new(capabilities) - end + def statement + @statement ||= FHIR::CapabilityStatement.new(capabilities) + end - def rest_resource(resource_type) - statement&.rest&.first&.resource - &.find { |resource| resource&.type == resource_type } - end + def rest_resource(resource_type) + statement&.rest&.first&.resource + &.find { |resource| resource&.type == resource_type } + end - def security_extensions - @security_extensions ||= - statement&.rest&.flat_map { |rest| rest&.security&.extension }&.compact || [] - end + def security_extensions + @security_extensions ||= + statement&.rest&.flat_map { |rest| rest&.security&.extension }&.compact || [] + end - def smart_extensions - @smart_extensions ||= - security_extensions.select { |extension| extension.url == SMART_EXTENSION_URL } - end + def smart_extensions + @smart_extensions ||= + security_extensions.select { |extension| extension.url == SMART_EXTENSION_URL } + end - def interaction_display(interaction) - if interaction.code == 'search-type' - 'search' - else - interaction.code - end + def interaction_display(interaction) + if interaction.code == 'search-type' + 'search' + else + interaction.code end + end - def resource_interactions(resource) - resource.interaction.map { |interaction| interaction_display(interaction) } - end + def resource_interactions(resource) + resource.interaction.map { |interaction| interaction_display(interaction) } + end - def resource_operations(resource) - resource.operation.map(&:name) - end + def resource_operations(resource) + resource.operation.map(&:name) end end end diff --git a/lib/app/models/test_result.rb b/lib/app/models/test_result.rb index 48bd1db69..aa5f438cd 100644 --- a/lib/app/models/test_result.rb +++ b/lib/app/models/test_result.rb @@ -4,33 +4,18 @@ require_relative 'information_message' module Inferno - module Models - class TestResult - include ResultStatuses - include DataMapper::Resource - property :id, String, key: true, default: proc { SecureRandom.uuid } - property :test_id, String - property :ref, String - property :name, String - property :result, String - property :message, String, length: 500 - property :details, String - property :required, Boolean, default: true + class TestResult < ApplicationRecord + include ResultStatuses - property :url, String, length: 500 - property :description, Text - property :test_index, Integer - property :created_at, DateTime, default: proc { DateTime.now } - property :versions, String + attribute :id, :string, default: -> { SecureRandom.uuid } + attribute :required, :boolean, default: true + attribute :created_at, :datetime, default: -> { DateTime.now } + attribute :test_id, :string - property :wait_at_endpoint, String - property :redirect_to_url, String - property :expect_redirect_failure, Boolean, default: false - - has n, :request_responses, through: Resource, order: [:request_index.asc] - has n, :test_warnings - has n, :information_messages - belongs_to :sequence_result - end + has_and_belongs_to_many :request_responses, -> { order 'timestamp ASC' }, + join_table: :inferno_models_request_response_test_results + has_many :test_warnings + has_many :information_messages + belongs_to :sequence_result end end diff --git a/lib/app/models/test_warning.rb b/lib/app/models/test_warning.rb index 997971796..398886c55 100644 --- a/lib/app/models/test_warning.rb +++ b/lib/app/models/test_warning.rb @@ -1,13 +1,9 @@ # frozen_string_literal: true module Inferno - module Models - class TestWarning - include DataMapper::Resource - property :id, String, key: true, default: proc { SecureRandom.uuid } - property :message, String, length: 500 + class TestWarning < ApplicationRecord + attribute :id, :string, default: -> { SecureRandom.uuid } - belongs_to :test_result - end + belongs_to :test_result end end diff --git a/lib/app/models/testing_instance.rb b/lib/app/models/testing_instance.rb index 1eb043924..ad995af6a 100644 --- a/lib/app/models/testing_instance.rb +++ b/lib/app/models/testing_instance.rb @@ -1,318 +1,256 @@ # frozen_string_literal: true -require 'dm-core' -require 'dm-migrations' -require_relative 'server_capabilities' require_relative '../utils/result_statuses' module Inferno - module Models - class TestingInstance - include DataMapper::Resource - property :id, String, key: true, default: proc { Inferno::SecureRandomBase62.generate(64) } - property :url, String - property :name, String - property :confidential_client, Boolean - property :client_id, String - property :client_secret, String - property :base_url, String - - property :client_name, String, default: 'Inferno' - property :scopes, String - property :received_scopes, String - property :encounter_id, String - property :launch_type, String - property :state, String - property :selected_module, String - - property :conformance_checked, Boolean - property :oauth_authorize_endpoint, String - property :oauth_token_endpoint, String - property :oauth_register_endpoint, String - property :fhir_format, String - - property :dynamically_registered, Boolean - property :client_endpoint_key, String, default: proc { Inferno::SecureRandomBase62.generate(32) } - - property :token, String - property :token_retrieved_at, DateTime - property :token_expires_in, Integer - property :id_token, String - property :refresh_token, String - property :created_at, DateTime, default: proc { DateTime.now } - - property :oauth_introspection_endpoint, String - property :resource_id, String - property :resource_secret, String - property :introspect_token, String - property :introspect_refresh_token, String - - property :standalone_launch_script, String - property :ehr_launch_script, String - property :manual_registration_script, String - - property :initiate_login_uri, String - property :redirect_uris, String - - property :dynamic_registration_token, String - - property :must_support_confirmed, String, default: '' - - property :group_id, String - - property :data_absent_code_found, Boolean - property :data_absent_extension_found, Boolean - - # Bulk Data Parameters - property :bulk_url, String - property :bulk_token_endpoint, String - property :bulk_client_id, String - property :bulk_system_export_endpoint, String - property :bulk_patient_export_endpoint, String - property :bulk_group_export_endpoint, String - property :bulk_fastest_resource, String - property :bulk_requires_auth, String - property :bulk_since_param, String - property :bulk_jwks_url_auth, String - property :bulk_jwks_auth, String - property :bulk_public_key, String - property :bulk_private_key, String - property :bulk_access_token, String - property :bulk_lines_to_validate, String - property :bulk_status_output, String - - has n, :sequence_results - has n, :resource_references - has n, :sequence_requirements - has 1, :server_capabilities - - def latest_results - sequence_results.each_with_object({}) do |result, hash| - hash[result.name] = result if hash[result.name].nil? || hash[result.name].created_at < result.created_at - end + class TestingInstance < ApplicationRecord + attribute :id, :string, default: -> { SecureRandomBase62.generate(64) } + attribute :client_name, :string, default: 'Inferno' + attribute :client_endpoint_key, :string, default: -> { SecureRandomBase62.generate(32) } + attribute :created_at, :datetime, default: -> { DateTime.now } + attribute :must_support_confirmed, :string, default: '' + attribute :client_id, :string + attribute :resource_id, :string + attribute :group_id, :string + attribute :bulk_client_id, :string + attribute :onc_sl_client_id, :string + + has_many :sequence_results + has_many :resource_references + has_many :sequence_requirements + has_one :server_capabilities + + def latest_results + sequence_results.each_with_object({}) do |result, hash| + hash[result.name] = result if hash[result.name].nil? || hash[result.name].created_at < result.created_at end + end - def latest_results_by_case - sequence_results.each_with_object({}) do |result, hash| - if hash[result.test_case_id].nil? || hash[result.test_case_id].created_at < result.created_at - hash[result.test_case_id] = result - end + def latest_results_by_case + sequence_results.each_with_object({}) do |result, hash| + if hash[result.test_case_id].nil? || hash[result.test_case_id].created_at < result.created_at + hash[result.test_case_id] = result end end + end - def group_results(test_set_id) - return_data = [] - results = latest_results_by_case - - self.module.test_sets[test_set_id.to_sym].groups.each do |group| - result_details = group.test_cases.each_with_object(Hash.new(0)) do |test_case, hash| - id = test_case.id - next unless results.key?(id) - - hash[results[id].result.to_sym] += 1 - hash[:total] += 1 - end - - return_data << { - group: group, - result_details: result_details, - result: group_result(result_details), - missing_variables: group.lock_variables.select { |var| send(var.to_sym).nil? } - } - end + def group_results(test_set_id) + return_data = [] + results = latest_results_by_case - return_data - end + self.module.test_sets[test_set_id.to_sym].groups.each do |group| + result_details = group.test_cases.each_with_object(Hash.new(0)) do |test_case, hash| + id = test_case.id + next unless results.key?(id) - def waiting_on_sequence - sequence_results.first(result: 'wait') - end + hash[results[id].result.to_sym] += 1 + hash[:total] += 1 + end - def all_test_cases(test_set_id) - self.module.test_sets[test_set_id.to_sym].groups.flat_map(&:test_cases) + return_data << { + group: group, + result_details: result_details, + result: group_result(result_details), + missing_variables: group.lock_variables.select { |var| send(var.to_sym).nil? } + } end - def all_passed?(test_set_id) - latest_results = latest_results_by_case - - all_test_cases(test_set_id).all? do |test_case| - latest_results[test_case.id]&.pass? - end - end + return_data + end - def any_failed?(test_set_id) - latest_results = latest_results_by_case + def waiting_on_sequence + sequence_results.find_by(result: 'wait') + end - all_test_cases(test_set_id).any? do |test_case| - latest_results[test_case.id]&.fail? - end - end + def all_test_cases(test_set_id) + self.module.test_sets[test_set_id.to_sym].groups.flat_map(&:test_cases) + end - def final_result(test_set_id) - if all_passed?(test_set_id) - Inferno::ResultStatuses::PASS - else - any_failed?(test_set_id) ? Inferno::ResultStatuses::FAIL : Inferno::ResultStatuses::PENDING - end - end + def all_passed?(test_set_id) + latest_results = latest_results_by_case - def fhir_version - self.module.fhir_version + all_test_cases(test_set_id).all? do |test_case| + latest_results[test_case.id]&.pass? end + end - def fhir_version_match?(versions) - return true if fhir_version.blank? + def any_failed?(test_set_id) + latest_results = latest_results_by_case - versions.include? fhir_version.to_sym + all_test_cases(test_set_id).any? do |test_case| + latest_results[test_case.id]&.fail? end + end - def module - @module ||= Inferno::Module.get(selected_module) + def final_result(test_set_id) + if all_passed?(test_set_id) + ResultStatuses::PASS + else + any_failed?(test_set_id) ? ResultStatuses::FAIL : ResultStatuses::PENDING end + end - def patient_id - resource_references - .first(resource_type: 'Patient', order: [:created_at.asc]) - &.resource_id - end + def fhir_version + self.module.fhir_version + end - def patient_id=(patient_id) - return if patient_id.to_s == self.patient_id.to_s + def fhir_version_match?(versions) + return true if fhir_version.blank? - resource_references.destroy + versions.include? fhir_version.to_sym + end - unless patient_ids.nil? - self.patient_ids = patient_ids.split(',').append(patient_id).uniq.join(',') - end + def module + @module ||= Module.get(selected_module) + end - ResourceReference.create( - resource_type: 'Patient', - resource_id: patient_id, - testing_instance: self - ) + def patient_id + resource_references + .where(resource_type: 'Patient') + .order(created_at: :asc) + .first + &.resource_id + end - save! + def patient_id=(patient_id) + return if patient_id.to_s == self.patient_id.to_s - reload - end + resource_references.destroy_all - def testable_resources - self.module.resources_to_test & (server_capabilities&.supported_resources || Set.new) + unless patient_ids.nil? + self.patient_ids = patient_ids.split(',').append(patient_id).uniq.join(',') end - def supported_resource_interactions - return [] if server_capabilities.blank? + ResourceReference.create!( + resource_type: 'Patient', + resource_id: patient_id, + testing_instance: self + ) - resources = testable_resources - server_capabilities.supported_interactions.select do |interactions| - resources.include? interactions[:resource_type] - end - end + save! + reload + end - def conformance_supported?(resource, methods = [], operations = []) - resource_support = supported_resource_interactions.find do |interactions| - interactions[:resource_type] == resource.to_s - end + def testable_resources + self.module.resources_to_test & (server_capabilities&.supported_resources || Set.new) + end - return false if resource_support.blank? + def supported_resource_interactions + return [] if server_capabilities.blank? - methods_supported = methods.all? do |method| - method = method == :history ? 'history-instance' : method.to_s + resources = testable_resources + server_capabilities.supported_interactions.select do |interactions| + resources.include? interactions[:resource_type] + end + end - resource_support[:interactions].include? method - end + def conformance_supported?(resource, methods = [], operations = []) + resource_support = supported_resource_interactions.find do |interactions| + interactions[:resource_type] == resource.to_s + end - operations_supported = operations.all? do |operation| - resource_support[:operations].include? operation.to_s - end + return false if resource_support.blank? - methods_supported && operations_supported - end + methods_supported = methods.all? do |method| + method = method == :history ? 'history-instance' : method.to_s - def save_resource_reference_without_reloading(type, id, profile = nil) - ResourceReference - .all(resource_type: type, resource_id: id, testing_instance_id: self.id) - .destroy - - ResourceReference.create!( - resource_type: type, - resource_id: id, - profile: profile, - testing_instance: self - ) + resource_support[:interactions].include? method end - def save_resource_references(klass, resources, profile = nil) - resources - .select { |resource| resource.is_a? klass } - .each do |resource| - save_resource_reference_without_reloading(klass.name.demodulize, resource.id, profile) - end - - # Ensure the instance resource references are accurate - reload + operations_supported = operations.all? do |operation| + resource_support[:operations].include? operation.to_s end - def save_resource_ids_in_bundle(klass, reply, profile = nil) - return if reply&.resource&.entry&.blank? + methods_supported && operations_supported + end - resources = reply.resource.entry.map(&:resource) + def save_resource_reference_without_reloading(type, id, profile = nil) + ResourceReference + .where(resource_type: type, resource_id: id, testing_instance_id: self.id) + .delete_all + + ResourceReference.create!( + resource_type: type, + resource_id: id, + profile: profile, + testing_instance: self + ) + end - save_resource_references(klass, resources, profile) + def save_resource_references(klass, resources, profile = nil) + resources + .select { |resource| resource.is_a? klass } + .each do |resource| + save_resource_reference_without_reloading(klass.name.demodulize, resource.id, profile) end - def versioned_conformance_class - if fhir_version == 'dstu2' - FHIR::DSTU2::Conformance - elsif fhir_version == 'stu3' - FHIR::STU3::CapabilityStatement - else - FHIR::CapabilityStatement - end - end + # Ensure the instance resource references are accurate + reload + end - def token_expiration_time - token_retrieved_at + token_expires_in.seconds - end + def save_resource_ids_in_bundle(klass, reply, profile = nil) + return if reply&.resource&.entry&.blank? - def get_sequence_requirement(requirement) - return unless requirement&.dig(:name) + resources = reply.resource.entry.map(&:resource) - attributes = { testing_instance: self, - label: requirement[:name], - value: '' } - .merge(requirement) + save_resource_references(klass, resources, profile) + end - SequenceRequirement.first_or_create({ name: requirement[:name], testing_instance: self }, attributes) + def versioned_conformance_class + if fhir_version == 'dstu2' + FHIR::DSTU2::Conformance + elsif fhir_version == 'stu3' + FHIR::STU3::CapabilityStatement + else + FHIR::CapabilityStatement end + end + + def token_expiration_time + token_retrieved_at + token_expires_in.seconds + end - def add_sequence_requirements(requirements) - return unless requirements.present? + def get_sequence_requirement(requirement) + return unless requirement&.dig(:name) - requirements.each do |requirement, req_desciption| - get_sequence_requirement(name: requirement.to_s, label: req_desciption[:label], description: req_desciption[:description]) + attributes = { testing_instance: self, + label: requirement[:name], + value: '' } + .merge(requirement) + + SequenceRequirement + .find_or_create_by(name: requirement[:name], testing_instance: self) do |requirement_instance| + requirement_instance.assign_attributes(attributes) + requirement_instance.save! end - end + end - def get_requirement_value(requirement_name) - get_sequence_requirement(name: requirement_name.to_s, testing_instance: self).value - end + def add_sequence_requirements(requirements) + return unless requirements.present? - def set_requirement_value(requirement_name, value) - get_sequence_requirement(name: requirement_name.to_s, testing_instance: self).update(value: value) + requirements.each do |requirement, req_desciption| + get_sequence_requirement(name: requirement.to_s, label: req_desciption[:label], description: req_desciption[:description]) end + end - private + def get_requirement_value(requirement_name) + get_sequence_requirement(name: requirement_name.to_s, testing_instance: self).value + end - def group_result(results) - return :skip if results[:skip].positive? - return :fail if results[:fail].positive? - return :fail if results[:cancel].positive? - return :error if results[:error].positive? - return :not_run if results[:total].zero? + def set_requirement_value(requirement_name, value) + get_sequence_requirement(name: requirement_name.to_s, testing_instance: self).update!(value: value) + end - :pass - end + private + + def group_result(results) + return :skip if results[:skip].positive? + return :fail if results[:fail].positive? + return :fail if results[:cancel].positive? + return :error if results[:error].positive? + return :not_run if results[:total].zero? + + :pass end end end diff --git a/lib/app/sequence_base.rb b/lib/app/sequence_base.rb index ed93c6643..1bb54a101 100644 --- a/lib/app/sequence_base.rb +++ b/lib/app/sequence_base.rb @@ -60,7 +60,7 @@ class SequenceBase def initialize(instance, client, disable_tls_tests = false, sequence_result = nil) @client = client @instance = instance - @client.set_bearer_token(@instance.token) unless @client.nil? || @instance.nil? || @instance.token.nil? + @client.set_bearer_token(@instance.token) unless @client.nil? || @instance.nil? || @instance.token.blank? @client&.monitor_requests @sequence_result = sequence_result @disable_tls_tests = disable_tls_tests @@ -78,8 +78,10 @@ def resume(request = nil, headers = nil, params = nil, fail_message = nil, &bloc sequence_result.test_results.last.message = fail_message end + sequence_result.test_results.last.save! + unless request.nil? - sequence_result.test_results.last.request_responses << Models::RequestResponse.new( + sequence_result.test_results.last.request_responses << RequestResponse.new( direction: 'inbound', request_method: request.request_method.downcase, request_url: request.url, @@ -101,7 +103,7 @@ def resume(request = nil, headers = nil, params = nil, fail_message = nil, &bloc def start(test_set_id = nil, test_case_id = nil, &block) if sequence_result.nil? - self.sequence_result = Models::SequenceResult.new( + self.sequence_result = SequenceResult.new( name: sequence_name, result: ResultStatuses::PASS, testing_instance: @instance, @@ -194,11 +196,11 @@ def run_tests(inferno_tests) end @client&.requests&.each do |req| - result.request_responses << Models::RequestResponse.from_request(req, @instance.id, 'outbound') + result.request_responses << RequestResponse.from_request(req, @instance.id, 'outbound') end LoggedRestClient.requests.each do |req| - result.request_responses << Models::RequestResponse.from_request(OpenStruct.new(req), @instance.id) + result.request_responses << RequestResponse.from_request(OpenStruct.new(req), @instance.id) end yield result if block_given? @@ -253,7 +255,8 @@ def self.details(details = nil) def self.requires(*requires) @@requires[sequence_name] = requires unless requires.empty? - instance_class = Inferno::Models::TestingInstance + instance_class = Inferno::TestingInstance + instance_class.new unless instance_class.connected? requires.each do |requirement_name| requirement_setter_name = "#{requirement_name}=".to_sym next if instance_class.method_defined?(requirement_name) && instance_class.method_defined?(requirement_setter_name) @@ -407,7 +410,7 @@ def wrap_test(test) lambda do @test_warnings = [] @information_messages = [] - Models::TestResult.new( + TestResult.new( test_id: test.id, name: test.name, ref: test.ref, @@ -434,8 +437,8 @@ def wrap_test(test) end end - result.test_warnings = @test_warnings.map { |w| Models::TestWarning.new(message: w) } - result.information_messages = @information_messages.map { |m| Models::InformationMessage.new(message: m) } + result.test_warnings = @test_warnings.map { |w| TestWarning.new(message: w) } + result.information_messages = @information_messages.map { |m| InformationMessage.new(message: m) } Inferno.logger.info "Finished Test: #{test.id} [#{result.result}]" end end @@ -614,7 +617,7 @@ def fetch_resource(resource_type, resource_id) end def test_resources(resource_type, &block) - references = @instance.resource_references.all(resource_type: resource_type) + references = @instance.resource_references.where(resource_type: resource_type) skip_if( references.empty?, "Skip profile validation since no #{resource_type} resources found for Patient." @@ -664,7 +667,7 @@ def test_resources_against_profile(resource_type, specified_profile = nil, &bloc "Skip profile validation since profile #{specified_profile} is unknown." ) - references = @instance.resource_references.all(profile: specified_profile) + references = @instance.resource_references.where(profile: specified_profile) resources = if references.present? references.map(&:resource_id).map do |resource_id| @@ -672,7 +675,7 @@ def test_resources_against_profile(resource_type, specified_profile = nil, &bloc end else @instance.resource_references - .all(resource_type: resource_type) + .where(resource_type: resource_type) .map { |reference| fetch_resource(resource_type, reference.resource_id) } .select { |resource| resource.meta&.profile&.include? specified_profile } end @@ -898,7 +901,5 @@ def find_slice_by_values(element, values) end end end - - Dir.glob(File.join(__dir__, '..', 'modules', '**', '*_sequence.rb')).sort.each { |file| require file } end end diff --git a/lib/app/utils/startup_tasks.rb b/lib/app/utils/startup_tasks.rb index ea9cac596..374b5fd85 100644 --- a/lib/app/utils/startup_tasks.rb +++ b/lib/app/utils/startup_tasks.rb @@ -3,24 +3,37 @@ require 'rubygems/package' require 'json' require_relative './index_builder' +require_relative '../models/module' module Inferno module StartupTasks class << self def run + establish_db_connection check_validator_availability + load_all_sequences load_all_modules end def load_all_modules Dir.glob(File.join(__dir__, '..', '..', 'modules', '*_module.yml')).each do |file| module_metadata = YAML.load_file(file).deep_symbolize_keys - Module.new(module_metadata) + Inferno::Module.new(module_metadata) load_ig_in_validator(module_metadata) if external_validator? && module_metadata.key?(:resource_path) end end + def load_all_sequences + Dir.glob(File.join(__dir__, '..', '..', 'modules', '**', '*_sequence.rb')).sort.each { |file| require file } + end + + def establish_db_connection + path = File.join(__dir__, '..', '..', '..', 'db', 'config.yml') + configuration = YAML.load_file(path)[ENV['RACK_ENV']] + ActiveRecord::Base.establish_connection(configuration) + end + def external_validator? App::Endpoint.settings.resource_validator == 'external' end diff --git a/lib/app/views/default.erb b/lib/app/views/default.erb index 1e4b9dd9b..1268d23e9 100644 --- a/lib/app/views/default.erb +++ b/lib/app/views/default.erb @@ -221,6 +221,12 @@ value: instance.patient_id, })%> + <%= erb(:prerequisite_field,{},{prerequisite: :patient_ids, + label: 'Patient IDs', + instance: instance, + value: instance.patient_ids, + })%> + <%= erb(:prerequisite_field,{},{prerequisite: :id_token, label: 'OAuth 2.0 ID Token', instance: instance, diff --git a/lib/modules/argonaut/test/argonaut_allergy_intolerance_sequence_test.rb b/lib/modules/argonaut/test/argonaut_allergy_intolerance_sequence_test.rb index ea1fc9648..cc61187a8 100644 --- a/lib/modules/argonaut/test/argonaut_allergy_intolerance_sequence_test.rb +++ b/lib/modules/argonaut/test/argonaut_allergy_intolerance_sequence_test.rb @@ -25,7 +25,7 @@ def setup @patient_resource = FHIR::DSTU2::Patient.new(id: @patient_id) # Assume we already have a patient - @instance.resource_references << Inferno::Models::ResourceReference.new( + @instance.resource_references << Inferno::ResourceReference.new( resource_type: 'Patient', resource_id: @patient_id ) diff --git a/lib/modules/argonaut/test/argonaut_careplan_sequence_test.rb b/lib/modules/argonaut/test/argonaut_careplan_sequence_test.rb index 6cfbbc833..6f70798c4 100644 --- a/lib/modules/argonaut/test/argonaut_careplan_sequence_test.rb +++ b/lib/modules/argonaut/test/argonaut_careplan_sequence_test.rb @@ -25,7 +25,7 @@ def setup @patient_resource = FHIR::DSTU2::Patient.new(id: @patient_id) # Assume we already have a patient - @instance.resource_references << Inferno::Models::ResourceReference.new( + @instance.resource_references << Inferno::ResourceReference.new( resource_type: 'Patient', resource_id: @patient_id ) diff --git a/lib/modules/argonaut/test/argonaut_careteam_sequence_test.rb b/lib/modules/argonaut/test/argonaut_careteam_sequence_test.rb index 61ec87b70..6e9222616 100644 --- a/lib/modules/argonaut/test/argonaut_careteam_sequence_test.rb +++ b/lib/modules/argonaut/test/argonaut_careteam_sequence_test.rb @@ -25,7 +25,7 @@ def setup @patient_resource = FHIR::DSTU2::Patient.new(id: @patient_id) # Assume we already have a patient - @instance.resource_references << Inferno::Models::ResourceReference.new( + @instance.resource_references << Inferno::ResourceReference.new( resource_type: 'Patient', resource_id: @patient_id ) diff --git a/lib/modules/argonaut/test/argonaut_condition_sequence_test.rb b/lib/modules/argonaut/test/argonaut_condition_sequence_test.rb index 2f9142aca..884a567c8 100644 --- a/lib/modules/argonaut/test/argonaut_condition_sequence_test.rb +++ b/lib/modules/argonaut/test/argonaut_condition_sequence_test.rb @@ -26,7 +26,7 @@ def setup @practitioner_resource = FHIR::DSTU2::Practitioner.new(id: 432) # Assume we already have a patient - @instance.resource_references << Inferno::Models::ResourceReference.new( + @instance.resource_references << Inferno::ResourceReference.new( resource_type: 'Patient', resource_id: @patient_id ) diff --git a/lib/modules/argonaut/test/argonaut_conformance_sequence_test.rb b/lib/modules/argonaut/test/argonaut_conformance_sequence_test.rb index 2a2e70a0a..50b58b3de 100644 --- a/lib/modules/argonaut/test/argonaut_conformance_sequence_test.rb +++ b/lib/modules/argonaut/test/argonaut_conformance_sequence_test.rb @@ -14,7 +14,7 @@ class ConformanceSequenceTest < MiniTest::Test RESPONSE_HEADERS = { 'content-type' => 'application/json+fhir;charset=UTF-8' }.freeze def setup - instance = Inferno::Models::TestingInstance.new(url: 'http://www.example.com', selected_module: 'argonaut') + instance = Inferno::TestingInstance.new(url: 'http://www.example.com', selected_module: 'argonaut') instance.save! # this is for convenience. we could rewrite to ensure nothing gets saved within tests. client = FHIR::Client.new(instance.url) client.use_dstu2 diff --git a/lib/modules/argonaut/test/argonaut_device_sequence_test.rb b/lib/modules/argonaut/test/argonaut_device_sequence_test.rb index 886a1b101..4b476b3cf 100644 --- a/lib/modules/argonaut/test/argonaut_device_sequence_test.rb +++ b/lib/modules/argonaut/test/argonaut_device_sequence_test.rb @@ -26,7 +26,7 @@ def setup @practitioner_resource = FHIR::DSTU2::Practitioner.new(id: 432) # Assume we already have a patient - @instance.resource_references << Inferno::Models::ResourceReference.new( + @instance.resource_references << Inferno::ResourceReference.new( resource_type: 'Patient', resource_id: @patient_id ) diff --git a/lib/modules/argonaut/test/argonaut_diagnostic_report_sequence_test.rb b/lib/modules/argonaut/test/argonaut_diagnostic_report_sequence_test.rb index 70bb7173f..687747059 100644 --- a/lib/modules/argonaut/test/argonaut_diagnostic_report_sequence_test.rb +++ b/lib/modules/argonaut/test/argonaut_diagnostic_report_sequence_test.rb @@ -27,7 +27,7 @@ def setup @practitioner_resource = FHIR::DSTU2::Practitioner.new(id: 432) # Assume we already have a patient - @instance.resource_references << Inferno::Models::ResourceReference.new( + @instance.resource_references << Inferno::ResourceReference.new( resource_type: 'Patient', resource_id: @patient_id ) diff --git a/lib/modules/argonaut/test/argonaut_goal_sequence_test.rb b/lib/modules/argonaut/test/argonaut_goal_sequence_test.rb index a6f17602e..07c4815fb 100644 --- a/lib/modules/argonaut/test/argonaut_goal_sequence_test.rb +++ b/lib/modules/argonaut/test/argonaut_goal_sequence_test.rb @@ -26,7 +26,7 @@ def setup @practitioner_resource = FHIR::DSTU2::Practitioner.new(id: 432) # Assume we already have a patient - @instance.resource_references << Inferno::Models::ResourceReference.new( + @instance.resource_references << Inferno::ResourceReference.new( resource_type: 'Patient', resource_id: @patient_id ) diff --git a/lib/modules/argonaut/test/argonaut_immunization_sequence_test.rb b/lib/modules/argonaut/test/argonaut_immunization_sequence_test.rb index e81ac9734..4ef8f7385 100644 --- a/lib/modules/argonaut/test/argonaut_immunization_sequence_test.rb +++ b/lib/modules/argonaut/test/argonaut_immunization_sequence_test.rb @@ -26,7 +26,7 @@ def setup @practitioner_resource = FHIR::DSTU2::Practitioner.new(id: 432) # Assume we already have a patient - @instance.resource_references << Inferno::Models::ResourceReference.new( + @instance.resource_references << Inferno::ResourceReference.new( resource_type: 'Patient', resource_id: @patient_id ) diff --git a/lib/modules/argonaut/test/argonaut_medication_order_sequence_test.rb b/lib/modules/argonaut/test/argonaut_medication_order_sequence_test.rb index 3bb30f470..94d861689 100644 --- a/lib/modules/argonaut/test/argonaut_medication_order_sequence_test.rb +++ b/lib/modules/argonaut/test/argonaut_medication_order_sequence_test.rb @@ -27,7 +27,7 @@ def setup @medication_reference = load_json_fixture(:medication_reference) # Assume we already have a patient - @instance.resource_references << Inferno::Models::ResourceReference.new( + @instance.resource_references << Inferno::ResourceReference.new( resource_type: 'Patient', resource_id: @patient_id ) diff --git a/lib/modules/argonaut/test/argonaut_medication_statement_sequence_test.rb b/lib/modules/argonaut/test/argonaut_medication_statement_sequence_test.rb index 0ab52965a..3a5c2c89a 100644 --- a/lib/modules/argonaut/test/argonaut_medication_statement_sequence_test.rb +++ b/lib/modules/argonaut/test/argonaut_medication_statement_sequence_test.rb @@ -27,7 +27,7 @@ def setup @practitioner_resource = FHIR::DSTU2::Practitioner.new(id: 432) # Assume we already have a patient - @instance.resource_references << Inferno::Models::ResourceReference.new( + @instance.resource_references << Inferno::ResourceReference.new( resource_type: 'Patient', resource_id: @patient_id ) diff --git a/lib/modules/argonaut/test/argonaut_observation_sequence_test.rb b/lib/modules/argonaut/test/argonaut_observation_sequence_test.rb index 9bbf84570..cd128263c 100644 --- a/lib/modules/argonaut/test/argonaut_observation_sequence_test.rb +++ b/lib/modules/argonaut/test/argonaut_observation_sequence_test.rb @@ -26,7 +26,7 @@ def setup @practitioner_resource = FHIR::DSTU2::Practitioner.new(id: 432) # Assume we already have a patient - @instance.resource_references << Inferno::Models::ResourceReference.new( + @instance.resource_references << Inferno::ResourceReference.new( resource_type: 'Patient', resource_id: @patient_id ) diff --git a/lib/modules/argonaut/test/argonaut_patient_read_only_sequence_test.rb b/lib/modules/argonaut/test/argonaut_patient_read_only_sequence_test.rb index 508b42fff..4af080b49 100644 --- a/lib/modules/argonaut/test/argonaut_patient_read_only_sequence_test.rb +++ b/lib/modules/argonaut/test/argonaut_patient_read_only_sequence_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::ArgonautPatientReadOnlySequence @client = FHIR::Client.new(@base_url) @client.set_bearer_token(@token) - @instance = Inferno::Models::TestingInstance.create + @instance = Inferno::TestingInstance.create @instance.patient_id = @patient_id end @@ -115,7 +115,7 @@ def setup @practitioner_resource = FHIR::DSTU2::Practitioner.new(id: 432) # Assume we already have a patient - @instance.resource_references << Inferno::Models::ResourceReference.new( + @instance.resource_references << Inferno::ResourceReference.new( resource_type: 'Patient', resource_id: @patient_id ) diff --git a/lib/modules/argonaut/test/argonaut_patient_search_sequence_test.rb b/lib/modules/argonaut/test/argonaut_patient_search_sequence_test.rb index bc04201d3..afa320f73 100644 --- a/lib/modules/argonaut/test/argonaut_patient_search_sequence_test.rb +++ b/lib/modules/argonaut/test/argonaut_patient_search_sequence_test.rb @@ -26,7 +26,7 @@ def setup @practitioner_resource = FHIR::DSTU2::Practitioner.new(id: 432) # Assume we already have a patient - @instance.resource_references << Inferno::Models::ResourceReference.new( + @instance.resource_references << Inferno::ResourceReference.new( resource_type: 'Patient', resource_id: @patient_id ) diff --git a/lib/modules/argonaut/test/argonaut_procedure_sequence_test.rb b/lib/modules/argonaut/test/argonaut_procedure_sequence_test.rb index e57e7b054..7298c8c3c 100644 --- a/lib/modules/argonaut/test/argonaut_procedure_sequence_test.rb +++ b/lib/modules/argonaut/test/argonaut_procedure_sequence_test.rb @@ -26,7 +26,7 @@ def setup @practitioner_resource = FHIR::DSTU2::Practitioner.new(id: 432) # Assume we already have a patient - @instance.resource_references << Inferno::Models::ResourceReference.new( + @instance.resource_references << Inferno::ResourceReference.new( resource_type: 'Patient', resource_id: @patient_id ) diff --git a/lib/modules/argonaut/test/argonaut_smoking_status_sequence_test.rb b/lib/modules/argonaut/test/argonaut_smoking_status_sequence_test.rb index d6793c505..757333b6f 100644 --- a/lib/modules/argonaut/test/argonaut_smoking_status_sequence_test.rb +++ b/lib/modules/argonaut/test/argonaut_smoking_status_sequence_test.rb @@ -26,7 +26,7 @@ def setup @practitioner_resource = FHIR::DSTU2::Practitioner.new(id: 432) # Assume we already have a patient - @instance.resource_references << Inferno::Models::ResourceReference.new( + @instance.resource_references << Inferno::ResourceReference.new( resource_type: 'Patient', resource_id: @patient_id ) diff --git a/lib/modules/argonaut/test/argonaut_vital_signs_observation_sequence_test.rb b/lib/modules/argonaut/test/argonaut_vital_signs_observation_sequence_test.rb index a5393d1b8..e87123bad 100644 --- a/lib/modules/argonaut/test/argonaut_vital_signs_observation_sequence_test.rb +++ b/lib/modules/argonaut/test/argonaut_vital_signs_observation_sequence_test.rb @@ -26,7 +26,7 @@ def setup @practitioner_resource = FHIR::DSTU2::Practitioner.new(id: 432) # Assume we already have a patient - @instance.resource_references << Inferno::Models::ResourceReference.new( + @instance.resource_references << Inferno::ResourceReference.new( resource_type: 'Patient', resource_id: @patient_id ) diff --git a/lib/modules/core/capability_statement_sequence.rb b/lib/modules/core/capability_statement_sequence.rb index 59f7d6c1c..89d7e5c7d 100644 --- a/lib/modules/core/capability_statement_sequence.rb +++ b/lib/modules/core/capability_statement_sequence.rb @@ -120,7 +120,7 @@ def json_formats assert_valid_conformance begin - @server_capabilities = Inferno::Models::ServerCapabilities.create( + @server_capabilities = Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, capabilities: @conformance.as_json ) diff --git a/lib/modules/onc_program/test/onc_ehr_launch_sequence_test.rb b/lib/modules/onc_program/test/onc_ehr_launch_sequence_test.rb index 5e84768ed..46d3c2c0f 100644 --- a/lib/modules/onc_program/test/onc_ehr_launch_sequence_test.rb +++ b/lib/modules/onc_program/test/onc_ehr_launch_sequence_test.rb @@ -6,7 +6,7 @@ before do @sequence_class = Inferno::Sequence::OncEHRLaunchSequence @client = FHIR::Client.new('http://www.example.com/fhir') - @instance = Inferno::Models::TestingInstance.new + @instance = Inferno::TestingInstance.new end describe 'ONC scopes test' do @@ -18,7 +18,7 @@ it 'fails when a required scope is missing' do @sequence.required_scopes.each do |scope| scopes = @sequence.required_scopes - [scope] - @instance.instance_variable_set(:@received_scopes, scopes.join(' ')) + @instance.received_scopes = scopes.join(' ') exception = assert_raises(Inferno::AssertionException) { @sequence.run_test(@test) } assert_equal "Required scopes missing: #{scope}", exception.message @@ -26,7 +26,7 @@ end it 'fails when there is no user-level scope' do - @instance.instance_variable_set(:@received_scopes, @sequence.required_scopes.join(' ')) + @instance.received_scopes = @sequence.required_scopes.join(' ') exception = assert_raises(Inferno::AssertionException) { @sequence.run_test(@test) } assert_equal 'Must contain a user-level scope in the format: user/[ resource | * ].[ read | *].', exception.message @@ -35,21 +35,21 @@ it 'fails when there is a badly formatted scope' do bad_scopes = ['user/*/*', 'patient/*.read', 'user/*.*.*', 'user/*.write'] bad_scopes.each do |scope| - @instance.instance_variable_set(:@received_scopes, (@sequence.required_scopes + [scope]).join(' ')) + @instance.received_scopes = (@sequence.required_scopes + [scope]).join(' ') exception = assert_raises(Inferno::AssertionException) { @sequence.run_test(@test) } assert_equal "Scope '#{scope}' does not follow the format: user/[ resource | * ].[ read | * ]", exception.message end bad_resource_type = 'ValueSet' - @instance.instance_variable_set(:@received_scopes, (@sequence.required_scopes + ["user/#{bad_resource_type}.*"]).join(' ')) + @instance.received_scopes = (@sequence.required_scopes + ["user/#{bad_resource_type}.*"]).join(' ') exception = assert_raises(Inferno::AssertionException) { @sequence.run_test(@test) } assert_equal "'#{bad_resource_type}' must be either a valid resource type or '*'", exception.message end it 'succeeds when the required scopes and a user-level scope are present' do - @instance.instance_variable_set(:@received_scopes, (@sequence.required_scopes + ['user/*.*']).join(' ')) + @instance.received_scopes = (@sequence.required_scopes + ['user/*.*']).join(' ') @sequence.run_test(@test) end diff --git a/lib/modules/onc_program/test/onc_program_document_reference_test.rb b/lib/modules/onc_program/test/onc_program_document_reference_test.rb index 195cebb6c..aa7e65d43 100644 --- a/lib/modules/onc_program/test/onc_program_document_reference_test.rb +++ b/lib/modules/onc_program/test/onc_program_document_reference_test.rb @@ -25,7 +25,7 @@ def setup @patient_resource = FHIR::DSTU2::Patient.new(id: @patient_id) # Assume we already have a patient - @instance.resource_references << Inferno::Models::ResourceReference.new( + @instance.resource_references << Inferno::ResourceReference.new( resource_type: 'Patient', resource_id: @patient_id ) diff --git a/lib/modules/onc_program/test/onc_program_provenance_test.rb b/lib/modules/onc_program/test/onc_program_provenance_test.rb index 87ab2e6f3..de1f458f0 100644 --- a/lib/modules/onc_program/test/onc_program_provenance_test.rb +++ b/lib/modules/onc_program/test/onc_program_provenance_test.rb @@ -26,7 +26,7 @@ def setup @practitioner_resource = FHIR::DSTU2::Practitioner.new(id: 432) # Assume we already have a patient - @instance.resource_references << Inferno::Models::ResourceReference.new( + @instance.resource_references << Inferno::ResourceReference.new( resource_type: 'Patient', resource_id: @patient_id ) diff --git a/lib/modules/onc_program/test/onc_standalone_launch_sequence_test.rb b/lib/modules/onc_program/test/onc_standalone_launch_sequence_test.rb index 2953b63b5..83554e86a 100644 --- a/lib/modules/onc_program/test/onc_standalone_launch_sequence_test.rb +++ b/lib/modules/onc_program/test/onc_standalone_launch_sequence_test.rb @@ -6,7 +6,7 @@ before do @sequence_class = Inferno::Sequence::OncStandaloneLaunchSequence @client = FHIR::Client.new('http://www.example.com/fhir') - @instance = Inferno::Models::TestingInstance.new + @instance = Inferno::TestingInstance.new end describe 'ONC scopes test' do @@ -18,7 +18,7 @@ it 'fails when a required scope is missing' do @sequence.required_scopes.each do |scope| scopes = @sequence.required_scopes - [scope] - @instance.instance_variable_set(:@received_scopes, scopes.join(' ')) + @instance.received_scopes = scopes.join(' ') exception = assert_raises(Inferno::AssertionException) { @sequence.run_test(@test) } assert_equal "Required scopes missing: #{scope}", exception.message @@ -26,7 +26,7 @@ end it 'fails when there is no patient-level scope' do - @instance.instance_variable_set(:@received_scopes, @sequence.required_scopes.join(' ')) + @instance.received_scopes = @sequence.required_scopes.join(' ') exception = assert_raises(Inferno::AssertionException) { @sequence.run_test(@test) } assert_equal 'Must contain a patient-level scope in the format: patient/[ resource | * ].[ read | *].', exception.message @@ -35,21 +35,21 @@ it 'fails when there is a badly formatted scope' do bad_scopes = ['patient/*/*', 'user/*.read', 'patient/*.*.*', 'patient/*.write'] bad_scopes.each do |scope| - @instance.instance_variable_set(:@received_scopes, (@sequence.required_scopes + [scope]).join(' ')) + @instance.received_scopes = (@sequence.required_scopes + [scope]).join(' ') exception = assert_raises(Inferno::AssertionException) { @sequence.run_test(@test) } assert_equal "Scope '#{scope}' does not follow the format: patient/[ resource | * ].[ read | * ]", exception.message end bad_resource_type = 'ValueSet' - @instance.instance_variable_set(:@received_scopes, (@sequence.required_scopes + ["patient/#{bad_resource_type}.*"]).join(' ')) + @instance.received_scopes = (@sequence.required_scopes + ["patient/#{bad_resource_type}.*"]).join(' ') exception = assert_raises(Inferno::AssertionException) { @sequence.run_test(@test) } assert_equal "'#{bad_resource_type}' must be either a valid resource type or '*'", exception.message end it 'succeeds when the required scopes and a patient-level scope are present' do - @instance.instance_variable_set(:@received_scopes, (@sequence.required_scopes + ['patient/*.*']).join(' ')) + @instance.received_scopes = (@sequence.required_scopes + ['patient/*.*']).join(' ') @sequence.run_test(@test) end diff --git a/lib/modules/smart/dynamic_registration_sequence.rb b/lib/modules/smart/dynamic_registration_sequence.rb index efb62b231..a67651fe0 100644 --- a/lib/modules/smart/dynamic_registration_sequence.rb +++ b/lib/modules/smart/dynamic_registration_sequence.rb @@ -126,7 +126,7 @@ class DynamicRegistrationSequence < SequenceBase update_params[:client_secret] = @registration_response_body['client_secret'] if @instance.confidential_client - @instance.update(update_params) + @instance.update!(update_params) end end end diff --git a/lib/modules/smart/ehr_launch_sequence.rb b/lib/modules/smart/ehr_launch_sequence.rb index 151494905..92a74caa8 100644 --- a/lib/modules/smart/ehr_launch_sequence.rb +++ b/lib/modules/smart/ehr_launch_sequence.rb @@ -92,20 +92,20 @@ class EHRLaunchSequence < SequenceBase ) end - @instance.save - @instance.update(state: SecureRandom.uuid) + @instance.save! + @instance.update!(state: SecureRandom.uuid) oauth2_params = { 'response_type' => 'code', - 'client_id' => @instance.client_id, - 'redirect_uri' => @instance.redirect_uris, - 'scope' => @instance.scopes, + 'client_id' => @instance.client_id.presence, + 'redirect_uri' => @instance.redirect_uris.presence, + 'scope' => @instance.scopes.presence, 'launch' => @params['launch'], - 'state' => @instance.state, + 'state' => @instance.state.presence, 'aud' => @params['iss'] } - oauth2_auth_query = @instance.oauth_authorize_endpoint + '?' + oauth2_auth_query = @instance.oauth_authorize_endpoint.presence + '?' oauth2_params.each do |key, value| oauth2_auth_query += "#{key}=#{CGI.escape(value)}&" unless value.nil? || key.nil? end diff --git a/lib/modules/smart/shared_launch_tests.rb b/lib/modules/smart/shared_launch_tests.rb index f1162a2df..e77c786d8 100644 --- a/lib/modules/smart/shared_launch_tests.rb +++ b/lib/modules/smart/shared_launch_tests.rb @@ -29,13 +29,13 @@ def validate_token_response_contents(token_response, require_expires_in:) assert_valid_json(token_response.body) @token_response_body = JSON.parse(token_response.body) - @instance.save + @instance.save! if @token_response_body.key?('id_token') # rubocop:disable Style/IfUnlessModifier - @instance.update(id_token: @token_response_body['id_token']) + @instance.update!(id_token: @token_response_body['id_token']) end if @token_response_body.key?('refresh_token') # rubocop:disable Style/IfUnlessModifier - @instance.update(refresh_token: @token_response_body['refresh_token']) + @instance.update!(refresh_token: @token_response_body['refresh_token']) end assert @token_response_body['access_token'].present?, 'Token response did not contain access_token as required' @@ -45,14 +45,14 @@ def validate_token_response_contents(token_response, require_expires_in:) warning { assert expires_in.is_a?(Numeric), "`expires_in` field is not a number: #{expires_in.inspect}" } end - @instance.update( + @instance.update!( token: @token_response_body['access_token'], token_retrieved_at: DateTime.now, token_expires_in: expires_in.to_i ) @instance.patient_id = @token_response_body['patient'] if @token_response_body['patient'].present? - @instance.update(encounter_id: @token_response_body['encounter']) if @token_response_body['encounter'].present? + @instance.update!(encounter_id: @token_response_body['encounter']) if @token_response_body['encounter'].present? required_keys = ['token_type', 'scope'] if require_expires_in @@ -89,7 +89,7 @@ def validate_token_response_contents(token_response, require_expires_in:) received_scopes = @token_response_body['scope'] || @instance.scopes - @instance.update(received_scopes: received_scopes) + @instance.update!(received_scopes: received_scopes) end def validate_token_response_headers(token_response) diff --git a/lib/modules/smart/smart_discovery_sequence.rb b/lib/modules/smart/smart_discovery_sequence.rb index 645c748ab..84ff38e79 100644 --- a/lib/modules/smart/smart_discovery_sequence.rb +++ b/lib/modules/smart/smart_discovery_sequence.rb @@ -97,7 +97,7 @@ class SMARTDiscoverySequence < SequenceBase @well_known_introspect_url = @well_known_configuration['introspection_endpoint'] @well_known_revoke_url = @well_known_configuration['revocation_endpoint'] - @instance.update( + @instance.update!( oauth_authorize_endpoint: @well_known_authorize_url, oauth_token_endpoint: @well_known_token_url, oauth_register_endpoint: @well_known_configuration['registration_endpoint'] @@ -198,7 +198,7 @@ class SMARTDiscoverySequence < SequenceBase end end - @instance.update( + @instance.update!( oauth_authorize_endpoint: @conformance_authorize_url, oauth_token_endpoint: @conformance_token_url, oauth_register_endpoint: @conformance_register_url diff --git a/lib/modules/smart/standalone_launch_sequence.rb b/lib/modules/smart/standalone_launch_sequence.rb index fb362e5d2..62787a7a4 100644 --- a/lib/modules/smart/standalone_launch_sequence.rb +++ b/lib/modules/smart/standalone_launch_sequence.rb @@ -61,8 +61,8 @@ class StandaloneLaunchSequence < SequenceBase ) end - @instance.save - @instance.update(state: SecureRandom.uuid) + @instance.save! + @instance.update!(state: SecureRandom.uuid) oauth2_params = { 'response_type' => 'code', diff --git a/lib/modules/smart/test/dynamic_registration_test.rb b/lib/modules/smart/test/dynamic_registration_test.rb index 7a026e14c..9aa90a31c 100644 --- a/lib/modules/smart/test/dynamic_registration_test.rb +++ b/lib/modules/smart/test/dynamic_registration_test.rb @@ -14,15 +14,15 @@ class DynamicRegistrationSequenceTest < MiniTest::Test DYNAMIC_REGISTRATION_TOKEN = 'AAAAAAAAAAAAAAAAAAAAAAAAAA' def setup - @instance = Inferno::Models::TestingInstance.new(url: 'http://www.example.com', - client_name: 'Inferno', - base_url: 'http://localhost:4567', - client_endpoint_key: Inferno::SecureRandomBase62.generate(32), - initiate_login_uri: 'http://localhost:4567/launch', - redirect_uris: 'http://localhost:4567/redirect', - oauth_register_endpoint: 'https://oauth_reg.example.com/register', - scopes: 'launch openid patient/*.* profile', - selected_module: 'argonaut') + @instance = Inferno::TestingInstance.new(url: 'http://www.example.com', + client_name: 'Inferno', + base_url: 'http://localhost:4567', + client_endpoint_key: Inferno::SecureRandomBase62.generate(32), + initiate_login_uri: 'http://localhost:4567/launch', + redirect_uris: 'http://localhost:4567/redirect', + oauth_register_endpoint: 'https://oauth_reg.example.com/register', + scopes: 'launch openid patient/*.* profile', + selected_module: 'argonaut') @instance.save! # this is for convenience. we could rewrite to ensure nothing gets saved within tests. client = FHIR::Client.new(@instance.url) client.use_dstu2 diff --git a/lib/modules/smart/test/ehr_launch_test.rb b/lib/modules/smart/test/ehr_launch_test.rb index 269d7610c..8ea1d5d26 100644 --- a/lib/modules/smart/test/ehr_launch_test.rb +++ b/lib/modules/smart/test/ehr_launch_test.rb @@ -12,7 +12,7 @@ class EHRLaunchSequenceTest < MiniTest::Test RESPONSE_HEADERS = { 'content-type' => 'application/json' }.freeze def setup - @instance = Inferno::Models::TestingInstance.create( + @instance = Inferno::TestingInstance.create( url: 'http://www.example.com', client_name: 'Inferno', base_url: 'http://localhost:4567', diff --git a/lib/modules/smart/test/openid_connect_test.rb b/lib/modules/smart/test/openid_connect_test.rb index 530defbe0..aa53bb8e9 100644 --- a/lib/modules/smart/test/openid_connect_test.rb +++ b/lib/modules/smart/test/openid_connect_test.rb @@ -30,7 +30,7 @@ def create_signed_token(payload: @payload, key_pair: @key_pair, kid: @jwk.kid) @sequence_class = Inferno::Sequence::OpenIDConnectSequence @client = FHIR::Client.new('http://www.example.com/fhir') - @instance = Inferno::Models::TestingInstance.create( + @instance = Inferno::TestingInstance.create( scopes: 'launch patient/*.read openid fhirUser', client_id: 'CLIENT_ID', id_token: @signed_id_token @@ -56,7 +56,7 @@ def create_signed_token(payload: @payload, key_pair: @key_pair, kid: @jwk.kid) 'launch patient/*.read fhirUser' ] invalid_scopes.each do |scopes| - @instance.update(scopes: scopes) + @instance.update!(scopes: scopes) exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -65,7 +65,7 @@ def create_signed_token(payload: @payload, key_pair: @key_pair, kid: @jwk.kid) end it 'fails if no id token is present' do - @instance.update(id_token: nil) + @instance.update!(id_token: nil) exception = assert_raises(Inferno::AssertionException) { @sequence.run_test(@test) } @@ -73,7 +73,7 @@ def create_signed_token(payload: @payload, key_pair: @key_pair, kid: @jwk.kid) end it 'fails if the id token is not a properly constructed jwt' do - @instance.update(id_token: 'abc') + @instance.update!(id_token: 'abc') exception = assert_raises(Inferno::AssertionException) { @sequence.run_test(@test) } @@ -97,7 +97,7 @@ def create_signed_token(payload: @payload, key_pair: @key_pair, kid: @jwk.kid) 'launch patient/*.read fhirUser' ] invalid_scopes.each do |scopes| - @instance.update(scopes: scopes) + @instance.update!(scopes: scopes) exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -160,7 +160,7 @@ def create_signed_token(payload: @payload, key_pair: @key_pair, kid: @jwk.kid) 'launch patient/*.read fhirUser' ] invalid_scopes.each do |scopes| - @instance.update(scopes: scopes) + @instance.update!(scopes: scopes) exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -223,7 +223,7 @@ def create_signed_token(payload: @payload, key_pair: @key_pair, kid: @jwk.kid) 'launch patient/*.read fhirUser' ] invalid_scopes.each do |scopes| - @instance.update(scopes: scopes) + @instance.update!(scopes: scopes) exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -322,7 +322,7 @@ def create_signed_token(payload: @payload, key_pair: @key_pair, kid: @jwk.kid) 'launch patient/*.read fhirUser' ] invalid_scopes.each do |scopes| - @instance.update(scopes: scopes) + @instance.update!(scopes: scopes) exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -427,7 +427,7 @@ def create_signed_token(payload: @payload, key_pair: @key_pair, kid: @jwk.kid) 'launch patient/*.read fhirUser' ] invalid_scopes.each do |scopes| - @instance.update(scopes: scopes) + @instance.update!(scopes: scopes) exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -475,7 +475,7 @@ def create_signed_token(payload: @payload, key_pair: @key_pair, kid: @jwk.kid) payload = @payload.clone payload[:iss] = 'BAD_ISS' token = create_signed_token(payload: payload) - @instance.update(id_token: token) + @instance.update!(id_token: token) exception = assert_raises(Inferno::AssertionException) { @sequence.run_test(@test) } @@ -486,7 +486,7 @@ def create_signed_token(payload: @payload, key_pair: @key_pair, kid: @jwk.kid) payload = @payload.clone payload[:aud] = 'BAD_AUD' token = create_signed_token(payload: payload) - @instance.update(id_token: token) + @instance.update!(id_token: token) exception = assert_raises(Inferno::AssertionException) { @sequence.run_test(@test) } @@ -497,7 +497,7 @@ def create_signed_token(payload: @payload, key_pair: @key_pair, kid: @jwk.kid) payload = @payload.clone payload[:exp] = @payload[:exp] - 1.day.to_i token = create_signed_token(payload: payload) - @instance.update(id_token: token) + @instance.update!(id_token: token) exception = assert_raises(Inferno::AssertionException) { @sequence.run_test(@test) } @@ -506,7 +506,7 @@ def create_signed_token(payload: @payload, key_pair: @key_pair, kid: @jwk.kid) it 'fails if the signature is invalid' do token = create_signed_token(payload: @payload, key_pair: OpenSSL::PKey::RSA.new(2048)) - @instance.update(id_token: token) + @instance.update!(id_token: token) exception = assert_raises(Inferno::AssertionException) { @sequence.run_test(@test) } @@ -530,7 +530,7 @@ def create_signed_token(payload: @payload, key_pair: @key_pair, kid: @jwk.kid) 'launch patient/*.read fhirUser' ] invalid_scopes.each do |scopes| - @instance.update(scopes: scopes) + @instance.update!(scopes: scopes) exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } diff --git a/lib/modules/smart/test/shared_launch_tests_test.rb b/lib/modules/smart/test/shared_launch_tests_test.rb index c312275df..1f6a2a301 100644 --- a/lib/modules/smart/test/shared_launch_tests_test.rb +++ b/lib/modules/smart/test/shared_launch_tests_test.rb @@ -19,7 +19,7 @@ class SharedLaunchTestSequence < Inferno::Sequence::SequenceBase before do @sequence_class = SharedLaunchTestSequence @client = FHIR::Client.new('http://www.example.com/fhir') - @instance = Inferno::Models::TestingInstance.new + @instance = Inferno::TestingInstance.new end describe 'auth_endpoint_tls_test' do @@ -123,9 +123,11 @@ class SharedLaunchTestSequence < Inferno::Sequence::SequenceBase before do @test = @sequence_class[:invalid_code] @sequence = @sequence_class.new(@instance, @client) - @instance.redirect_uris = 'http://www.example.com/redirect' - @instance.client_id = 'CLIENT_ID' - @instance.oauth_token_endpoint = 'http://www.example.com/token' + @instance.update!( + redirect_uris: 'http://www.example.com/redirect', + client_id: 'CLIENT_ID', + oauth_token_endpoint: 'http://www.example.com/token' + ) @token_headers = { 'Content-Type' => 'application/x-www-form-urlencoded' } @token_params = { grant_type: 'authorization_code', @@ -145,7 +147,7 @@ class SharedLaunchTestSequence < Inferno::Sequence::SequenceBase describe 'with public client' do before do @token_params[:client_id] = @instance.client_id - @instance.confidential_client = false + @instance.update!(confidential_client: false) @sequence.instance_variable_set(:@params, 'code' => 'CODE') end @@ -170,8 +172,10 @@ class SharedLaunchTestSequence < Inferno::Sequence::SequenceBase describe 'with a confidential client' do before do - @instance.confidential_client = true - @instance.client_secret = 'CLIENT_SECRET' + @instance.update!( + confidential_client: true, + client_secret: 'CLIENT_SECRET' + ) client_credentials = "#{@instance.client_id}:#{@instance.client_secret}" @token_headers['Authorization'] = "Basic #{Base64.strict_encode64(client_credentials)}" @sequence.instance_variable_set(:@params, 'code' => 'CODE') @@ -202,9 +206,11 @@ class SharedLaunchTestSequence < Inferno::Sequence::SequenceBase @test = @sequence_class[:invalid_client_id] @sequence = @sequence_class.new(@instance, @client) @sequence.instance_variable_set(:@params, 'code' => 'CODE') - @instance.redirect_uris = 'http://www.example.com/redirect' - @instance.client_id = 'CLIENT_ID' - @instance.oauth_token_endpoint = 'http://www.example.com/token' + @instance.update!( + redirect_uris: 'http://www.example.com/redirect', + client_id: 'CLIENT_ID', + oauth_token_endpoint: 'http://www.example.com/token' + ) @token_headers = { 'Content-Type' => 'application/x-www-form-urlencoded' } @token_params = { grant_type: 'authorization_code', @@ -224,7 +230,7 @@ class SharedLaunchTestSequence < Inferno::Sequence::SequenceBase describe 'with public client' do before do @token_params[:client_id] = 'INVALID_CLIENT_ID' - @instance.confidential_client = false + @instance.update!(confidential_client: false) end it 'fails if a successful response is received' do @@ -248,8 +254,10 @@ class SharedLaunchTestSequence < Inferno::Sequence::SequenceBase describe 'with a confidential client' do before do - @instance.confidential_client = true - @instance.client_secret = 'CLIENT_SECRET' + @instance.update!( + confidential_client: true, + client_secret: 'CLIENT_SECRET' + ) client_credentials = "INVALID_CLIENT_ID:#{@instance.client_secret}" @token_headers['Authorization'] = "Basic #{Base64.strict_encode64(client_credentials)}" end @@ -279,9 +287,11 @@ class SharedLaunchTestSequence < Inferno::Sequence::SequenceBase @test = @sequence_class[:successful_token_exchange] @sequence = @sequence_class.new(@instance, @client) @sequence.instance_variable_set(:@params, 'code' => 'CODE') - @instance.redirect_uris = 'http://www.example.com/redirect' - @instance.client_id = 'CLIENT_ID' - @instance.oauth_token_endpoint = 'http://www.example.com/token' + @instance.update!( + redirect_uris: 'http://www.example.com/redirect', + client_id: 'CLIENT_ID', + oauth_token_endpoint: 'http://www.example.com/token' + ) @token_headers = { 'Content-Type' => 'application/x-www-form-urlencoded' } @token_params = { grant_type: 'authorization_code', @@ -301,7 +311,7 @@ class SharedLaunchTestSequence < Inferno::Sequence::SequenceBase describe 'with public client' do before do @token_params[:client_id] = @instance.client_id - @instance.confidential_client = false + @instance.update!(confidential_client: false) end it 'fails if a non-successful response is received' do @@ -325,8 +335,10 @@ class SharedLaunchTestSequence < Inferno::Sequence::SequenceBase describe 'with a confidential client' do before do - @instance.confidential_client = true - @instance.client_secret = 'CLIENT_SECRET' + @instance.update!( + confidential_client: true, + client_secret: 'CLIENT_SECRET' + ) client_credentials = "#{@instance.client_id}:#{@instance.client_secret}" @token_headers['Authorization'] = "Basic #{Base64.strict_encode64(client_credentials)}" end diff --git a/lib/modules/smart/test/smart_discovery_sequence_test.rb b/lib/modules/smart/test/smart_discovery_sequence_test.rb index 52c0ac688..e7d10abc2 100644 --- a/lib/modules/smart/test/smart_discovery_sequence_test.rb +++ b/lib/modules/smart/test/smart_discovery_sequence_test.rb @@ -5,7 +5,7 @@ describe Inferno::Sequence::SMARTDiscoverySequence do before do @sequence_class = Inferno::Sequence::SMARTDiscoverySequence - @instance = Inferno::Models::TestingInstance.new + @instance = Inferno::TestingInstance.new end describe 'required well-known configuration fields' do diff --git a/lib/modules/smart/test/standalone_launch_test.rb b/lib/modules/smart/test/standalone_launch_test.rb index 537fd60e2..2cfaf00a4 100644 --- a/lib/modules/smart/test/standalone_launch_test.rb +++ b/lib/modules/smart/test/standalone_launch_test.rb @@ -4,7 +4,7 @@ class StandaloneLaunchSequenceTest < MiniTest::Test def setup - @instance = Inferno::Models::TestingInstance.create( + @instance = Inferno::TestingInstance.create( url: 'http://www.example.com', client_name: 'Inferno', base_url: 'http://localhost:4567', diff --git a/lib/modules/smart/test/token_introspection_test.rb b/lib/modules/smart/test/token_introspection_test.rb index e94e05b82..b92eaeeb3 100644 --- a/lib/modules/smart/test/token_introspection_test.rb +++ b/lib/modules/smart/test/token_introspection_test.rb @@ -11,7 +11,7 @@ def setup resource_id = SecureRandom.uuid resource_secret = SecureRandom.hex(32) - @instance = Inferno::Models::TestingInstance.create( + @instance = Inferno::TestingInstance.create( url: 'http://www.example.com', client_name: 'Inferno', base_url: 'http://localhost:4567', diff --git a/lib/modules/smart/test/token_refresh_sequence_test.rb b/lib/modules/smart/test/token_refresh_sequence_test.rb index 4a093cc05..7ebfc483b 100644 --- a/lib/modules/smart/test/token_refresh_sequence_test.rb +++ b/lib/modules/smart/test/token_refresh_sequence_test.rb @@ -16,7 +16,7 @@ @sequence_class = Inferno::Sequence::TokenRefreshSequence @token_endpoint = 'http://www.example.com/token' @client = FHIR::Client.new('http://www.example.com/fhir') - @instance = Inferno::Models::TestingInstance.create( + @instance = Inferno::TestingInstance.create( oauth_token_endpoint: @token_endpoint, scopes: 'jkl', refresh_token: 'abc' @@ -93,7 +93,7 @@ end it 'skips if no refresh token has been received' do - @instance.update(refresh_token: nil) + @instance.update!(refresh_token: nil) exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } assert_equal 'No refresh token was received during the SMART launch', exception.message @@ -124,7 +124,7 @@ end it 'skips if no refresh token has been received' do - @instance.update(refresh_token: nil) + @instance.update!(refresh_token: nil) exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } assert_equal 'No refresh token was received during the SMART launch', exception.message @@ -244,7 +244,7 @@ class TokenRefreshSequenceTest < MiniTest::Test def setup refresh_token = 'REFRESH_TOKEN' - @instance = Inferno::Models::TestingInstance.create( + @instance = Inferno::TestingInstance.create( url: 'http://www.example.com', client_name: 'Inferno', base_url: 'http://localhost:4567', @@ -354,7 +354,7 @@ def all_pass end def test_pass_if_confidential_client - @instance.update( + @instance.update!( client_secret: @confidential_client_secret, confidential_client: true ) @@ -362,7 +362,7 @@ def test_pass_if_confidential_client end def test_pass_if_public_client - @instance.update( + @instance.update!( client_secret: nil, confidential_client: false ) diff --git a/lib/modules/smart/token_introspection_sequence.rb b/lib/modules/smart/token_introspection_sequence.rb index 589389b56..760ee38f3 100644 --- a/lib/modules/smart/token_introspection_sequence.rb +++ b/lib/modules/smart/token_introspection_sequence.rb @@ -129,7 +129,7 @@ class TokenIntrospectionSequence < SequenceBase expiration = Time.at(@introspection_response_body['exp']).to_datetime - token_retrieved_at = @instance.token_retrieved_at + token_retrieved_at = @instance.token_retrieved_at.to_datetime now = DateTime.now max_token_seconds = 60 * 60 # one hour expiration? diff --git a/lib/modules/us_core_guidance/test/clinicalnotes_sequence_test.rb b/lib/modules/us_core_guidance/test/clinicalnotes_sequence_test.rb index 134950e74..ab076f701 100644 --- a/lib/modules/us_core_guidance/test/clinicalnotes_sequence_test.rb +++ b/lib/modules/us_core_guidance/test/clinicalnotes_sequence_test.rb @@ -10,7 +10,7 @@ @docref_bundle = FHIR.from_contents(load_fixture(:clinicalnotes_docref_bundle)) @diagrpt_bundle = FHIR.from_contents(load_fixture(:clinicalnotes_diagrpt_bundle)) - @instance = Inferno::Models::TestingInstance.create( + @instance = Inferno::TestingInstance.create( url: 'http://www.example.com' ) @instance.patient_id = @patient_id diff --git a/lib/modules/us_core_guidance/test/us_core_r4_capability_statement_sequence_test.rb b/lib/modules/us_core_guidance/test/us_core_r4_capability_statement_sequence_test.rb index dc27ac0b6..b0179b845 100644 --- a/lib/modules/us_core_guidance/test/us_core_r4_capability_statement_sequence_test.rb +++ b/lib/modules/us_core_guidance/test/us_core_r4_capability_statement_sequence_test.rb @@ -6,7 +6,7 @@ before do @sequence_class = Inferno::Sequence::UsCoreR4CapabilityStatementSequence @client = FHIR::Client.new('http://www.example.com/fhir') - @instance = Inferno::Models::TestingInstance.new(oauth_token_endpoint: @token_endpoint, scopes: 'jkl') + @instance = Inferno::TestingInstance.new(oauth_token_endpoint: @token_endpoint, scopes: 'jkl') @instance.instance_variable_set(:'@module', OpenStruct.new(fhir_version: 'r4')) end diff --git a/lib/modules/us_core_guidance/test/us_core_r4_data_absent_reason_sequence_test.rb b/lib/modules/us_core_guidance/test/us_core_r4_data_absent_reason_sequence_test.rb index 83a7aad71..0b6cde793 100644 --- a/lib/modules/us_core_guidance/test/us_core_r4_data_absent_reason_sequence_test.rb +++ b/lib/modules/us_core_guidance/test/us_core_r4_data_absent_reason_sequence_test.rb @@ -5,7 +5,7 @@ describe Inferno::Sequence::USCoreR4DataAbsentReasonSequence do before do @sequence_class = Inferno::Sequence::USCoreR4DataAbsentReasonSequence - @instance = Inferno::Models::TestingInstance.create + @instance = Inferno::TestingInstance.create end describe 'data absent reason extension test' do @@ -19,7 +19,7 @@ end it 'succeeds if a dar extension has been found' do - @instance.update(data_absent_extension_found: true) + @instance.update!(data_absent_extension_found: true) @sequence.run_test(@test) end @@ -36,7 +36,7 @@ end it 'succeeds if a dar code has been found' do - @instance.update(data_absent_code_found: true) + @instance.update!(data_absent_code_found: true) @sequence.run_test(@test) end diff --git a/lib/modules/us_core_guidance/test/us_core_r4_patient_read_only_sequence_test.rb b/lib/modules/us_core_guidance/test/us_core_r4_patient_read_only_sequence_test.rb index deac48d80..ec5d1f82d 100644 --- a/lib/modules/us_core_guidance/test/us_core_r4_patient_read_only_sequence_test.rb +++ b/lib/modules/us_core_guidance/test/us_core_r4_patient_read_only_sequence_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCoreR4PatientReadOnlySequence @client = FHIR::Client.new(@base_url) @client.set_bearer_token(@token) - @instance = Inferno::Models::TestingInstance.create + @instance = Inferno::TestingInstance.create @instance.patient_id = @patient_id end diff --git a/lib/modules/uscore_v3.1.0/data_absent_reason_checker.rb b/lib/modules/uscore_v3.1.0/data_absent_reason_checker.rb index d920d7b91..f9af65ba2 100644 --- a/lib/modules/uscore_v3.1.0/data_absent_reason_checker.rb +++ b/lib/modules/uscore_v3.1.0/data_absent_reason_checker.rb @@ -20,7 +20,7 @@ def check_for_data_absent_extension(reply) return unless contains_data_absent_extension?(reply.body) @instance.data_absent_extension_found = true - @instance.save + @instance.save! end def check_for_data_absent_code(reply) @@ -29,7 +29,7 @@ def check_for_data_absent_code(reply) return unless contains_data_absent_code?(reply.body) @instance.data_absent_code_found = true - @instance.save + @instance.save! end def contains_data_absent_extension?(body) diff --git a/lib/modules/uscore_v3.1.0/test/bodyheight_test.rb b/lib/modules/uscore_v3.1.0/test/bodyheight_test.rb index cfc6ea4d0..b916d7d72 100644 --- a/lib/modules/uscore_v3.1.0/test/bodyheight_test.rb +++ b/lib/modules/uscore_v3.1.0/test/bodyheight_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore310BodyheightSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -38,7 +38,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -273,7 +273,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -406,7 +406,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -568,7 +568,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'code'] end @@ -703,7 +703,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -783,9 +783,10 @@ def capabilities.supported_search_params(_) end it 'skips if the Observation read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -802,7 +803,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -818,7 +819,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -834,7 +835,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a Observation' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -850,7 +851,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -871,7 +872,7 @@ def capabilities.supported_search_params(_) observation = FHIR::Observation.new( id: @observation_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.0/test/bodytemp_test.rb b/lib/modules/uscore_v3.1.0/test/bodytemp_test.rb index b3bd9b874..ba4d3089e 100644 --- a/lib/modules/uscore_v3.1.0/test/bodytemp_test.rb +++ b/lib/modules/uscore_v3.1.0/test/bodytemp_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore310BodytempSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -38,7 +38,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -273,7 +273,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -406,7 +406,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -568,7 +568,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'code'] end @@ -703,7 +703,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -783,9 +783,10 @@ def capabilities.supported_search_params(_) end it 'skips if the Observation read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -802,7 +803,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -818,7 +819,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -834,7 +835,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a Observation' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -850,7 +851,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -871,7 +872,7 @@ def capabilities.supported_search_params(_) observation = FHIR::Observation.new( id: @observation_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.0/test/bodyweight_test.rb b/lib/modules/uscore_v3.1.0/test/bodyweight_test.rb index 5c1a91b91..075c3b9f9 100644 --- a/lib/modules/uscore_v3.1.0/test/bodyweight_test.rb +++ b/lib/modules/uscore_v3.1.0/test/bodyweight_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore310BodyweightSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -38,7 +38,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -273,7 +273,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -406,7 +406,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -568,7 +568,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'code'] end @@ -703,7 +703,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -783,9 +783,10 @@ def capabilities.supported_search_params(_) end it 'skips if the Observation read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -802,7 +803,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -818,7 +819,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -834,7 +835,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a Observation' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -850,7 +851,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -871,7 +872,7 @@ def capabilities.supported_search_params(_) observation = FHIR::Observation.new( id: @observation_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.0/test/bp_test.rb b/lib/modules/uscore_v3.1.0/test/bp_test.rb index 38896581b..bea1b9a3b 100644 --- a/lib/modules/uscore_v3.1.0/test/bp_test.rb +++ b/lib/modules/uscore_v3.1.0/test/bp_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore310BpSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -38,7 +38,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -273,7 +273,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -406,7 +406,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -568,7 +568,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'code'] end @@ -703,7 +703,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -783,9 +783,10 @@ def capabilities.supported_search_params(_) end it 'skips if the Observation read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -802,7 +803,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -818,7 +819,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -834,7 +835,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a Observation' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -850,7 +851,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -871,7 +872,7 @@ def capabilities.supported_search_params(_) observation = FHIR::Observation.new( id: @observation_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.0/test/data_absent_reason_checker_test.rb b/lib/modules/uscore_v3.1.0/test/data_absent_reason_checker_test.rb index eed9bf142..35823e6af 100644 --- a/lib/modules/uscore_v3.1.0/test/data_absent_reason_checker_test.rb +++ b/lib/modules/uscore_v3.1.0/test/data_absent_reason_checker_test.rb @@ -12,7 +12,7 @@ class DataAbsentReasonCheckerTest attr_reader :instance def initialize - @instance = Inferno::Models::TestingInstance.new + @instance = Inferno::TestingInstance.new end end diff --git a/lib/modules/uscore_v3.1.0/test/headcircum_test.rb b/lib/modules/uscore_v3.1.0/test/headcircum_test.rb index 51e1f8237..06e1a4a0c 100644 --- a/lib/modules/uscore_v3.1.0/test/headcircum_test.rb +++ b/lib/modules/uscore_v3.1.0/test/headcircum_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore310HeadcircumSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -38,7 +38,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -273,7 +273,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -406,7 +406,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -568,7 +568,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'code'] end @@ -703,7 +703,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -783,9 +783,10 @@ def capabilities.supported_search_params(_) end it 'skips if the Observation read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -802,7 +803,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -818,7 +819,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -834,7 +835,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a Observation' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -850,7 +851,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -871,7 +872,7 @@ def capabilities.supported_search_params(_) observation = FHIR::Observation.new( id: @observation_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.0/test/heartrate_test.rb b/lib/modules/uscore_v3.1.0/test/heartrate_test.rb index 16cb200bf..ffad4e20e 100644 --- a/lib/modules/uscore_v3.1.0/test/heartrate_test.rb +++ b/lib/modules/uscore_v3.1.0/test/heartrate_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore310HeartrateSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -38,7 +38,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -273,7 +273,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -406,7 +406,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -568,7 +568,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'code'] end @@ -703,7 +703,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -783,9 +783,10 @@ def capabilities.supported_search_params(_) end it 'skips if the Observation read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -802,7 +803,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -818,7 +819,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -834,7 +835,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a Observation' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -850,7 +851,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -871,7 +872,7 @@ def capabilities.supported_search_params(_) observation = FHIR::Observation.new( id: @observation_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.0/test/pediatric_bmi_for_age_test.rb b/lib/modules/uscore_v3.1.0/test/pediatric_bmi_for_age_test.rb index 25b2a8c49..0f93326ae 100644 --- a/lib/modules/uscore_v3.1.0/test/pediatric_bmi_for_age_test.rb +++ b/lib/modules/uscore_v3.1.0/test/pediatric_bmi_for_age_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore310PediatricBmiForAgeSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -38,7 +38,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -273,7 +273,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -406,7 +406,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -568,7 +568,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'code'] end @@ -703,7 +703,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -783,9 +783,10 @@ def capabilities.supported_search_params(_) end it 'skips if the Observation read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -802,7 +803,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -818,7 +819,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -834,7 +835,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a Observation' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -850,7 +851,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -871,7 +872,7 @@ def capabilities.supported_search_params(_) observation = FHIR::Observation.new( id: @observation_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.0/test/pediatric_weight_for_height_test.rb b/lib/modules/uscore_v3.1.0/test/pediatric_weight_for_height_test.rb index 3d23b7934..5990ae11c 100644 --- a/lib/modules/uscore_v3.1.0/test/pediatric_weight_for_height_test.rb +++ b/lib/modules/uscore_v3.1.0/test/pediatric_weight_for_height_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore310PediatricWeightForHeightSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -38,7 +38,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -273,7 +273,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -406,7 +406,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -568,7 +568,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'code'] end @@ -703,7 +703,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -783,9 +783,10 @@ def capabilities.supported_search_params(_) end it 'skips if the Observation read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -802,7 +803,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -818,7 +819,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -834,7 +835,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a Observation' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -850,7 +851,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -871,7 +872,7 @@ def capabilities.supported_search_params(_) observation = FHIR::Observation.new( id: @observation_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.0/test/resprate_test.rb b/lib/modules/uscore_v3.1.0/test/resprate_test.rb index e0bf5a05c..5785cab37 100644 --- a/lib/modules/uscore_v3.1.0/test/resprate_test.rb +++ b/lib/modules/uscore_v3.1.0/test/resprate_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore310ResprateSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -38,7 +38,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -273,7 +273,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -406,7 +406,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -568,7 +568,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'code'] end @@ -703,7 +703,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -783,9 +783,10 @@ def capabilities.supported_search_params(_) end it 'skips if the Observation read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -802,7 +803,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -818,7 +819,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -834,7 +835,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a Observation' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -850,7 +851,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -871,7 +872,7 @@ def capabilities.supported_search_params(_) observation = FHIR::Observation.new( id: @observation_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.0/test/us_core_allergyintolerance_test.rb b/lib/modules/uscore_v3.1.0/test/us_core_allergyintolerance_test.rb index fd36ed8bc..5e746770b 100644 --- a/lib/modules/uscore_v3.1.0/test/us_core_allergyintolerance_test.rb +++ b/lib/modules/uscore_v3.1.0/test/us_core_allergyintolerance_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore310AllergyintoleranceSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -32,7 +32,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) [] end @@ -187,7 +187,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -267,9 +267,10 @@ def capabilities.supported_search_params(_) end it 'skips if the AllergyIntolerance read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -286,7 +287,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'AllergyIntolerance', resource_id: @allergy_intolerance_id, testing_instance: @instance @@ -302,7 +303,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'AllergyIntolerance', resource_id: @allergy_intolerance_id, testing_instance: @instance @@ -318,7 +319,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a AllergyIntolerance' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'AllergyIntolerance', resource_id: @allergy_intolerance_id, testing_instance: @instance @@ -334,7 +335,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'AllergyIntolerance', resource_id: @allergy_intolerance_id, testing_instance: @instance @@ -355,7 +356,7 @@ def capabilities.supported_search_params(_) allergy_intolerance = FHIR::AllergyIntolerance.new( id: @allergy_intolerance_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'AllergyIntolerance', resource_id: @allergy_intolerance_id, testing_instance: @instance @@ -376,7 +377,7 @@ def capabilities.supported_search_params(_) @sequence = @sequence_class.new(@instance, @client) @sequence.instance_variable_set(:'@resources_found', true) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'AllergyIntolerance', resource_id: @allergy_intolerance.id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.0/test/us_core_careplan_test.rb b/lib/modules/uscore_v3.1.0/test/us_core_careplan_test.rb index ad843e6ae..d21963f43 100644 --- a/lib/modules/uscore_v3.1.0/test/us_core_careplan_test.rb +++ b/lib/modules/uscore_v3.1.0/test/us_core_careplan_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore310CareplanSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -38,7 +38,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -273,7 +273,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -353,9 +353,10 @@ def capabilities.supported_search_params(_) end it 'skips if the CarePlan read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -372,7 +373,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'CarePlan', resource_id: @care_plan_id, testing_instance: @instance @@ -388,7 +389,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'CarePlan', resource_id: @care_plan_id, testing_instance: @instance @@ -404,7 +405,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a CarePlan' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'CarePlan', resource_id: @care_plan_id, testing_instance: @instance @@ -420,7 +421,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'CarePlan', resource_id: @care_plan_id, testing_instance: @instance @@ -441,7 +442,7 @@ def capabilities.supported_search_params(_) care_plan = FHIR::CarePlan.new( id: @care_plan_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'CarePlan', resource_id: @care_plan_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.0/test/us_core_careteam_test.rb b/lib/modules/uscore_v3.1.0/test/us_core_careteam_test.rb index 8254d067e..6dcae870a 100644 --- a/lib/modules/uscore_v3.1.0/test/us_core_careteam_test.rb +++ b/lib/modules/uscore_v3.1.0/test/us_core_careteam_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore310CareteamSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -33,7 +33,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -143,9 +143,10 @@ def capabilities.supported_search_params(_) end it 'skips if the CareTeam read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -162,7 +163,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'CareTeam', resource_id: @care_team_id, testing_instance: @instance @@ -178,7 +179,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'CareTeam', resource_id: @care_team_id, testing_instance: @instance @@ -194,7 +195,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a CareTeam' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'CareTeam', resource_id: @care_team_id, testing_instance: @instance @@ -210,7 +211,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'CareTeam', resource_id: @care_team_id, testing_instance: @instance @@ -231,7 +232,7 @@ def capabilities.supported_search_params(_) care_team = FHIR::CareTeam.new( id: @care_team_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'CareTeam', resource_id: @care_team_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.0/test/us_core_condition_test.rb b/lib/modules/uscore_v3.1.0/test/us_core_condition_test.rb index 3ea8cd144..90599378f 100644 --- a/lib/modules/uscore_v3.1.0/test/us_core_condition_test.rb +++ b/lib/modules/uscore_v3.1.0/test/us_core_condition_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore310ConditionSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -32,7 +32,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) [] end @@ -187,7 +187,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -347,7 +347,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -440,7 +440,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -587,9 +587,10 @@ def capabilities.supported_search_params(_) end it 'skips if the Condition read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -606,7 +607,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Condition', resource_id: @condition_id, testing_instance: @instance @@ -622,7 +623,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Condition', resource_id: @condition_id, testing_instance: @instance @@ -638,7 +639,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a Condition' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Condition', resource_id: @condition_id, testing_instance: @instance @@ -654,7 +655,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Condition', resource_id: @condition_id, testing_instance: @instance @@ -675,7 +676,7 @@ def capabilities.supported_search_params(_) condition = FHIR::Condition.new( id: @condition_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Condition', resource_id: @condition_id, testing_instance: @instance @@ -696,7 +697,7 @@ def capabilities.supported_search_params(_) @sequence = @sequence_class.new(@instance, @client) @sequence.instance_variable_set(:'@resources_found', true) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Condition', resource_id: @condition.id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.0/test/us_core_diagnosticreport_lab_test.rb b/lib/modules/uscore_v3.1.0/test/us_core_diagnosticreport_lab_test.rb index eef293e77..2edeb6c54 100644 --- a/lib/modules/uscore_v3.1.0/test/us_core_diagnosticreport_lab_test.rb +++ b/lib/modules/uscore_v3.1.0/test/us_core_diagnosticreport_lab_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore310DiagnosticreportLabSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -38,7 +38,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -265,7 +265,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) [] end @@ -409,7 +409,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -571,7 +571,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -699,7 +699,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -790,7 +790,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'code'] end @@ -910,9 +910,10 @@ def capabilities.supported_search_params(_) end it 'skips if the DiagnosticReport read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -929,7 +930,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'DiagnosticReport', resource_id: @diagnostic_report_id, testing_instance: @instance @@ -945,7 +946,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'DiagnosticReport', resource_id: @diagnostic_report_id, testing_instance: @instance @@ -961,7 +962,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a DiagnosticReport' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'DiagnosticReport', resource_id: @diagnostic_report_id, testing_instance: @instance @@ -977,7 +978,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'DiagnosticReport', resource_id: @diagnostic_report_id, testing_instance: @instance @@ -998,7 +999,7 @@ def capabilities.supported_search_params(_) diagnostic_report = FHIR::DiagnosticReport.new( id: @diagnostic_report_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'DiagnosticReport', resource_id: @diagnostic_report_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.0/test/us_core_diagnosticreport_note_test.rb b/lib/modules/uscore_v3.1.0/test/us_core_diagnosticreport_note_test.rb index 2f55e2d82..8720f1fbb 100644 --- a/lib/modules/uscore_v3.1.0/test/us_core_diagnosticreport_note_test.rb +++ b/lib/modules/uscore_v3.1.0/test/us_core_diagnosticreport_note_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore310DiagnosticreportNoteSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -38,7 +38,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -265,7 +265,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) [] end @@ -409,7 +409,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -571,7 +571,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -699,7 +699,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -790,7 +790,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'code'] end @@ -910,9 +910,10 @@ def capabilities.supported_search_params(_) end it 'skips if the DiagnosticReport read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -929,7 +930,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'DiagnosticReport', resource_id: @diagnostic_report_id, testing_instance: @instance @@ -945,7 +946,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'DiagnosticReport', resource_id: @diagnostic_report_id, testing_instance: @instance @@ -961,7 +962,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a DiagnosticReport' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'DiagnosticReport', resource_id: @diagnostic_report_id, testing_instance: @instance @@ -977,7 +978,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'DiagnosticReport', resource_id: @diagnostic_report_id, testing_instance: @instance @@ -998,7 +999,7 @@ def capabilities.supported_search_params(_) diagnostic_report = FHIR::DiagnosticReport.new( id: @diagnostic_report_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'DiagnosticReport', resource_id: @diagnostic_report_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.0/test/us_core_documentreference_test.rb b/lib/modules/uscore_v3.1.0/test/us_core_documentreference_test.rb index c08b246a8..ea3c44ca4 100644 --- a/lib/modules/uscore_v3.1.0/test/us_core_documentreference_test.rb +++ b/lib/modules/uscore_v3.1.0/test/us_core_documentreference_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore310DocumentreferenceSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -32,7 +32,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) [] end @@ -181,7 +181,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) [] end @@ -333,7 +333,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -495,7 +495,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -655,7 +655,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -817,7 +817,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'type'] end @@ -945,7 +945,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -1021,9 +1021,10 @@ def capabilities.supported_search_params(_) end it 'skips if the DocumentReference read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -1040,7 +1041,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'DocumentReference', resource_id: @document_reference_id, testing_instance: @instance @@ -1056,7 +1057,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'DocumentReference', resource_id: @document_reference_id, testing_instance: @instance @@ -1072,7 +1073,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a DocumentReference' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'DocumentReference', resource_id: @document_reference_id, testing_instance: @instance @@ -1088,7 +1089,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'DocumentReference', resource_id: @document_reference_id, testing_instance: @instance @@ -1109,7 +1110,7 @@ def capabilities.supported_search_params(_) document_reference = FHIR::DocumentReference.new( id: @document_reference_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'DocumentReference', resource_id: @document_reference_id, testing_instance: @instance @@ -1130,7 +1131,7 @@ def capabilities.supported_search_params(_) @sequence = @sequence_class.new(@instance, @client) @sequence.instance_variable_set(:'@resources_found', true) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'DocumentReference', resource_id: @document_reference.id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.0/test/us_core_encounter_test.rb b/lib/modules/uscore_v3.1.0/test/us_core_encounter_test.rb index e7b9ca03f..cd9698a29 100644 --- a/lib/modules/uscore_v3.1.0/test/us_core_encounter_test.rb +++ b/lib/modules/uscore_v3.1.0/test/us_core_encounter_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore310EncounterSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -25,9 +25,10 @@ end it 'skips if the Encounter read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -43,7 +44,7 @@ end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Encounter', resource_id: @encounter_id, testing_instance: @instance @@ -59,7 +60,7 @@ end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Encounter', resource_id: @encounter_id, testing_instance: @instance @@ -75,7 +76,7 @@ end it 'fails if the resource returned is not a Encounter' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Encounter', resource_id: @encounter_id, testing_instance: @instance @@ -91,7 +92,7 @@ end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Encounter', resource_id: @encounter_id, testing_instance: @instance @@ -112,7 +113,7 @@ encounter = FHIR::Encounter.new( id: @encounter_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Encounter', resource_id: @encounter_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.0/test/us_core_goal_test.rb b/lib/modules/uscore_v3.1.0/test/us_core_goal_test.rb index fe312f9aa..9a59eb984 100644 --- a/lib/modules/uscore_v3.1.0/test/us_core_goal_test.rb +++ b/lib/modules/uscore_v3.1.0/test/us_core_goal_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore310GoalSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -32,7 +32,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) [] end @@ -182,7 +182,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -310,7 +310,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -386,9 +386,10 @@ def capabilities.supported_search_params(_) end it 'skips if the Goal read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -405,7 +406,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Goal', resource_id: @goal_id, testing_instance: @instance @@ -421,7 +422,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Goal', resource_id: @goal_id, testing_instance: @instance @@ -437,7 +438,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a Goal' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Goal', resource_id: @goal_id, testing_instance: @instance @@ -453,7 +454,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Goal', resource_id: @goal_id, testing_instance: @instance @@ -474,7 +475,7 @@ def capabilities.supported_search_params(_) goal = FHIR::Goal.new( id: @goal_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Goal', resource_id: @goal_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.0/test/us_core_immunization_test.rb b/lib/modules/uscore_v3.1.0/test/us_core_immunization_test.rb index 66197b7d8..357994d8f 100644 --- a/lib/modules/uscore_v3.1.0/test/us_core_immunization_test.rb +++ b/lib/modules/uscore_v3.1.0/test/us_core_immunization_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore310ImmunizationSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -32,7 +32,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) [] end @@ -182,7 +182,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -310,7 +310,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -386,9 +386,10 @@ def capabilities.supported_search_params(_) end it 'skips if the Immunization read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -405,7 +406,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Immunization', resource_id: @immunization_id, testing_instance: @instance @@ -421,7 +422,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Immunization', resource_id: @immunization_id, testing_instance: @instance @@ -437,7 +438,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a Immunization' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Immunization', resource_id: @immunization_id, testing_instance: @instance @@ -453,7 +454,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Immunization', resource_id: @immunization_id, testing_instance: @instance @@ -474,7 +475,7 @@ def capabilities.supported_search_params(_) immunization = FHIR::Immunization.new( id: @immunization_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Immunization', resource_id: @immunization_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.0/test/us_core_implantable_device_test.rb b/lib/modules/uscore_v3.1.0/test/us_core_implantable_device_test.rb index 6e0406867..809373438 100644 --- a/lib/modules/uscore_v3.1.0/test/us_core_implantable_device_test.rb +++ b/lib/modules/uscore_v3.1.0/test/us_core_implantable_device_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore310ImplantableDeviceSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -32,7 +32,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) [] end @@ -120,7 +120,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -200,9 +200,10 @@ def capabilities.supported_search_params(_) end it 'skips if the Device read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -219,7 +220,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Device', resource_id: @device_id, testing_instance: @instance @@ -235,7 +236,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Device', resource_id: @device_id, testing_instance: @instance @@ -251,7 +252,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a Device' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Device', resource_id: @device_id, testing_instance: @instance @@ -267,7 +268,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Device', resource_id: @device_id, testing_instance: @instance @@ -288,7 +289,7 @@ def capabilities.supported_search_params(_) device = FHIR::Device.new( id: @device_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Device', resource_id: @device_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.0/test/us_core_medicationrequest_test.rb b/lib/modules/uscore_v3.1.0/test/us_core_medicationrequest_test.rb index a1f57b9a1..aca82ecd3 100644 --- a/lib/modules/uscore_v3.1.0/test/us_core_medicationrequest_test.rb +++ b/lib/modules/uscore_v3.1.0/test/us_core_medicationrequest_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore310MedicationrequestSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -33,7 +33,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -280,7 +280,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'intent'] end @@ -391,7 +391,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'intent'] end @@ -565,7 +565,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'intent'] end @@ -730,9 +730,10 @@ def capabilities.supported_search_params(_) end it 'skips if the MedicationRequest read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -749,7 +750,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'MedicationRequest', resource_id: @medication_request_id, testing_instance: @instance @@ -765,7 +766,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'MedicationRequest', resource_id: @medication_request_id, testing_instance: @instance @@ -781,7 +782,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a MedicationRequest' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'MedicationRequest', resource_id: @medication_request_id, testing_instance: @instance @@ -797,7 +798,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'MedicationRequest', resource_id: @medication_request_id, testing_instance: @instance @@ -818,7 +819,7 @@ def capabilities.supported_search_params(_) medication_request = FHIR::MedicationRequest.new( id: @medication_request_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'MedicationRequest', resource_id: @medication_request_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.0/test/us_core_observation_lab_test.rb b/lib/modules/uscore_v3.1.0/test/us_core_observation_lab_test.rb index 659c4099a..97f3165e6 100644 --- a/lib/modules/uscore_v3.1.0/test/us_core_observation_lab_test.rb +++ b/lib/modules/uscore_v3.1.0/test/us_core_observation_lab_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore310ObservationLabSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -38,7 +38,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -271,7 +271,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -433,7 +433,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -568,7 +568,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'code'] end @@ -703,7 +703,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -783,9 +783,10 @@ def capabilities.supported_search_params(_) end it 'skips if the Observation read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -802,7 +803,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -818,7 +819,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -834,7 +835,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a Observation' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -850,7 +851,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -871,7 +872,7 @@ def capabilities.supported_search_params(_) observation = FHIR::Observation.new( id: @observation_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.0/test/us_core_organization_test.rb b/lib/modules/uscore_v3.1.0/test/us_core_organization_test.rb index b0b99753b..08f222c1e 100644 --- a/lib/modules/uscore_v3.1.0/test/us_core_organization_test.rb +++ b/lib/modules/uscore_v3.1.0/test/us_core_organization_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore310OrganizationSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -25,9 +25,10 @@ end it 'skips if the Organization read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -43,7 +44,7 @@ end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Organization', resource_id: @organization_id, testing_instance: @instance @@ -59,7 +60,7 @@ end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Organization', resource_id: @organization_id, testing_instance: @instance @@ -75,7 +76,7 @@ end it 'fails if the resource returned is not a Organization' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Organization', resource_id: @organization_id, testing_instance: @instance @@ -91,7 +92,7 @@ end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Organization', resource_id: @organization_id, testing_instance: @instance @@ -112,7 +113,7 @@ organization = FHIR::Organization.new( id: @organization_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Organization', resource_id: @organization_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.0/test/us_core_patient_test.rb b/lib/modules/uscore_v3.1.0/test/us_core_patient_test.rb index b8e38ede3..5891372f9 100644 --- a/lib/modules/uscore_v3.1.0/test/us_core_patient_test.rb +++ b/lib/modules/uscore_v3.1.0/test/us_core_patient_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore310PatientSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -32,7 +32,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) [] end @@ -113,7 +113,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) [] end @@ -200,7 +200,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) [] end @@ -284,7 +284,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['gender'] end @@ -368,7 +368,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['birthdate'] end @@ -452,7 +452,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['birthdate'] end @@ -536,7 +536,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['family'] end @@ -612,9 +612,10 @@ def capabilities.supported_search_params(_) end it 'skips if the Patient read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -631,7 +632,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Patient', resource_id: @patient_id, testing_instance: @instance @@ -647,7 +648,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Patient', resource_id: @patient_id, testing_instance: @instance @@ -663,7 +664,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a Patient' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Patient', resource_id: @patient_id, testing_instance: @instance @@ -679,7 +680,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Patient', resource_id: @patient_id, testing_instance: @instance @@ -700,7 +701,7 @@ def capabilities.supported_search_params(_) patient = FHIR::Patient.new( id: @patient_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Patient', resource_id: @patient_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.0/test/us_core_practitioner_test.rb b/lib/modules/uscore_v3.1.0/test/us_core_practitioner_test.rb index a2b70bd24..103fcf2c4 100644 --- a/lib/modules/uscore_v3.1.0/test/us_core_practitioner_test.rb +++ b/lib/modules/uscore_v3.1.0/test/us_core_practitioner_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore310PractitionerSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -25,9 +25,10 @@ end it 'skips if the Practitioner read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -43,7 +44,7 @@ end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Practitioner', resource_id: @practitioner_id, testing_instance: @instance @@ -59,7 +60,7 @@ end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Practitioner', resource_id: @practitioner_id, testing_instance: @instance @@ -75,7 +76,7 @@ end it 'fails if the resource returned is not a Practitioner' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Practitioner', resource_id: @practitioner_id, testing_instance: @instance @@ -91,7 +92,7 @@ end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Practitioner', resource_id: @practitioner_id, testing_instance: @instance @@ -112,7 +113,7 @@ practitioner = FHIR::Practitioner.new( id: @practitioner_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Practitioner', resource_id: @practitioner_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.0/test/us_core_procedure_test.rb b/lib/modules/uscore_v3.1.0/test/us_core_procedure_test.rb index 9f5e4f27b..80631d758 100644 --- a/lib/modules/uscore_v3.1.0/test/us_core_procedure_test.rb +++ b/lib/modules/uscore_v3.1.0/test/us_core_procedure_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore310ProcedureSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -32,7 +32,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) [] end @@ -182,7 +182,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -317,7 +317,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'code'] end @@ -445,7 +445,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -521,9 +521,10 @@ def capabilities.supported_search_params(_) end it 'skips if the Procedure read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -540,7 +541,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Procedure', resource_id: @procedure_id, testing_instance: @instance @@ -556,7 +557,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Procedure', resource_id: @procedure_id, testing_instance: @instance @@ -572,7 +573,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a Procedure' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Procedure', resource_id: @procedure_id, testing_instance: @instance @@ -588,7 +589,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Procedure', resource_id: @procedure_id, testing_instance: @instance @@ -609,7 +610,7 @@ def capabilities.supported_search_params(_) procedure = FHIR::Procedure.new( id: @procedure_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Procedure', resource_id: @procedure_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.0/test/us_core_provenance_test.rb b/lib/modules/uscore_v3.1.0/test/us_core_provenance_test.rb index f5c969301..c34d14de8 100644 --- a/lib/modules/uscore_v3.1.0/test/us_core_provenance_test.rb +++ b/lib/modules/uscore_v3.1.0/test/us_core_provenance_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore310ProvenanceSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -25,9 +25,10 @@ end it 'skips if the Provenance read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -43,7 +44,7 @@ end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Provenance', resource_id: @provenance_id, testing_instance: @instance @@ -59,7 +60,7 @@ end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Provenance', resource_id: @provenance_id, testing_instance: @instance @@ -75,7 +76,7 @@ end it 'fails if the resource returned is not a Provenance' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Provenance', resource_id: @provenance_id, testing_instance: @instance @@ -91,7 +92,7 @@ end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Provenance', resource_id: @provenance_id, testing_instance: @instance @@ -112,7 +113,7 @@ provenance = FHIR::Provenance.new( id: @provenance_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Provenance', resource_id: @provenance_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.0/test/us_core_pulse_oximetry_test.rb b/lib/modules/uscore_v3.1.0/test/us_core_pulse_oximetry_test.rb index d5b33a11f..7088ed934 100644 --- a/lib/modules/uscore_v3.1.0/test/us_core_pulse_oximetry_test.rb +++ b/lib/modules/uscore_v3.1.0/test/us_core_pulse_oximetry_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore310PulseOximetrySequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -38,7 +38,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -273,7 +273,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -406,7 +406,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -568,7 +568,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'code'] end @@ -703,7 +703,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -783,9 +783,10 @@ def capabilities.supported_search_params(_) end it 'skips if the Observation read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -802,7 +803,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -818,7 +819,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -834,7 +835,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a Observation' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -850,7 +851,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -871,7 +872,7 @@ def capabilities.supported_search_params(_) observation = FHIR::Observation.new( id: @observation_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.0/test/us_core_smokingstatus_test.rb b/lib/modules/uscore_v3.1.0/test/us_core_smokingstatus_test.rb index d49ac642a..80799247e 100644 --- a/lib/modules/uscore_v3.1.0/test/us_core_smokingstatus_test.rb +++ b/lib/modules/uscore_v3.1.0/test/us_core_smokingstatus_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore310SmokingstatusSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.0') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -38,7 +38,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -258,9 +258,10 @@ def capabilities.supported_search_params(_) end it 'skips if the Observation read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -277,7 +278,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -293,7 +294,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -309,7 +310,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a Observation' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -325,7 +326,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -346,7 +347,7 @@ def capabilities.supported_search_params(_) observation = FHIR::Observation.new( id: @observation_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.0_module.yml b/lib/modules/uscore_v3.1.0_module.yml index b999539f6..ef983cac6 100644 --- a/lib/modules/uscore_v3.1.0_module.yml +++ b/lib/modules/uscore_v3.1.0_module.yml @@ -50,8 +50,6 @@ test_sets: - USCore310ProvenanceSequence - USCoreR4DataAbsentReasonSequence sequence_requirements: - patient_ids: - label: 'Patient IDs' device_codes: label: 'Implantable Device Type Codes' description: 'Enter the code for an Implantable Device type, or multiple codes separated by commas. If blank, Inferno will validate all Device resources against the Implantable Device profile' diff --git a/lib/modules/uscore_v3.1.1/data_absent_reason_checker.rb b/lib/modules/uscore_v3.1.1/data_absent_reason_checker.rb index d920d7b91..f9af65ba2 100644 --- a/lib/modules/uscore_v3.1.1/data_absent_reason_checker.rb +++ b/lib/modules/uscore_v3.1.1/data_absent_reason_checker.rb @@ -20,7 +20,7 @@ def check_for_data_absent_extension(reply) return unless contains_data_absent_extension?(reply.body) @instance.data_absent_extension_found = true - @instance.save + @instance.save! end def check_for_data_absent_code(reply) @@ -29,7 +29,7 @@ def check_for_data_absent_code(reply) return unless contains_data_absent_code?(reply.body) @instance.data_absent_code_found = true - @instance.save + @instance.save! end def contains_data_absent_extension?(body) diff --git a/lib/modules/uscore_v3.1.1/test/data_absent_reason_checker_test.rb b/lib/modules/uscore_v3.1.1/test/data_absent_reason_checker_test.rb index eed9bf142..35823e6af 100644 --- a/lib/modules/uscore_v3.1.1/test/data_absent_reason_checker_test.rb +++ b/lib/modules/uscore_v3.1.1/test/data_absent_reason_checker_test.rb @@ -12,7 +12,7 @@ class DataAbsentReasonCheckerTest attr_reader :instance def initialize - @instance = Inferno::Models::TestingInstance.new + @instance = Inferno::TestingInstance.new end end diff --git a/lib/modules/uscore_v3.1.1/test/head_occipital_frontal_circumference_percentile_test.rb b/lib/modules/uscore_v3.1.1/test/head_occipital_frontal_circumference_percentile_test.rb index d82d03668..94ecc061a 100644 --- a/lib/modules/uscore_v3.1.1/test/head_occipital_frontal_circumference_percentile_test.rb +++ b/lib/modules/uscore_v3.1.1/test/head_occipital_frontal_circumference_percentile_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore311HeadOccipitalFrontalCircumferencePercentileSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -40,7 +40,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -215,7 +215,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -375,7 +375,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -537,7 +537,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -632,7 +632,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'code'] end @@ -752,9 +752,10 @@ def capabilities.supported_search_params(_) end it 'skips if the Observation read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -771,7 +772,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -787,7 +788,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -803,7 +804,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a Observation' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -819,7 +820,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -840,7 +841,7 @@ def capabilities.supported_search_params(_) observation = FHIR::Observation.new( id: @observation_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.1/test/pediatric_bmi_for_age_test.rb b/lib/modules/uscore_v3.1.1/test/pediatric_bmi_for_age_test.rb index 7e3391cea..07a6c0419 100644 --- a/lib/modules/uscore_v3.1.1/test/pediatric_bmi_for_age_test.rb +++ b/lib/modules/uscore_v3.1.1/test/pediatric_bmi_for_age_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore311PediatricBmiForAgeSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -40,7 +40,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -215,7 +215,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -375,7 +375,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -537,7 +537,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -632,7 +632,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'code'] end @@ -752,9 +752,10 @@ def capabilities.supported_search_params(_) end it 'skips if the Observation read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -771,7 +772,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -787,7 +788,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -803,7 +804,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a Observation' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -819,7 +820,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -840,7 +841,7 @@ def capabilities.supported_search_params(_) observation = FHIR::Observation.new( id: @observation_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.1/test/pediatric_weight_for_height_test.rb b/lib/modules/uscore_v3.1.1/test/pediatric_weight_for_height_test.rb index efd7bc94e..8ca08eeb7 100644 --- a/lib/modules/uscore_v3.1.1/test/pediatric_weight_for_height_test.rb +++ b/lib/modules/uscore_v3.1.1/test/pediatric_weight_for_height_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore311PediatricWeightForHeightSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -40,7 +40,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -215,7 +215,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -375,7 +375,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -537,7 +537,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -632,7 +632,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'code'] end @@ -752,9 +752,10 @@ def capabilities.supported_search_params(_) end it 'skips if the Observation read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -771,7 +772,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -787,7 +788,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -803,7 +804,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a Observation' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -819,7 +820,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -840,7 +841,7 @@ def capabilities.supported_search_params(_) observation = FHIR::Observation.new( id: @observation_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.1/test/us_core_allergyintolerance_test.rb b/lib/modules/uscore_v3.1.1/test/us_core_allergyintolerance_test.rb index 1227181c3..d7c020bb9 100644 --- a/lib/modules/uscore_v3.1.1/test/us_core_allergyintolerance_test.rb +++ b/lib/modules/uscore_v3.1.1/test/us_core_allergyintolerance_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore311AllergyintoleranceSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -32,7 +32,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) [] end @@ -187,7 +187,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -267,9 +267,10 @@ def capabilities.supported_search_params(_) end it 'skips if the AllergyIntolerance read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -286,7 +287,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'AllergyIntolerance', resource_id: @allergy_intolerance_id, testing_instance: @instance @@ -302,7 +303,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'AllergyIntolerance', resource_id: @allergy_intolerance_id, testing_instance: @instance @@ -318,7 +319,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a AllergyIntolerance' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'AllergyIntolerance', resource_id: @allergy_intolerance_id, testing_instance: @instance @@ -334,7 +335,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'AllergyIntolerance', resource_id: @allergy_intolerance_id, testing_instance: @instance @@ -355,7 +356,7 @@ def capabilities.supported_search_params(_) allergy_intolerance = FHIR::AllergyIntolerance.new( id: @allergy_intolerance_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'AllergyIntolerance', resource_id: @allergy_intolerance_id, testing_instance: @instance @@ -376,7 +377,7 @@ def capabilities.supported_search_params(_) @sequence = @sequence_class.new(@instance, @client) @sequence.instance_variable_set(:'@resources_found', true) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'AllergyIntolerance', resource_id: @allergy_intolerance.id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.1/test/us_core_careplan_test.rb b/lib/modules/uscore_v3.1.1/test/us_core_careplan_test.rb index 243ffa2b5..f839e470e 100644 --- a/lib/modules/uscore_v3.1.1/test/us_core_careplan_test.rb +++ b/lib/modules/uscore_v3.1.1/test/us_core_careplan_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore311CareplanSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -38,7 +38,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -273,7 +273,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -353,9 +353,10 @@ def capabilities.supported_search_params(_) end it 'skips if the CarePlan read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -372,7 +373,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'CarePlan', resource_id: @care_plan_id, testing_instance: @instance @@ -388,7 +389,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'CarePlan', resource_id: @care_plan_id, testing_instance: @instance @@ -404,7 +405,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a CarePlan' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'CarePlan', resource_id: @care_plan_id, testing_instance: @instance @@ -420,7 +421,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'CarePlan', resource_id: @care_plan_id, testing_instance: @instance @@ -441,7 +442,7 @@ def capabilities.supported_search_params(_) care_plan = FHIR::CarePlan.new( id: @care_plan_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'CarePlan', resource_id: @care_plan_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.1/test/us_core_careteam_test.rb b/lib/modules/uscore_v3.1.1/test/us_core_careteam_test.rb index 68d39f713..80d96b610 100644 --- a/lib/modules/uscore_v3.1.1/test/us_core_careteam_test.rb +++ b/lib/modules/uscore_v3.1.1/test/us_core_careteam_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore311CareteamSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -33,7 +33,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -143,9 +143,10 @@ def capabilities.supported_search_params(_) end it 'skips if the CareTeam read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -162,7 +163,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'CareTeam', resource_id: @care_team_id, testing_instance: @instance @@ -178,7 +179,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'CareTeam', resource_id: @care_team_id, testing_instance: @instance @@ -194,7 +195,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a CareTeam' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'CareTeam', resource_id: @care_team_id, testing_instance: @instance @@ -210,7 +211,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'CareTeam', resource_id: @care_team_id, testing_instance: @instance @@ -231,7 +232,7 @@ def capabilities.supported_search_params(_) care_team = FHIR::CareTeam.new( id: @care_team_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'CareTeam', resource_id: @care_team_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.1/test/us_core_condition_test.rb b/lib/modules/uscore_v3.1.1/test/us_core_condition_test.rb index 7710ec7cb..5bafb5123 100644 --- a/lib/modules/uscore_v3.1.1/test/us_core_condition_test.rb +++ b/lib/modules/uscore_v3.1.1/test/us_core_condition_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore311ConditionSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -32,7 +32,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) [] end @@ -187,7 +187,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -347,7 +347,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -440,7 +440,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -587,9 +587,10 @@ def capabilities.supported_search_params(_) end it 'skips if the Condition read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -606,7 +607,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Condition', resource_id: @condition_id, testing_instance: @instance @@ -622,7 +623,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Condition', resource_id: @condition_id, testing_instance: @instance @@ -638,7 +639,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a Condition' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Condition', resource_id: @condition_id, testing_instance: @instance @@ -654,7 +655,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Condition', resource_id: @condition_id, testing_instance: @instance @@ -675,7 +676,7 @@ def capabilities.supported_search_params(_) condition = FHIR::Condition.new( id: @condition_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Condition', resource_id: @condition_id, testing_instance: @instance @@ -696,7 +697,7 @@ def capabilities.supported_search_params(_) @sequence = @sequence_class.new(@instance, @client) @sequence.instance_variable_set(:'@resources_found', true) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Condition', resource_id: @condition.id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.1/test/us_core_diagnosticreport_lab_test.rb b/lib/modules/uscore_v3.1.1/test/us_core_diagnosticreport_lab_test.rb index 270e9312a..7d03d1c63 100644 --- a/lib/modules/uscore_v3.1.1/test/us_core_diagnosticreport_lab_test.rb +++ b/lib/modules/uscore_v3.1.1/test/us_core_diagnosticreport_lab_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore311DiagnosticreportLabSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -38,7 +38,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -265,7 +265,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) [] end @@ -411,7 +411,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -544,7 +544,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -699,7 +699,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -790,7 +790,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'code'] end @@ -910,9 +910,10 @@ def capabilities.supported_search_params(_) end it 'skips if the DiagnosticReport read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -929,7 +930,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'DiagnosticReport', resource_id: @diagnostic_report_id, testing_instance: @instance @@ -945,7 +946,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'DiagnosticReport', resource_id: @diagnostic_report_id, testing_instance: @instance @@ -961,7 +962,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a DiagnosticReport' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'DiagnosticReport', resource_id: @diagnostic_report_id, testing_instance: @instance @@ -977,7 +978,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'DiagnosticReport', resource_id: @diagnostic_report_id, testing_instance: @instance @@ -998,7 +999,7 @@ def capabilities.supported_search_params(_) diagnostic_report = FHIR::DiagnosticReport.new( id: @diagnostic_report_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'DiagnosticReport', resource_id: @diagnostic_report_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.1/test/us_core_diagnosticreport_note_test.rb b/lib/modules/uscore_v3.1.1/test/us_core_diagnosticreport_note_test.rb index 459cafde1..6cafda14c 100644 --- a/lib/modules/uscore_v3.1.1/test/us_core_diagnosticreport_note_test.rb +++ b/lib/modules/uscore_v3.1.1/test/us_core_diagnosticreport_note_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore311DiagnosticreportNoteSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -38,7 +38,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -265,7 +265,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) [] end @@ -411,7 +411,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -544,7 +544,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -699,7 +699,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -790,7 +790,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'code'] end @@ -910,9 +910,10 @@ def capabilities.supported_search_params(_) end it 'skips if the DiagnosticReport read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -929,7 +930,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'DiagnosticReport', resource_id: @diagnostic_report_id, testing_instance: @instance @@ -945,7 +946,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'DiagnosticReport', resource_id: @diagnostic_report_id, testing_instance: @instance @@ -961,7 +962,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a DiagnosticReport' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'DiagnosticReport', resource_id: @diagnostic_report_id, testing_instance: @instance @@ -977,7 +978,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'DiagnosticReport', resource_id: @diagnostic_report_id, testing_instance: @instance @@ -998,7 +999,7 @@ def capabilities.supported_search_params(_) diagnostic_report = FHIR::DiagnosticReport.new( id: @diagnostic_report_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'DiagnosticReport', resource_id: @diagnostic_report_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.1/test/us_core_documentreference_test.rb b/lib/modules/uscore_v3.1.1/test/us_core_documentreference_test.rb index 57435be83..59001ad15 100644 --- a/lib/modules/uscore_v3.1.1/test/us_core_documentreference_test.rb +++ b/lib/modules/uscore_v3.1.1/test/us_core_documentreference_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore311DocumentreferenceSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -32,7 +32,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) [] end @@ -181,7 +181,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) [] end @@ -333,7 +333,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -495,7 +495,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -655,7 +655,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -817,7 +817,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'type'] end @@ -945,7 +945,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -1021,9 +1021,10 @@ def capabilities.supported_search_params(_) end it 'skips if the DocumentReference read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -1040,7 +1041,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'DocumentReference', resource_id: @document_reference_id, testing_instance: @instance @@ -1056,7 +1057,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'DocumentReference', resource_id: @document_reference_id, testing_instance: @instance @@ -1072,7 +1073,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a DocumentReference' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'DocumentReference', resource_id: @document_reference_id, testing_instance: @instance @@ -1088,7 +1089,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'DocumentReference', resource_id: @document_reference_id, testing_instance: @instance @@ -1109,7 +1110,7 @@ def capabilities.supported_search_params(_) document_reference = FHIR::DocumentReference.new( id: @document_reference_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'DocumentReference', resource_id: @document_reference_id, testing_instance: @instance @@ -1130,7 +1131,7 @@ def capabilities.supported_search_params(_) @sequence = @sequence_class.new(@instance, @client) @sequence.instance_variable_set(:'@resources_found', true) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'DocumentReference', resource_id: @document_reference.id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.1/test/us_core_encounter_test.rb b/lib/modules/uscore_v3.1.1/test/us_core_encounter_test.rb index 5adb2ee60..de4ebb587 100644 --- a/lib/modules/uscore_v3.1.1/test/us_core_encounter_test.rb +++ b/lib/modules/uscore_v3.1.1/test/us_core_encounter_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore311EncounterSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -25,9 +25,10 @@ end it 'skips if the Encounter read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -43,7 +44,7 @@ end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Encounter', resource_id: @encounter_id, testing_instance: @instance @@ -59,7 +60,7 @@ end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Encounter', resource_id: @encounter_id, testing_instance: @instance @@ -75,7 +76,7 @@ end it 'fails if the resource returned is not a Encounter' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Encounter', resource_id: @encounter_id, testing_instance: @instance @@ -91,7 +92,7 @@ end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Encounter', resource_id: @encounter_id, testing_instance: @instance @@ -112,7 +113,7 @@ encounter = FHIR::Encounter.new( id: @encounter_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Encounter', resource_id: @encounter_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.1/test/us_core_goal_test.rb b/lib/modules/uscore_v3.1.1/test/us_core_goal_test.rb index 14c11ad2a..c76af861b 100644 --- a/lib/modules/uscore_v3.1.1/test/us_core_goal_test.rb +++ b/lib/modules/uscore_v3.1.1/test/us_core_goal_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore311GoalSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -32,7 +32,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) [] end @@ -182,7 +182,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -266,7 +266,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -386,9 +386,10 @@ def capabilities.supported_search_params(_) end it 'skips if the Goal read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -405,7 +406,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Goal', resource_id: @goal_id, testing_instance: @instance @@ -421,7 +422,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Goal', resource_id: @goal_id, testing_instance: @instance @@ -437,7 +438,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a Goal' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Goal', resource_id: @goal_id, testing_instance: @instance @@ -453,7 +454,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Goal', resource_id: @goal_id, testing_instance: @instance @@ -474,7 +475,7 @@ def capabilities.supported_search_params(_) goal = FHIR::Goal.new( id: @goal_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Goal', resource_id: @goal_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.1/test/us_core_immunization_test.rb b/lib/modules/uscore_v3.1.1/test/us_core_immunization_test.rb index da339bfac..0578dde68 100644 --- a/lib/modules/uscore_v3.1.1/test/us_core_immunization_test.rb +++ b/lib/modules/uscore_v3.1.1/test/us_core_immunization_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore311ImmunizationSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -32,7 +32,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) [] end @@ -182,7 +182,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -310,7 +310,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -386,9 +386,10 @@ def capabilities.supported_search_params(_) end it 'skips if the Immunization read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -405,7 +406,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Immunization', resource_id: @immunization_id, testing_instance: @instance @@ -421,7 +422,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Immunization', resource_id: @immunization_id, testing_instance: @instance @@ -437,7 +438,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a Immunization' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Immunization', resource_id: @immunization_id, testing_instance: @instance @@ -453,7 +454,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Immunization', resource_id: @immunization_id, testing_instance: @instance @@ -474,7 +475,7 @@ def capabilities.supported_search_params(_) immunization = FHIR::Immunization.new( id: @immunization_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Immunization', resource_id: @immunization_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.1/test/us_core_implantable_device_test.rb b/lib/modules/uscore_v3.1.1/test/us_core_implantable_device_test.rb index 5504d646e..510c1c0c6 100644 --- a/lib/modules/uscore_v3.1.1/test/us_core_implantable_device_test.rb +++ b/lib/modules/uscore_v3.1.1/test/us_core_implantable_device_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore311ImplantableDeviceSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -32,7 +32,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) [] end @@ -120,7 +120,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -200,9 +200,10 @@ def capabilities.supported_search_params(_) end it 'skips if the Device read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -219,7 +220,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Device', resource_id: @device_id, testing_instance: @instance @@ -235,7 +236,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Device', resource_id: @device_id, testing_instance: @instance @@ -251,7 +252,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a Device' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Device', resource_id: @device_id, testing_instance: @instance @@ -267,7 +268,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Device', resource_id: @device_id, testing_instance: @instance @@ -288,7 +289,7 @@ def capabilities.supported_search_params(_) device = FHIR::Device.new( id: @device_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Device', resource_id: @device_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.1/test/us_core_medicationrequest_test.rb b/lib/modules/uscore_v3.1.1/test/us_core_medicationrequest_test.rb index cf9e3dbba..977c3dec4 100644 --- a/lib/modules/uscore_v3.1.1/test/us_core_medicationrequest_test.rb +++ b/lib/modules/uscore_v3.1.1/test/us_core_medicationrequest_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore311MedicationrequestSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -33,7 +33,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -280,7 +280,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'intent'] end @@ -391,7 +391,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'intent'] end @@ -565,7 +565,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'intent'] end @@ -730,9 +730,10 @@ def capabilities.supported_search_params(_) end it 'skips if the MedicationRequest read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -749,7 +750,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'MedicationRequest', resource_id: @medication_request_id, testing_instance: @instance @@ -765,7 +766,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'MedicationRequest', resource_id: @medication_request_id, testing_instance: @instance @@ -781,7 +782,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a MedicationRequest' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'MedicationRequest', resource_id: @medication_request_id, testing_instance: @instance @@ -797,7 +798,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'MedicationRequest', resource_id: @medication_request_id, testing_instance: @instance @@ -818,7 +819,7 @@ def capabilities.supported_search_params(_) medication_request = FHIR::MedicationRequest.new( id: @medication_request_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'MedicationRequest', resource_id: @medication_request_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.1/test/us_core_observation_lab_test.rb b/lib/modules/uscore_v3.1.1/test/us_core_observation_lab_test.rb index 85bb68e6d..d932db7e7 100644 --- a/lib/modules/uscore_v3.1.1/test/us_core_observation_lab_test.rb +++ b/lib/modules/uscore_v3.1.1/test/us_core_observation_lab_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore311ObservationLabSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -38,7 +38,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -273,7 +273,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -406,7 +406,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -568,7 +568,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -663,7 +663,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'code'] end @@ -783,9 +783,10 @@ def capabilities.supported_search_params(_) end it 'skips if the Observation read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -802,7 +803,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -818,7 +819,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -834,7 +835,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a Observation' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -850,7 +851,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -871,7 +872,7 @@ def capabilities.supported_search_params(_) observation = FHIR::Observation.new( id: @observation_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.1/test/us_core_organization_test.rb b/lib/modules/uscore_v3.1.1/test/us_core_organization_test.rb index fd197b396..6965dd3b4 100644 --- a/lib/modules/uscore_v3.1.1/test/us_core_organization_test.rb +++ b/lib/modules/uscore_v3.1.1/test/us_core_organization_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore311OrganizationSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -25,9 +25,10 @@ end it 'skips if the Organization read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -43,7 +44,7 @@ end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Organization', resource_id: @organization_id, testing_instance: @instance @@ -59,7 +60,7 @@ end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Organization', resource_id: @organization_id, testing_instance: @instance @@ -75,7 +76,7 @@ end it 'fails if the resource returned is not a Organization' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Organization', resource_id: @organization_id, testing_instance: @instance @@ -91,7 +92,7 @@ end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Organization', resource_id: @organization_id, testing_instance: @instance @@ -112,7 +113,7 @@ organization = FHIR::Organization.new( id: @organization_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Organization', resource_id: @organization_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.1/test/us_core_patient_test.rb b/lib/modules/uscore_v3.1.1/test/us_core_patient_test.rb index 4a4ab629a..a861f62e6 100644 --- a/lib/modules/uscore_v3.1.1/test/us_core_patient_test.rb +++ b/lib/modules/uscore_v3.1.1/test/us_core_patient_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore311PatientSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -32,7 +32,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) [] end @@ -113,7 +113,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) [] end @@ -200,7 +200,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) [] end @@ -284,7 +284,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['birthdate'] end @@ -368,7 +368,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['gender'] end @@ -452,7 +452,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['birthdate'] end @@ -536,7 +536,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['family'] end @@ -612,9 +612,10 @@ def capabilities.supported_search_params(_) end it 'skips if the Patient read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -631,7 +632,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Patient', resource_id: @patient_id, testing_instance: @instance @@ -647,7 +648,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Patient', resource_id: @patient_id, testing_instance: @instance @@ -663,7 +664,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a Patient' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Patient', resource_id: @patient_id, testing_instance: @instance @@ -679,7 +680,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Patient', resource_id: @patient_id, testing_instance: @instance @@ -700,7 +701,7 @@ def capabilities.supported_search_params(_) patient = FHIR::Patient.new( id: @patient_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Patient', resource_id: @patient_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.1/test/us_core_practitioner_test.rb b/lib/modules/uscore_v3.1.1/test/us_core_practitioner_test.rb index fb8a1a0f6..b689b999d 100644 --- a/lib/modules/uscore_v3.1.1/test/us_core_practitioner_test.rb +++ b/lib/modules/uscore_v3.1.1/test/us_core_practitioner_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore311PractitionerSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -25,9 +25,10 @@ end it 'skips if the Practitioner read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -43,7 +44,7 @@ end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Practitioner', resource_id: @practitioner_id, testing_instance: @instance @@ -59,7 +60,7 @@ end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Practitioner', resource_id: @practitioner_id, testing_instance: @instance @@ -75,7 +76,7 @@ end it 'fails if the resource returned is not a Practitioner' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Practitioner', resource_id: @practitioner_id, testing_instance: @instance @@ -91,7 +92,7 @@ end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Practitioner', resource_id: @practitioner_id, testing_instance: @instance @@ -112,7 +113,7 @@ practitioner = FHIR::Practitioner.new( id: @practitioner_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Practitioner', resource_id: @practitioner_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.1/test/us_core_procedure_test.rb b/lib/modules/uscore_v3.1.1/test/us_core_procedure_test.rb index fb0be735b..c95e44df5 100644 --- a/lib/modules/uscore_v3.1.1/test/us_core_procedure_test.rb +++ b/lib/modules/uscore_v3.1.1/test/us_core_procedure_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore311ProcedureSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -32,7 +32,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) [] end @@ -182,7 +182,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -310,7 +310,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -401,7 +401,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'code'] end @@ -521,9 +521,10 @@ def capabilities.supported_search_params(_) end it 'skips if the Procedure read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -540,7 +541,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Procedure', resource_id: @procedure_id, testing_instance: @instance @@ -556,7 +557,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Procedure', resource_id: @procedure_id, testing_instance: @instance @@ -572,7 +573,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a Procedure' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Procedure', resource_id: @procedure_id, testing_instance: @instance @@ -588,7 +589,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Procedure', resource_id: @procedure_id, testing_instance: @instance @@ -609,7 +610,7 @@ def capabilities.supported_search_params(_) procedure = FHIR::Procedure.new( id: @procedure_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Procedure', resource_id: @procedure_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.1/test/us_core_provenance_test.rb b/lib/modules/uscore_v3.1.1/test/us_core_provenance_test.rb index 5ebc22eae..1526fc4c1 100644 --- a/lib/modules/uscore_v3.1.1/test/us_core_provenance_test.rb +++ b/lib/modules/uscore_v3.1.1/test/us_core_provenance_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore311ProvenanceSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -25,9 +25,10 @@ end it 'skips if the Provenance read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -43,7 +44,7 @@ end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Provenance', resource_id: @provenance_id, testing_instance: @instance @@ -59,7 +60,7 @@ end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Provenance', resource_id: @provenance_id, testing_instance: @instance @@ -75,7 +76,7 @@ end it 'fails if the resource returned is not a Provenance' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Provenance', resource_id: @provenance_id, testing_instance: @instance @@ -91,7 +92,7 @@ end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Provenance', resource_id: @provenance_id, testing_instance: @instance @@ -112,7 +113,7 @@ provenance = FHIR::Provenance.new( id: @provenance_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Provenance', resource_id: @provenance_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.1/test/us_core_pulse_oximetry_test.rb b/lib/modules/uscore_v3.1.1/test/us_core_pulse_oximetry_test.rb index be74db9dd..9a48849f1 100644 --- a/lib/modules/uscore_v3.1.1/test/us_core_pulse_oximetry_test.rb +++ b/lib/modules/uscore_v3.1.1/test/us_core_pulse_oximetry_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore311PulseOximetrySequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -40,7 +40,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -215,7 +215,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -375,7 +375,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -537,7 +537,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'category'] end @@ -632,7 +632,7 @@ def capabilities.supported_search_params(_) end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient', 'code'] end @@ -752,9 +752,10 @@ def capabilities.supported_search_params(_) end it 'skips if the Observation read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -771,7 +772,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -787,7 +788,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -803,7 +804,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a Observation' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -819,7 +820,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -840,7 +841,7 @@ def capabilities.supported_search_params(_) observation = FHIR::Observation.new( id: @observation_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.1/test/us_core_smokingstatus_test.rb b/lib/modules/uscore_v3.1.1/test/us_core_smokingstatus_test.rb index 83df11f17..2dbfaaf07 100644 --- a/lib/modules/uscore_v3.1.1/test/us_core_smokingstatus_test.rb +++ b/lib/modules/uscore_v3.1.1/test/us_core_smokingstatus_test.rb @@ -10,7 +10,7 @@ @sequence_class = Inferno::Sequence::USCore311SmokingstatusSequence @base_url = 'http://www.example.com/fhir' @token = 'ABC' - @instance = Inferno::Models::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') + @instance = Inferno::TestingInstance.create(url: @base_url, token: @token, selected_module: 'uscore_v3.1.1') @client = FHIR::Client.for_testing_instance(@instance) @patient_ids = 'example' @instance.patient_ids = @patient_ids @@ -38,7 +38,7 @@ end it 'skips if the search params are not supported' do - capabilities = Inferno::Models::ServerCapabilities.new + capabilities = Inferno::ServerCapabilities.new def capabilities.supported_search_params(_) ['patient'] end @@ -258,9 +258,10 @@ def capabilities.supported_search_params(_) end it 'skips if the Observation read interaction is not supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.delete_all + Inferno::ServerCapabilities.create( testing_instance_id: @instance.id, - capabilities: FHIR::CapabilityStatement.new.to_json + capabilities: FHIR::CapabilityStatement.new.as_json ) @instance.reload exception = assert_raises(Inferno::SkipException) { @sequence.run_test(@test) } @@ -277,7 +278,7 @@ def capabilities.supported_search_params(_) end it 'fails if a non-success response code is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -293,7 +294,7 @@ def capabilities.supported_search_params(_) end it 'fails if no resource is received' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -309,7 +310,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource returned is not a Observation' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -325,7 +326,7 @@ def capabilities.supported_search_params(_) end it 'fails if the resource has an incorrect id' do - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance @@ -346,7 +347,7 @@ def capabilities.supported_search_params(_) observation = FHIR::Observation.new( id: @observation_id ) - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create( resource_type: 'Observation', resource_id: @observation_id, testing_instance: @instance diff --git a/lib/modules/uscore_v3.1.1_module.yml b/lib/modules/uscore_v3.1.1_module.yml index 072d9e4b0..25628304f 100644 --- a/lib/modules/uscore_v3.1.1_module.yml +++ b/lib/modules/uscore_v3.1.1_module.yml @@ -44,8 +44,6 @@ test_sets: - USCore311ProvenanceSequence - USCoreR4DataAbsentReasonSequence sequence_requirements: - patient_ids: - label: 'Patient IDs' device_codes: label: 'Implantable Device Type Codes' description: 'Enter the code for an Implantable Device type, or multiple codes separated by commas. If blank, Inferno will validate all Device resources against the Implantable Device profile' diff --git a/lib/tasks/tasks.rake b/lib/tasks/tasks.rake index d90a4847d..f3b9bc903 100644 --- a/lib/tasks/tasks.rake +++ b/lib/tasks/tasks.rake @@ -3,7 +3,6 @@ require 'fhir_client' require 'pry' require 'pry-byebug' -require 'dm-core' require 'csv' require 'colorize' require 'optparse' @@ -76,7 +75,7 @@ def execute(instance, sequences) end end end - instance.save + instance.save! sequence_instance = sequence.new(instance, client, false) sequence_result = nil @@ -300,7 +299,7 @@ namespace :inferno do |_argv| output = { server: args[:server], module: args[:module], arguments: {}, sequences: [] } - instance = Inferno::Models::TestingInstance.new(url: args[:server], selected_module: args[:module]) + instance = Inferno::TestingInstance.new(url: args[:server], selected_module: args[:module]) instance.save! instance.module.sequences.each do |seq| @@ -350,7 +349,7 @@ namespace :inferno do |_argv| requires = [] defines = [] - instance = Inferno::Models::TestingInstance.new(url: args[:server], selected_module: args[:module]) + instance = Inferno::TestingInstance.new(url: args[:server], selected_module: args[:module]) instance.save! instance.module.sequences.each do |seq| @@ -415,11 +414,6 @@ namespace :inferno do |_argv| exit execute(instance, sequences.map { |s| { 'sequence' => s } }) end - desc 'Cleans the database of all models' - task :drop_database, [] do |_task| - DataMapper.auto_migrate! - end - desc 'Execute sequence against a FHIR server' task :execute_batch, [:config] do |_task, args| Inferno::StartupTasks.run @@ -427,7 +421,7 @@ namespace :inferno do |_argv| file = File.read(args.config) config = JSON.parse(file) - instance = Inferno::Models::TestingInstance.new( + instance = Inferno::TestingInstance.new( url: config['server'], selected_module: config['module'], initiate_login_uri: 'http://localhost:4568/launch', diff --git a/test/integration/instance_page_test.rb b/test/integration/instance_page_test.rb index 874c5173a..ffd6a9b63 100644 --- a/test/integration/instance_page_test.rb +++ b/test/integration/instance_page_test.rb @@ -16,7 +16,7 @@ def setup assert last_response.ok? @instance_path = last_request.url instance_id = @instance_path.split('/').last(3).first # third to last - @instance = Inferno::Models::TestingInstance.get(instance_id) + @instance = Inferno::TestingInstance.find(instance_id) assert !@instance.nil?, "No instance id #{instance_id}" end diff --git a/test/integration/oauth2_endpoints_test.rb b/test/integration/oauth2_endpoints_test.rb index d8822f38b..7a375c3b7 100644 --- a/test/integration/oauth2_endpoints_test.rb +++ b/test/integration/oauth2_endpoints_test.rb @@ -23,7 +23,7 @@ def create_testing_instance(params = {}) initiate_login_uri: '/login' } - Inferno::Models::TestingInstance.create(default_params.merge(params)) + Inferno::TestingInstance.create!(default_params.merge(params)) end def create_sequence_result(params = {}) @@ -34,7 +34,7 @@ def create_sequence_result(params = {}) next_test_cases: '' } - Inferno::Models::SequenceResult.create(default_params.merge(params)) + Inferno::SequenceResult.create!(default_params.merge(params)) end def setup @@ -48,7 +48,7 @@ def test_launch_response_success wait_at_endpoint: 'launch', redirect_to_url: '/redirect' ) - Inferno::Models::TestResult.create( + Inferno::TestResult.create!( sequence_result: sequence_result ) @@ -85,7 +85,7 @@ def test_launch_response_no_iss wait_at_endpoint: 'launch', redirect_to_url: '/redirect' ) - Inferno::Models::TestResult.create( + Inferno::TestResult.create!( sequence_result: sequence_result ) @@ -115,7 +115,7 @@ def test_launch_response_unknown_iss wait_at_endpoint: 'launch', redirect_to_url: '/redirect' ) - Inferno::Models::TestResult.create( + Inferno::TestResult.create!( sequence_result: sequence_result ) @@ -143,7 +143,7 @@ def test_launch_response_not_waiting testing_instance: instance, result: 'pass' ) - Inferno::Models::TestResult.create( + Inferno::TestResult.create!( sequence_result: sequence_result ) @@ -164,7 +164,7 @@ def test_redirect_response_success testing_instance: instance, wait_at_endpoint: 'redirect' ) - Inferno::Models::TestResult.create( + Inferno::TestResult.create!( sequence_result: sequence_result ) @@ -201,7 +201,7 @@ def test_redirect_response_bad_state testing_instance: instance, wait_at_endpoint: 'redirect' ) - Inferno::Models::TestResult.create( + Inferno::TestResult.create!( sequence_result: sequence_result ) @@ -230,7 +230,7 @@ def test_redirect_response_not_waiting testing_instance: instance, result: 'pass' ) - Inferno::Models::TestResult.create( + Inferno::TestResult.create!( sequence_result: sequence_result ) diff --git a/test/test_helper.rb b/test/test_helper.rb index 5e3320267..2e6ec4989 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -10,6 +10,7 @@ require 'minitest/autorun' require 'webmock/minitest' require 'rack/test' +require 'database_cleaner/active_record' test_log_filename = File.join('tmp', 'test.log') FileUtils.rm test_log_filename if File.exist? test_log_filename @@ -25,7 +26,21 @@ def create_assertion_report? require_relative '../lib/app' Inferno::App::Endpoint.settings.resource_validator = 'internal' -Inferno::StartupTasks.load_all_modules +Inferno::StartupTasks.run + +DatabaseCleaner.strategy = :truncation + +module Minitest + class Spec + before :each do + DatabaseCleaner.start + end + + after :each do + DatabaseCleaner.clean + end + end +end def find_fixture_directory(test_directory = nil) test_directory ||= @@ -94,16 +109,16 @@ def get_test_instance(url: 'http://www.example.com', selected_module: 'argonaut', token: 'ACCESS_TOKEN') - @instance = Inferno::Models::TestingInstance.new(url: url, - client_name: client_name, - base_url: base_url, - client_endpoint_key: client_endpoint_key, - client_id: client_id, - oauth_authorize_endpoint: oauth_authorize_endpoint, - oauth_token_endpoint: oauth_token_endpoint, - scopes: scopes, - selected_module: selected_module, - token: token) + @instance = Inferno::TestingInstance.new(url: url, + client_name: client_name, + base_url: base_url, + client_endpoint_key: client_endpoint_key, + client_id: client_id, + oauth_authorize_endpoint: oauth_authorize_endpoint, + oauth_token_endpoint: oauth_token_endpoint, + scopes: scopes, + selected_module: selected_module, + token: token) end def get_client(instance) @@ -119,7 +134,7 @@ def set_resource_support(instance, resource) code: interaction } end - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.create!( testing_instance_id: instance.id, capabilities: { rest: [ diff --git a/test/unit/exceptions_test.rb b/test/unit/exceptions_test.rb index acaa7fb26..2eb4a2c9a 100644 --- a/test/unit/exceptions_test.rb +++ b/test/unit/exceptions_test.rb @@ -7,7 +7,7 @@ it 'fails the test and sets message and details' do message = 'MESSAGE' details = 'DETAILS' - result = Inferno::Models::TestResult.new + result = Inferno::TestResult.new Inferno::AssertionException.new(message, details).update_result(result) @@ -23,7 +23,7 @@ it 'skips the test and sets message and details' do message = 'MESSAGE' details = 'DETAILS' - result = Inferno::Models::TestResult.new + result = Inferno::TestResult.new Inferno::SkipException.new(message, details).update_result(result) @@ -38,7 +38,7 @@ describe '#update_result' do it 'todos the test and sets message' do message = 'MESSAGE' - result = Inferno::Models::TestResult.new + result = Inferno::TestResult.new Inferno::TodoException.new(message).update_result(result) @@ -52,7 +52,7 @@ describe '#update_result' do it 'passes the test and sets message' do message = 'MESSAGE' - result = Inferno::Models::TestResult.new + result = Inferno::TestResult.new Inferno::PassException.new(message).update_result(result) @@ -66,7 +66,7 @@ describe '#update_result' do it 'omits the test and sets message' do message = 'MESSAGE' - result = Inferno::Models::TestResult.new + result = Inferno::TestResult.new Inferno::OmitException.new(message).update_result(result) @@ -80,7 +80,7 @@ describe '#update_result' do it 'waits and sets endpoint' do endpoint = 'ENDPOINT' - result = Inferno::Models::TestResult.new + result = Inferno::TestResult.new Inferno::WaitException.new(endpoint).update_result(result) @@ -95,7 +95,7 @@ it 'waits and sets endpoint and redirection url' do endpoint = 'ENDPOINT' url = 'URL' - result = Inferno::Models::TestResult.new + result = Inferno::TestResult.new Inferno::RedirectException.new(url, endpoint).update_result(result) @@ -110,7 +110,7 @@ describe '#update_result' do it 'fails the test and sets message' do message = 'MESSAGE' - result = Inferno::Models::TestResult.new + result = Inferno::TestResult.new ClientException.new(message).update_result(result) diff --git a/test/unit/fhir_client_test.rb b/test/unit/fhir_client_test.rb index 391b2a0c6..bde4062a5 100644 --- a/test/unit/fhir_client_test.rb +++ b/test/unit/fhir_client_test.rb @@ -5,7 +5,7 @@ describe FHIR::Client do before do @client = FHIR::Client.new('http://www.example.com/fhir') - @instance = Inferno::Models::TestingInstance.create( + @instance = Inferno::TestingInstance.create!( oauth_token_endpoint: 'http://www.example.com/token', client_id: 'CLIENT_ID' ) @@ -19,10 +19,10 @@ it 'returns false if the token expiration time is more than a minute in the future' do now = DateTime.now - @instance.update(token_retrieved_at: now) + @instance.update!(token_retrieved_at: now) [now + 65.seconds, now + 1.hour, now + 1.year].each do |time| expires_in = time.to_i - now.to_i - @instance.update(token_expires_in: expires_in) + @instance.update!(token_expires_in: expires_in) assert_equal false, @client.time_to_refresh? end @@ -30,10 +30,10 @@ it 'returns trueif the token has expired or is about to expire' do now = DateTime.now - @instance.update(token_retrieved_at: now) + @instance.update!(token_retrieved_at: now) [now + 55.seconds, now - 1.hour, now - 1.year].each do |time| expires_in = time.to_i - now.to_i - @instance.update(token_expires_in: expires_in) + @instance.update!(token_expires_in: expires_in) assert_equal true, @client.time_to_refresh? end @@ -45,7 +45,7 @@ @refresh_token = 'OLD_REFRESH_TOKEN' @access_token = 'OLD_ACCESS_TOKEN' @expires_in = 123 - @instance.update( + @instance.update!( refresh_token: @refresh_token, token: @access_token, token_expires_in: @expires_in @@ -91,7 +91,7 @@ end it 'updates the token if the refresh is successful for confidential clients' do - @instance.update( + @instance.update!( client_secret: 'CLIENT_SECRET', confidential_client: true ) diff --git a/test/unit/sequence_base_test.rb b/test/unit/sequence_base_test.rb index 0477ecf94..72640da44 100644 --- a/test/unit/sequence_base_test.rb +++ b/test/unit/sequence_base_test.rb @@ -6,7 +6,7 @@ class SequenceBaseTest < MiniTest::Test def setup allergy_intolerance_bundle = FHIR.from_contents(load_fixture(:us_core_r4_allergy_intolerance)) @allergy_intolerance_resource = allergy_intolerance_bundle.entry.first.resource - @instance = Inferno::Models::TestingInstance.new( + @instance = Inferno::TestingInstance.new( url: 'http://www.example.com', client_name: 'Inferno', base_url: 'http://localhost:4567', @@ -29,7 +29,7 @@ def setup describe '#validate_reply_entries' do before do - @instance = Inferno::Models::TestingInstance.create + @instance = Inferno::TestingInstance.create! client = FHIR::Client.new('') @sequence = Inferno::Sequence::USCore310AllergyintoleranceSequence.new(@instance, client, true) allergy_intolerance_bundle = FHIR.from_contents(load_fixture(:us_core_r4_allergy_intolerance)) @@ -86,7 +86,7 @@ def setup describe '#date_comparator_value' do before do - @instance = Inferno::Models::TestingInstance.create(selected_module: 'uscore_v3.0.0') + @instance = Inferno::TestingInstance.create!(selected_module: 'uscore_v3.0.0') client = FHIR::Client.new('') @sequence = Inferno::Sequence::SequenceBase.new(@instance, client, true) end @@ -115,7 +115,7 @@ def setup describe '#save_delayed_sequence_references' do before do - @instance = Inferno::Models::TestingInstance.create(selected_module: 'uscore_v3.0.0') + @instance = Inferno::TestingInstance.create!(selected_module: 'uscore_v3.0.0') client = FHIR::Client.new('') @sequence = Inferno::Sequence::SequenceBase.new(@instance, client, true) @diagnostic_report_resource = FHIR.from_contents(load_fixture(:us_core_r4_diagnostic_report_note)) @@ -146,7 +146,7 @@ def setup describe '#get_value_for_search_param' do before do - instance = Inferno::Models::TestingInstance.create(selected_module: 'uscore_v3.0.0') + instance = Inferno::TestingInstance.create!(selected_module: 'uscore_v3.0.0') client = FHIR::Client.new('') @sequence = Inferno::Sequence::SequenceBase.new(instance, client, true) end @@ -214,7 +214,7 @@ def setup @bundle1 = FHIR.from_contents(load_fixture(:bundle_1)) @bundle2 = load_fixture(:bundle_2) - instance = Inferno::Models::TestingInstance.create(selected_module: 'uscore_v3.0.0') + instance = Inferno::TestingInstance.create!(selected_module: 'uscore_v3.0.0') client = FHIR::Client.new('') @bundle1.client = client @sequence = Inferno::Sequence::SequenceBase.new(instance, client, true) @@ -325,7 +325,7 @@ class OptionalTestSequence < Inferno::Sequence::SequenceBase describe '#tests' do before do - @instance = Inferno::Models::TestingInstance.create + @instance = Inferno::TestingInstance.create! client = FHIR::Client.new('') @sequence = OptionalTestSequence.new(@instance, client) end @@ -344,7 +344,7 @@ class OptionalTestSequence < Inferno::Sequence::SequenceBase describe '#test_count' do before do - @instance = Inferno::Models::TestingInstance.create + @instance = Inferno::TestingInstance.create! client = FHIR::Client.new('') @sequence = OptionalTestSequence.new(@instance, client) end @@ -363,7 +363,7 @@ class OptionalTestSequence < Inferno::Sequence::SequenceBase describe '#find_slice_by_values' do before do - @instance = Inferno::Models::TestingInstance.create + @instance = Inferno::TestingInstance.create! client = FHIR::Client.new('') @sequence = Inferno::Sequence::SequenceBase.new(@instance, client, true) end diff --git a/test/unit/sequence_result_test.rb b/test/unit/sequence_result_test.rb index b9ddb21e1..93a486868 100644 --- a/test/unit/sequence_result_test.rb +++ b/test/unit/sequence_result_test.rb @@ -9,11 +9,11 @@ class SequenceResultTest < MiniTest::Test include Inferno::ResultStatusTests def setup - @result = Inferno::Models::SequenceResult.new + @result = Inferno::SequenceResult.new end def test_reset! - result = Inferno::Models::SequenceResult.new + result = Inferno::SequenceResult.new result.required_passed = 20 result.required_total = 15 result.error_count = 2 @@ -38,15 +38,15 @@ def test_reset! end def test_result_count - result = Inferno::Models::SequenceResult.new - result.test_results << Inferno::Models::TestResult.new - result.test_results << Inferno::Models::TestResult.new + result = Inferno::SequenceResult.new + result.test_results << Inferno::TestResult.new + result.test_results << Inferno::TestResult.new assert_equal 2, result.result_count end def test_total_omitted - result = Inferno::Models::SequenceResult.new + result = Inferno::SequenceResult.new result.required_omitted = 4 result.optional_omitted = 300 @@ -55,7 +55,7 @@ def test_total_omitted end def test_update_result_counts - sequence_result = Inferno::Models::SequenceResult.new + sequence_result = Inferno::SequenceResult.new test_result_params = [ { required: true, result: Inferno::ResultStatuses::PASS }, @@ -68,7 +68,7 @@ def test_update_result_counts { required: false, result: Inferno::ResultStatuses::WAIT } ] - sequence_result.test_results = test_result_params.map { |params| Inferno::Models::TestResult.new(params) } + sequence_result.test_results = test_result_params.map { |params| Inferno::TestResult.new(params) } sequence_result.update_result_counts @@ -84,13 +84,13 @@ def test_update_result_counts end def test_sequence_result_pass - sequence_result = Inferno::Models::SequenceResult.new + sequence_result = Inferno::SequenceResult.new test_result_params = [ { required: true, result: Inferno::ResultStatuses::PASS }, { required: true, result: Inferno::ResultStatuses::TODO } ] - sequence_result.test_results = test_result_params.map { |params| Inferno::Models::TestResult.new(params) } + sequence_result.test_results = test_result_params.map { |params| Inferno::TestResult.new(params) } sequence_result.update_result_counts @@ -98,13 +98,13 @@ def test_sequence_result_pass end def test_sequence_result_pass_even_with_omit - sequence_result = Inferno::Models::SequenceResult.new + sequence_result = Inferno::SequenceResult.new test_result_params = [ { required: true, result: Inferno::ResultStatuses::PASS }, { required: true, result: Inferno::ResultStatuses::OMIT } ] - sequence_result.test_results = test_result_params.map { |params| Inferno::Models::TestResult.new(params) } + sequence_result.test_results = test_result_params.map { |params| Inferno::TestResult.new(params) } sequence_result.update_result_counts @@ -112,13 +112,13 @@ def test_sequence_result_pass_even_with_omit end def test_sequence_result_pass_when_skip_test_is_optional - sequence_result = Inferno::Models::SequenceResult.new + sequence_result = Inferno::SequenceResult.new test_result_params = [ { required: true, result: Inferno::ResultStatuses::PASS }, { required: false, result: Inferno::ResultStatuses::SKIP } ] - sequence_result.test_results = test_result_params.map { |params| Inferno::Models::TestResult.new(params) } + sequence_result.test_results = test_result_params.map { |params| Inferno::TestResult.new(params) } sequence_result.update_result_counts @@ -126,13 +126,13 @@ def test_sequence_result_pass_when_skip_test_is_optional end def test_sequence_result_skip_when_skip_test_is_required - sequence_result = Inferno::Models::SequenceResult.new + sequence_result = Inferno::SequenceResult.new test_result_params = [ { required: true, result: Inferno::ResultStatuses::PASS }, { required: true, result: Inferno::ResultStatuses::SKIP } ] - sequence_result.test_results = test_result_params.map { |params| Inferno::Models::TestResult.new(params) } + sequence_result.test_results = test_result_params.map { |params| Inferno::TestResult.new(params) } sequence_result.update_result_counts @@ -140,12 +140,12 @@ def test_sequence_result_skip_when_skip_test_is_required end def test_sequence_result_required_skip_when_no_pass_tests - sequence_result = Inferno::Models::SequenceResult.new + sequence_result = Inferno::SequenceResult.new test_result_params = [ { required: true, result: Inferno::ResultStatuses::SKIP } ] - sequence_result.test_results = test_result_params.map { |params| Inferno::Models::TestResult.new(params) } + sequence_result.test_results = test_result_params.map { |params| Inferno::TestResult.new(params) } sequence_result.update_result_counts @@ -153,12 +153,12 @@ def test_sequence_result_required_skip_when_no_pass_tests end def test_sequence_result_pass_when_only_1_optional_skip_test - sequence_result = Inferno::Models::SequenceResult.new + sequence_result = Inferno::SequenceResult.new test_result_params = [ { required: false, result: Inferno::ResultStatuses::SKIP } ] - sequence_result.test_results = test_result_params.map { |params| Inferno::Models::TestResult.new(params) } + sequence_result.test_results = test_result_params.map { |params| Inferno::TestResult.new(params) } sequence_result.update_result_counts @@ -166,14 +166,14 @@ def test_sequence_result_pass_when_only_1_optional_skip_test end def test_sequence_result_fail - sequence_result = Inferno::Models::SequenceResult.new + sequence_result = Inferno::SequenceResult.new test_result_params = [ { required: true, result: Inferno::ResultStatuses::PASS }, { required: true, result: Inferno::ResultStatuses::SKIP }, { required: true, result: Inferno::ResultStatuses::FAIL } ] - sequence_result.test_results = test_result_params.map { |params| Inferno::Models::TestResult.new(params) } + sequence_result.test_results = test_result_params.map { |params| Inferno::TestResult.new(params) } sequence_result.update_result_counts @@ -181,13 +181,13 @@ def test_sequence_result_fail end def test_sequence_result_pass_when_fail_optional - sequence_result = Inferno::Models::SequenceResult.new + sequence_result = Inferno::SequenceResult.new test_result_params = [ { required: true, result: Inferno::ResultStatuses::PASS }, { required: false, result: Inferno::ResultStatuses::FAIL } ] - sequence_result.test_results = test_result_params.map { |params| Inferno::Models::TestResult.new(params) } + sequence_result.test_results = test_result_params.map { |params| Inferno::TestResult.new(params) } sequence_result.update_result_counts @@ -195,14 +195,14 @@ def test_sequence_result_pass_when_fail_optional end def test_sequence_result_error - sequence_result = Inferno::Models::SequenceResult.new + sequence_result = Inferno::SequenceResult.new test_result_params = [ { required: true, result: Inferno::ResultStatuses::PASS }, { required: true, result: Inferno::ResultStatuses::SKIP }, { required: true, result: Inferno::ResultStatuses::ERROR } ] - sequence_result.test_results = test_result_params.map { |params| Inferno::Models::TestResult.new(params) } + sequence_result.test_results = test_result_params.map { |params| Inferno::TestResult.new(params) } sequence_result.update_result_counts @@ -210,13 +210,13 @@ def test_sequence_result_error end def test_sequence_result_pass_when_error_optional - sequence_result = Inferno::Models::SequenceResult.new + sequence_result = Inferno::SequenceResult.new test_result_params = [ { required: true, result: Inferno::ResultStatuses::PASS }, { required: false, result: Inferno::ResultStatuses::ERROR } ] - sequence_result.test_results = test_result_params.map { |params| Inferno::Models::TestResult.new(params) } + sequence_result.test_results = test_result_params.map { |params| Inferno::TestResult.new(params) } sequence_result.update_result_counts @@ -224,13 +224,13 @@ def test_sequence_result_pass_when_error_optional end def test_sequence_result_error_when_pass_fail_and_error_tests_in_sequence - sequence_result = Inferno::Models::SequenceResult.new + sequence_result = Inferno::SequenceResult.new test_result_params = [ { required: true, result: Inferno::ResultStatuses::FAIL }, { required: true, result: Inferno::ResultStatuses::ERROR } ] - sequence_result.test_results = test_result_params.map { |params| Inferno::Models::TestResult.new(params) } + sequence_result.test_results = test_result_params.map { |params| Inferno::TestResult.new(params) } sequence_result.update_result_counts diff --git a/test/unit/server_capabilities_test.rb b/test/unit/server_capabilities_test.rb index c3f19570e..f49162f2b 100644 --- a/test/unit/server_capabilities_test.rb +++ b/test/unit/server_capabilities_test.rb @@ -40,8 +40,8 @@ def setup ] } - @capabilities = Inferno::Models::ServerCapabilities.new( - testing_instance_id: Inferno::Models::TestingInstance.create.id, + @capabilities = Inferno::ServerCapabilities.new( + testing_instance_id: Inferno::TestingInstance.create!.id, capabilities: @capability_statement ) @@ -64,8 +64,8 @@ def setup ] } - @smart_capabilities = Inferno::Models::ServerCapabilities.new( - testing_instance_id: Inferno::Models::TestingInstance.create.id, + @smart_capabilities = Inferno::ServerCapabilities.new( + testing_instance_id: Inferno::TestingInstance.create!.id, capabilities: @smart_capability_statement ) end @@ -101,8 +101,8 @@ def test_supported_interactions def test_operation_supported_pass conformance = load_json_fixture(:bulk_data_conformance) - server_capabilities = Inferno::Models::ServerCapabilities.new( - testing_instance_id: Inferno::Models::TestingInstance.create.id, + server_capabilities = Inferno::ServerCapabilities.new( + testing_instance_id: Inferno::TestingInstance.create!.id, capabilities: conformance.as_json ) @@ -112,8 +112,8 @@ def test_operation_supported_pass def test_operation_supported_fail_invalid_name conformance = load_json_fixture(:bulk_data_conformance) - server_capabilities = Inferno::Models::ServerCapabilities.new( - testing_instance_id: Inferno::Models::TestingInstance.create.id, + server_capabilities = Inferno::ServerCapabilities.new( + testing_instance_id: Inferno::TestingInstance.create!.id, capabilities: conformance.as_json ) diff --git a/test/unit/test_result_test.rb b/test/unit/test_result_test.rb index fc27da5e7..4fd42a193 100644 --- a/test/unit/test_result_test.rb +++ b/test/unit/test_result_test.rb @@ -8,6 +8,6 @@ class TestResultTest < MiniTest::Test include Inferno::ResultStatusTests def setup - @result = Inferno::Models::TestResult.new + @result = Inferno::TestResult.new end end diff --git a/test/unit/testing_instance_test.rb b/test/unit/testing_instance_test.rb index 5d5f52684..eebca17cf 100644 --- a/test/unit/testing_instance_test.rb +++ b/test/unit/testing_instance_test.rb @@ -3,9 +3,9 @@ require_relative '../test_helper' require_relative '../../lib/app/models/testing_instance' -describe Inferno::Models::TestingInstance do +describe Inferno::TestingInstance do before do - @instance = Inferno::Models::TestingInstance.create(selected_module: 'uscore_v3.1.0') + @instance = Inferno::TestingInstance.create!(selected_module: 'uscore_v3.1.0') end describe '#conformance_supported?' do @@ -14,7 +14,7 @@ end it 'returns true if the resource is supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.create!( testing_instance_id: @instance.id, capabilities: @conformance.as_json ) @@ -23,7 +23,7 @@ end it 'returns true if the resource and operations are supported' do - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.create!( testing_instance_id: @instance.id, capabilities: @conformance.as_json ) @@ -34,7 +34,7 @@ it 'returns false if the resource is not supported' do @conformance.rest.first.resource.reject! { |r| r.type == 'Patient' } - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.create!( testing_instance_id: @instance.id, capabilities: @conformance.as_json ) @@ -46,7 +46,7 @@ it 'returns false if the operations are not supported' do @conformance.rest.first.resource.find { |r| r.type == 'Patient' }.interaction.reject! { |i| i.code == 'read' } - Inferno::Models::ServerCapabilities.create( + Inferno::ServerCapabilities.create!( testing_instance_id: @instance.id, capabilities: @conformance.as_json ) @@ -79,7 +79,7 @@ describe '#patient_id' do it 'returns the id of the Patient reference which was created first' do 10.times do |index| - Inferno::Models::ResourceReference.create( + Inferno::ResourceReference.create!( resource_type: 'Patient', resource_id: index.to_s, testing_instance: @instance @@ -102,35 +102,3 @@ end end end - -class TestingInstanceTest < MiniTest::Test - def setup - @patient_id1 = '1' - @patient_id2 = '2' - @testing_instance = Inferno::Models::TestingInstance.new - @testing_instance.resource_references << Inferno::Models::ResourceReference.new( - resource_type: 'Patient', - resource_id: @patient_id1 - ) - @testing_instance.save! - end - - def test_patient_id_assignment - assert(@testing_instance.resource_references.length == 1) - - @testing_instance.patient_id = @patient_id2 - - assert(@testing_instance.patient_id == @patient_id2) - assert(@testing_instance.resource_references.length == 1) - assert(@testing_instance.resource_references.first.resource_id == @patient_id2) - end - - def test_patient_id_reassignment - resource_references = @testing_instance.resource_references - assert(resource_references.length == 1) - - @testing_instance.patient_id = @patient_id1 - - assert(@testing_instance.resource_references == resource_references) - end -end