inferno_core 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/bin/inferno +7 -0
  3. data/lib/inferno/apps/cli/console.rb +12 -0
  4. data/lib/inferno/apps/cli/main.rb +18 -0
  5. data/lib/inferno/apps/cli/migration.rb +14 -0
  6. data/lib/inferno/apps/cli.rb +8 -0
  7. data/lib/inferno/config/application.rb +3 -0
  8. data/lib/inferno/config/boot/db.rb +1 -9
  9. data/lib/inferno/config/boot/logging.rb +2 -0
  10. data/lib/inferno/dsl/assertions.rb +66 -1
  11. data/lib/inferno/dsl/configurable.rb +1 -1
  12. data/lib/inferno/dsl/fhir_client.rb +4 -4
  13. data/lib/inferno/dsl/fhir_client_builder.rb +3 -3
  14. data/lib/inferno/dsl/fhir_validation.rb +1 -1
  15. data/lib/inferno/dsl/http_client.rb +4 -4
  16. data/lib/inferno/dsl/http_client_builder.rb +3 -3
  17. data/lib/inferno/dsl/request_storage.rb +8 -8
  18. data/lib/inferno/dsl/results.rb +1 -1
  19. data/lib/inferno/dsl/resume_test_route.rb +9 -9
  20. data/lib/inferno/dsl/runnable.rb +36 -18
  21. data/lib/inferno/entities/header.rb +14 -7
  22. data/lib/inferno/entities/message.rb +16 -8
  23. data/lib/inferno/entities/request.rb +32 -19
  24. data/lib/inferno/entities/result.rb +36 -29
  25. data/lib/inferno/entities/session_data.rb +12 -6
  26. data/lib/inferno/entities/test.rb +13 -0
  27. data/lib/inferno/entities/test_run.rb +29 -6
  28. data/lib/inferno/entities/test_session.rb +16 -10
  29. data/lib/inferno/public/bundle.js +1 -1
  30. data/lib/inferno/repositories/in_memory_repository.rb +1 -1
  31. data/lib/inferno/repositories/results.rb +1 -1
  32. data/lib/inferno/spec_support.rb +1 -1
  33. data/lib/inferno/test_runner.rb +1 -1
  34. data/lib/inferno/utils/markdown_formatter.rb +1 -1
  35. data/lib/inferno/utils/middleware/request_logger.rb +1 -1
  36. data/lib/inferno/utils/migration.rb +17 -0
  37. data/lib/inferno/version.rb +1 -1
  38. data/lib/inferno.rb +0 -4
  39. metadata +37 -4
  40. data/bin/inferno-console +0 -8
@@ -24,7 +24,7 @@ module Inferno
24
24
  @all ||= []
25
25
  end
26
26
 
27
- # @api private
27
+ # @private
28
28
  def all_by_id
29
29
  @all_by_id ||= {}
30
30
  @all_by_id.length == all.length ? @all_by_id : index_by_id
@@ -31,7 +31,7 @@ module Inferno
31
31
  end
32
32
 
33
33
  # Get the current result for a particular test/group
34
- # @api private
34
+ # @private
35
35
  # @example
36
36
  # repo.current_result_for_test_session(
37
37
  # test_session_id,
@@ -1,5 +1,5 @@
1
1
  module Inferno
2
- # @api private
2
+ # @private
3
3
  # This module provides constants so that unit tests in suite repositories can
4
4
  # load the factories defined in inferno.
5
5
  module SpecSupport
@@ -1,7 +1,7 @@
1
1
  require_relative './utils/markdown_formatter'
2
2
 
3
3
  module Inferno
4
- # @api private
4
+ # @private
5
5
  class TestRunner
6
6
  include Inferno::Utils::MarkdownFormatter
7
7
  attr_reader :test_session, :test_run, :resuming
@@ -1,6 +1,6 @@
1
1
  module Inferno
2
2
  module Utils
3
- # @api private
3
+ # @private
4
4
  module MarkdownFormatter
5
5
  def format_markdown(markdown) # rubocop:disable Metrics/CyclomaticComplexity
6
6
  lines = markdown.lines
@@ -1,6 +1,6 @@
1
1
  module Inferno
2
2
  module Utils
3
- # @api private
3
+ # @private
4
4
  module Middleware
5
5
  class RequestLogger
6
6
  attr_reader :app
@@ -0,0 +1,17 @@
1
+ module Inferno
2
+ module Utils
3
+ class Migration
4
+ def run
5
+ db = Inferno::Application['db.connection']
6
+ migration_path = File.join(Inferno::Application.root, 'lib', 'inferno', 'db', 'migrations')
7
+ Sequel::Migrator.run(db, migration_path)
8
+
9
+ if ENV['APP_ENV'] == 'development' # rubocop:disable Style/GuardClause
10
+ schema_path = File.join(Inferno::Application.root, 'lib', 'inferno', 'db', 'schema.rb')
11
+ db.extension :schema_dumper
12
+ File.open(schema_path, 'w') { |f| f.print(db.dump_schema_migration) }
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -1,3 +1,3 @@
1
1
  module Inferno
2
- VERSION = '0.0.6'.freeze
2
+ VERSION = '0.0.7'.freeze
3
3
  end
data/lib/inferno.rb CHANGED
@@ -1,7 +1,3 @@
1
- require 'active_support/all'
2
- require 'dotenv'
3
- require 'dry/system/container'
4
- require 'sequel'
5
1
  require_relative 'inferno/config/application'
6
2
  require_relative 'inferno/dsl'
7
3
  require_relative 'inferno/entities'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: inferno_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen MacVicar
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2021-10-19 00:00:00.000000000 Z
13
+ date: 2021-10-28 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport
@@ -54,6 +54,20 @@ dependencies:
54
54
  - - "~>"
55
55
  - !ruby/object:Gem::Version
56
56
  version: '2.7'
57
+ - !ruby/object:Gem::Dependency
58
+ name: dry-configurable
59
+ requirement: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - '='
62
+ - !ruby/object:Gem::Version
63
+ version: 0.12.0
64
+ type: :runtime
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - '='
69
+ - !ruby/object:Gem::Version
70
+ version: 0.12.0
57
71
  - !ruby/object:Gem::Dependency
58
72
  name: dry-system
59
73
  requirement: !ruby/object:Gem::Requirement
@@ -250,6 +264,20 @@ dependencies:
250
264
  - - "~>"
251
265
  - !ruby/object:Gem::Version
252
266
  version: '1.4'
267
+ - !ruby/object:Gem::Dependency
268
+ name: thor
269
+ requirement: !ruby/object:Gem::Requirement
270
+ requirements:
271
+ - - "~>"
272
+ - !ruby/object:Gem::Version
273
+ version: 1.1.0
274
+ type: :runtime
275
+ prerelease: false
276
+ version_requirements: !ruby/object:Gem::Requirement
277
+ requirements:
278
+ - - "~>"
279
+ - !ruby/object:Gem::Version
280
+ version: 1.1.0
253
281
  - !ruby/object:Gem::Dependency
254
282
  name: codecov
255
283
  requirement: !ruby/object:Gem::Requirement
@@ -423,13 +451,17 @@ description: Inferno Core is an open source tool for testing data exchanges enab
423
451
  email:
424
452
  - inferno@groups.mitre.org
425
453
  executables:
426
- - inferno-console
454
+ - inferno
427
455
  extensions: []
428
456
  extra_rdoc_files: []
429
457
  files:
430
458
  - LICENSE
431
- - bin/inferno-console
459
+ - bin/inferno
432
460
  - lib/inferno.rb
461
+ - lib/inferno/apps/cli.rb
462
+ - lib/inferno/apps/cli/console.rb
463
+ - lib/inferno/apps/cli/main.rb
464
+ - lib/inferno/apps/cli/migration.rb
433
465
  - lib/inferno/apps/web/application.rb
434
466
  - lib/inferno/apps/web/controllers/controller.rb
435
467
  - lib/inferno/apps/web/controllers/requests/show.rb
@@ -526,6 +558,7 @@ files:
526
558
  - lib/inferno/test_runner.rb
527
559
  - lib/inferno/utils/markdown_formatter.rb
528
560
  - lib/inferno/utils/middleware/request_logger.rb
561
+ - lib/inferno/utils/migration.rb
529
562
  - lib/inferno/version.rb
530
563
  - spec/factories/header.rb
531
564
  - spec/factories/message.rb
data/bin/inferno-console DELETED
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'pry'
4
- require_relative '../lib/inferno'
5
-
6
- Inferno::Application.finalize!
7
-
8
- Pry.start