mongoid 6.4.0 → 6.4.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/Rakefile +26 -0
  5. data/lib/mongoid.rb +1 -1
  6. data/lib/mongoid/clients/sessions.rb +2 -2
  7. data/lib/mongoid/contextual/aggregable/mongo.rb +1 -1
  8. data/lib/mongoid/contextual/map_reduce.rb +4 -4
  9. data/lib/mongoid/contextual/memory.rb +4 -4
  10. data/lib/mongoid/contextual/mongo.rb +3 -3
  11. data/lib/mongoid/criteria/modifiable.rb +12 -2
  12. data/lib/mongoid/criteria/queryable/selectable.rb +34 -7
  13. data/lib/mongoid/document.rb +4 -4
  14. data/lib/mongoid/extensions/big_decimal.rb +1 -1
  15. data/lib/mongoid/extensions/regexp.rb +1 -0
  16. data/lib/mongoid/extensions/string.rb +3 -1
  17. data/lib/mongoid/indexable.rb +4 -4
  18. data/lib/mongoid/matchable.rb +3 -0
  19. data/lib/mongoid/matchable/nor.rb +37 -0
  20. data/lib/mongoid/persistable.rb +1 -1
  21. data/lib/mongoid/persistable/creatable.rb +2 -2
  22. data/lib/mongoid/persistable/deletable.rb +2 -2
  23. data/lib/mongoid/persistable/settable.rb +5 -5
  24. data/lib/mongoid/persistable/updatable.rb +2 -2
  25. data/lib/mongoid/persistable/upsertable.rb +1 -1
  26. data/lib/mongoid/persistence_context.rb +4 -0
  27. data/lib/mongoid/query_cache.rb +21 -10
  28. data/lib/mongoid/railtie.rb +17 -0
  29. data/lib/mongoid/railties/controller_runtime.rb +86 -0
  30. data/lib/mongoid/relations/embedded/batchable.rb +4 -4
  31. data/lib/mongoid/relations/embedded/many.rb +23 -0
  32. data/lib/mongoid/relations/many.rb +2 -2
  33. data/lib/mongoid/relations/referenced/many.rb +1 -1
  34. data/lib/mongoid/relations/touchable.rb +1 -1
  35. data/lib/mongoid/reloadable.rb +1 -1
  36. data/lib/mongoid/scopable.rb +3 -3
  37. data/lib/mongoid/tasks/database.rb +2 -2
  38. data/lib/mongoid/threaded.rb +36 -0
  39. data/lib/mongoid/version.rb +1 -1
  40. data/lib/rails/generators/mongoid/config/templates/mongoid.yml +4 -0
  41. data/spec/app/models/array_field.rb +7 -0
  42. data/spec/app/models/delegating_patient.rb +16 -0
  43. data/spec/integration/document_spec.rb +22 -0
  44. data/spec/mongoid/clients/factory_spec.rb +52 -28
  45. data/spec/mongoid/clients/options_spec.rb +30 -15
  46. data/spec/mongoid/clients/sessions_spec.rb +12 -3
  47. data/spec/mongoid/contextual/geo_near_spec.rb +1 -0
  48. data/spec/mongoid/contextual/mongo_spec.rb +2 -2
  49. data/spec/mongoid/criteria/modifiable_spec.rb +59 -10
  50. data/spec/mongoid/criteria/queryable/extensions/big_decimal_spec.rb +3 -3
  51. data/spec/mongoid/criteria/queryable/selectable_spec.rb +42 -3
  52. data/spec/mongoid/criteria/queryable/selector_spec.rb +2 -2
  53. data/spec/mongoid/criteria/scopable_spec.rb +81 -0
  54. data/spec/mongoid/criteria_spec.rb +4 -1
  55. data/spec/mongoid/document_spec.rb +54 -0
  56. data/spec/mongoid/extensions/big_decimal_spec.rb +9 -9
  57. data/spec/mongoid/extensions/regexp_spec.rb +23 -0
  58. data/spec/mongoid/extensions/string_spec.rb +35 -7
  59. data/spec/mongoid/fields_spec.rb +1 -1
  60. data/spec/mongoid/findable_spec.rb +1 -1
  61. data/spec/mongoid/matchable/nor_spec.rb +209 -0
  62. data/spec/mongoid/matchable_spec.rb +26 -1
  63. data/spec/mongoid/persistable/incrementable_spec.rb +6 -6
  64. data/spec/mongoid/persistable/settable_spec.rb +35 -1
  65. data/spec/mongoid/query_cache_spec.rb +73 -18
  66. data/spec/mongoid/relations/embedded/many_spec.rb +246 -16
  67. data/spec/mongoid/scopable_spec.rb +13 -0
  68. data/spec/mongoid/threaded_spec.rb +68 -0
  69. data/spec/rails/controller_extension/controller_runtime_spec.rb +110 -0
  70. data/spec/spec_helper.rb +9 -0
  71. data/spec/support/cluster_config.rb +158 -0
  72. data/spec/support/constraints.rb +101 -0
  73. data/spec/support/macros.rb +20 -0
  74. data/spec/support/spec_config.rb +42 -0
  75. metadata +41 -23
  76. metadata.gz.sig +0 -0
@@ -34,6 +34,10 @@ end
34
34
 
35
35
  require 'support/authorization'
36
36
  require 'support/expectations'
37
+ require 'support/macros'
38
+ require 'support/spec_config'
39
+ require 'support/cluster_config'
40
+ require 'support/constraints'
37
41
 
38
42
  # Give MongoDB time to start up on the travis ci environment.
39
43
  if (ENV['CI'] == 'travis' || ENV['CI'] == 'evergreen')
@@ -127,8 +131,13 @@ end
127
131
  I18n.config.enforce_available_locales = false
128
132
 
129
133
  RSpec.configure do |config|
134
+ config.expect_with(:rspec) do |c|
135
+ c.syntax = [:should, :expect]
136
+ end
137
+
130
138
  config.raise_errors_for_deprecations!
131
139
  config.include(Mongoid::Expectations)
140
+ config.extend(Constraints)
132
141
 
133
142
  config.before(:suite) do
134
143
  client = Mongo::Client.new(["#{HOST}:#{PORT}"])
@@ -0,0 +1,158 @@
1
+ # frozen_string_literal: true
2
+ # encoding: utf-8
3
+
4
+ require 'singleton'
5
+
6
+ class ClusterConfig
7
+ include Singleton
8
+
9
+ def single_server?
10
+ determine_cluster_config
11
+ @single_server
12
+ end
13
+
14
+ def replica_set_name
15
+ determine_cluster_config
16
+ @replica_set_name
17
+ end
18
+
19
+ def server_version
20
+ determine_cluster_config
21
+ @server_version
22
+ end
23
+
24
+ def short_server_version
25
+ server_version.split('.')[0..1].join('.')
26
+ end
27
+
28
+ def fcv
29
+ determine_cluster_config
30
+ @fcv
31
+ end
32
+
33
+ # Per https://jira.mongodb.org/browse/SERVER-39052, working with FCV
34
+ # in sharded topologies is annoying. Also, FCV doesn't exist in servers
35
+ # less than 3.4. This method returns FCV on 3.4+ servers when in single
36
+ # or RS topologies, and otherwise returns the major.minor server version.
37
+ def fcv_ish
38
+ if server_version >= '3.4' && topology != :sharded
39
+ fcv
40
+ else
41
+ if short_server_version == '4.1'
42
+ '4.2'
43
+ else
44
+ short_server_version
45
+ end
46
+ end
47
+ end
48
+
49
+ def primary_address
50
+ determine_cluster_config
51
+ @primary_address
52
+ end
53
+
54
+ def primary_address_str
55
+ determine_cluster_config
56
+ @primary_address.seed
57
+ end
58
+
59
+ def primary_address_host
60
+ both = primary_address_str
61
+ both.split(':').first
62
+ end
63
+
64
+ def primary_address_port
65
+ both = primary_address_str
66
+ both.split(':')[1] || 27017
67
+ end
68
+
69
+ def primary_description
70
+ determine_cluster_config
71
+ @primary_description
72
+ end
73
+
74
+ # Try running a command on the admin database to see if the mongod was
75
+ # started with auth.
76
+ def auth_enabled?
77
+ if @auth_enabled.nil?
78
+ @auth_enabled = begin
79
+ basic_client.use(:admin).command(getCmdLineOpts: 1).first["argv"].include?("--auth")
80
+ rescue => e
81
+ e.message =~ /(not authorized)|(unauthorized)|(no users authenticated)|(requires authentication)/
82
+ end
83
+ end
84
+ @auth_enabled
85
+ end
86
+
87
+ def topology
88
+ determine_cluster_config
89
+ @topology
90
+ end
91
+
92
+ def storage_engine
93
+ @storage_engine ||= begin
94
+ # 2.6 does not have wired tiger
95
+ if short_server_version == '2.6'
96
+ :mmapv1
97
+ else
98
+ client = ClientRegistry.instance.global_client('root_authorized')
99
+ if topology == :sharded
100
+ shards = client.use(:admin).command(listShards: 1).first
101
+ shard = shards['shards'].first
102
+ address_str = shard['host'].sub(/^.*\//, '').sub(/,.*/, '')
103
+ client = ClusterTools.instance.direct_client(address_str,
104
+ SpecConfig.instance.test_options.merge(SpecConfig.instance.auth_options).merge(connect: :direct))
105
+ end
106
+ rv = client.use(:admin).command(serverStatus: 1).first
107
+ rv = rv['storageEngine']['name']
108
+ rv_map = {
109
+ 'wiredTiger' => :wired_tiger,
110
+ 'mmapv1' => :mmapv1,
111
+ }
112
+ rv_map[rv] || rv
113
+ end
114
+ end
115
+ end
116
+
117
+ private
118
+
119
+ def determine_cluster_config
120
+ return if @primary_address
121
+
122
+ # Run all commands to figure out the cluster configuration from the same
123
+ # client. This is somewhat wasteful when running a single test, but reduces
124
+ # test runtime for the suite overall because all commands are sent on the
125
+ # same connection rather than each command connecting to the cluster by
126
+ # itself.
127
+ client = Mongoid::Clients.default
128
+
129
+ primary = client.cluster.next_primary
130
+ @primary_address = primary.address
131
+ @primary_description = primary.description
132
+ @replica_set_name = client.cluster.topology.replica_set_name
133
+
134
+ @topology ||= begin
135
+ topology = client.cluster.topology.class.name.sub(/.*::/, '')
136
+ topology = topology.gsub(/([A-Z])/) { |match| '_' + match.downcase }.sub(/^_/, '')
137
+ if topology =~ /^replica_set/
138
+ topology = 'replica_set'
139
+ end
140
+ topology.to_sym
141
+ end
142
+
143
+ @single_server = client.cluster.send(:servers_list).length == 1
144
+
145
+ @server_version = client.database.command(buildInfo: 1).first['version']
146
+
147
+ if @topology != :sharded && short_server_version >= '3.4'
148
+ rv = client.use(:admin).command(getParameter: 1, featureCompatibilityVersion: 1).first['featureCompatibilityVersion']
149
+ @fcv = rv['version'] || rv
150
+ end
151
+ end
152
+
153
+ def basic_client
154
+ # Do not cache the result here so that if the client gets closed,
155
+ # client registry reconnects it in subsequent tests
156
+ ClientRegistry.instance.global_client('basic')
157
+ end
158
+ end
@@ -0,0 +1,101 @@
1
+ module Constraints
2
+ RAILS_VERSION = ActiveSupport.version.to_s.split('.')[0..1].join('.').freeze
3
+
4
+ def min_rails_version(version)
5
+ unless version =~ /^\d+\.\d+$/
6
+ raise ArgumentError, "Version can only be major.minor: #{version}"
7
+ end
8
+
9
+ before do
10
+ if version > RAILS_VERSION
11
+ skip "Rails version #{version} or higher required, we have #{RAILS_VERSION}"
12
+ end
13
+ end
14
+ end
15
+
16
+ def max_rails_version(version)
17
+ unless version =~ /^\d+\.\d+$/
18
+ raise ArgumentError, "Version can only be major.minor: #{version}"
19
+ end
20
+
21
+ before do
22
+ if version < RAILS_VERSION
23
+ skip "Rails version #{version} or lower required, we have #{RAILS_VERSION}"
24
+ end
25
+ end
26
+ end
27
+
28
+ def min_server_version(version)
29
+ unless version =~ /^\d+\.\d+$/
30
+ raise ArgumentError, "Version can only be major.minor: #{version}"
31
+ end
32
+
33
+ before do
34
+ if version > ClusterConfig.instance.server_version
35
+ skip "Server version #{version} or higher required, we have #{ClusterConfig.instance.server_version}"
36
+ end
37
+ end
38
+ end
39
+
40
+ def max_server_version(version)
41
+ unless version =~ /^\d+\.\d+$/
42
+ raise ArgumentError, "Version can only be major.minor: #{version}"
43
+ end
44
+
45
+ before do
46
+ if version < ClusterConfig.instance.short_server_version
47
+ skip "Server version #{version} or lower required, we have #{ClusterConfig.instance.server_version}"
48
+ end
49
+ end
50
+ end
51
+
52
+ def require_topology(*topologies)
53
+ topologies = topologies.map { |t| t.to_s }
54
+ invalid_topologies = topologies - %w(single replica_set sharded)
55
+ unless invalid_topologies.empty?
56
+ raise ArgumentError, "Invalid topologies requested: #{invalid_topologies.join(', ')}"
57
+ end
58
+ before do
59
+ topology = Mongoid.default_client.cluster.topology.class.name.sub(/.*::/, '')
60
+ topology = topology.gsub(/([A-Z])/) { |match| '_' + match.downcase }.sub(/^_/, '')
61
+ if topology =~ /^replica_set/
62
+ topology = 'replica_set'
63
+ end
64
+ unless topologies.include?(topology)
65
+ skip "Topology #{topologies.join(' or ')} required, we have #{topology}"
66
+ end
67
+ end
68
+ end
69
+
70
+ def max_example_run_time(timeout)
71
+ around do |example|
72
+ TimeoutInterrupt.timeout(timeout) do
73
+ example.run
74
+ end
75
+ end
76
+ end
77
+
78
+ def require_transaction_support
79
+ min_server_version '4.0'
80
+ require_topology :replica_set
81
+ end
82
+
83
+ def require_scram_sha_256_support
84
+ before do
85
+ $mongo_server_features ||= begin
86
+ scanned_client_server!.features
87
+ end
88
+ unless $mongo_server_features.scram_sha_256_enabled?
89
+ skip "SCRAM SHA 256 is not enabled on the server"
90
+ end
91
+ end
92
+ end
93
+
94
+ def require_ssl
95
+ before do
96
+ unless SpecConfig.instance.ssl?
97
+ skip "SSL not enabled"
98
+ end
99
+ end
100
+ end
101
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mongoid
4
+ module Macros
5
+ def use_spec_mongoid_config
6
+ around do |example|
7
+ config_path = File.join(File.dirname(__FILE__), "..", "config", "mongoid.yml")
8
+
9
+ Mongoid::Clients.clear
10
+ Mongoid.load!(config_path, :test)
11
+
12
+ begin
13
+ example.run
14
+ ensure
15
+ Mongoid::Config.reset
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+ # encoding: utf-8
3
+
4
+ require 'singleton'
5
+
6
+ class SpecConfig
7
+ include Singleton
8
+
9
+ def initialize
10
+ if ENV['MONGODB_URI']
11
+ @mongodb_uri = Mongo::URI.new(ENV['MONGODB_URI'])
12
+ end
13
+ end
14
+
15
+ def addresses
16
+ if @mongodb_uri
17
+ @mongodb_uri.servers
18
+ else
19
+ ['127.0.0.1']
20
+ end
21
+ end
22
+
23
+ def mri?
24
+ !jruby?
25
+ end
26
+
27
+ def jruby?
28
+ RUBY_PLATFORM =~ /\bjava\b/
29
+ end
30
+
31
+ def platform
32
+ RUBY_PLATFORM
33
+ end
34
+
35
+ def client_debug?
36
+ %w(1 true yes).include?((ENV['CLIENT_DEBUG'] || '').downcase)
37
+ end
38
+
39
+ def ci?
40
+ !!ENV['CI']
41
+ end
42
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.4.0
4
+ version: 6.4.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Durran Jordan
@@ -10,27 +10,26 @@ bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- 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
- 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
- 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
- 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
- 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
- bAM9za6Z0fAH4g02bqM1NGnw8zJQrE/PFrFfY6IFCT2AsLfOwr1maVm7iU1+kdVI
19
- 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
- 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
- 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
- 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
- u8KAcPHm5KkCAwEAAaN9MHswCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0O
24
- 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
- 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
- KoZIhvcNAQEFBQADggEBAGe+fX9Mff6QXWee/byuCSwPDPLYE36ejrypK5nsM2nM
27
- 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
- XGVS3HiEEdF4UiWHmbejzVwYPpU7KKB5b6UzhNC6QVDp4QEGAO3eUMsPT7yXW3dU
29
- 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
- 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
- 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
30
+ Qb1lGORmf/opg45mluKUYl7pQNZHD0d3
32
31
  -----END CERTIFICATE-----
33
- date: 2018-03-12 00:00:00.000000000 Z
32
+ date: 2020-10-13 00:00:00.000000000 Z
34
33
  dependencies:
35
34
  - !ruby/object:Gem::Dependency
36
35
  name: activemodel
@@ -265,6 +264,7 @@ files:
265
264
  - lib/mongoid/matchable/lte.rb
266
265
  - lib/mongoid/matchable/ne.rb
267
266
  - lib/mongoid/matchable/nin.rb
267
+ - lib/mongoid/matchable/nor.rb
268
268
  - lib/mongoid/matchable/or.rb
269
269
  - lib/mongoid/matchable/regexp.rb
270
270
  - lib/mongoid/matchable/size.rb
@@ -287,6 +287,7 @@ files:
287
287
  - lib/mongoid/positional.rb
288
288
  - lib/mongoid/query_cache.rb
289
289
  - lib/mongoid/railtie.rb
290
+ - lib/mongoid/railties/controller_runtime.rb
290
291
  - lib/mongoid/railties/database.rake
291
292
  - lib/mongoid/relations.rb
292
293
  - lib/mongoid/relations/accessors.rb
@@ -397,6 +398,7 @@ files:
397
398
  - spec/app/models/animal.rb
398
399
  - spec/app/models/answer.rb
399
400
  - spec/app/models/appointment.rb
401
+ - spec/app/models/array_field.rb
400
402
  - spec/app/models/article.rb
401
403
  - spec/app/models/artist.rb
402
404
  - spec/app/models/artwork.rb
@@ -439,6 +441,7 @@ files:
439
441
  - spec/app/models/country_code.rb
440
442
  - spec/app/models/courier_job.rb
441
443
  - spec/app/models/definition.rb
444
+ - spec/app/models/delegating_patient.rb
442
445
  - spec/app/models/description.rb
443
446
  - spec/app/models/dictionary.rb
444
447
  - spec/app/models/division.rb
@@ -593,6 +596,7 @@ files:
593
596
  - spec/app/models/word_origin.rb
594
597
  - spec/app/models/writer.rb
595
598
  - spec/config/mongoid.yml
599
+ - spec/integration/document_spec.rb
596
600
  - spec/mongoid/atomic/modifiers_spec.rb
597
601
  - spec/mongoid/atomic/paths/embedded/many_spec.rb
598
602
  - spec/mongoid/atomic/paths/embedded/one_spec.rb
@@ -751,6 +755,7 @@ files:
751
755
  - spec/mongoid/matchable/lte_spec.rb
752
756
  - spec/mongoid/matchable/ne_spec.rb
753
757
  - spec/mongoid/matchable/nin_spec.rb
758
+ - spec/mongoid/matchable/nor_spec.rb
754
759
  - spec/mongoid/matchable/or_spec.rb
755
760
  - spec/mongoid/matchable/regexp_spec.rb
756
761
  - spec/mongoid/matchable/size_spec.rb
@@ -848,10 +853,15 @@ files:
848
853
  - spec/mongoid/validatable/uniqueness_spec.rb
849
854
  - spec/mongoid/validatable_spec.rb
850
855
  - spec/mongoid_spec.rb
856
+ - spec/rails/controller_extension/controller_runtime_spec.rb
851
857
  - spec/rails/mongoid_spec.rb
852
858
  - spec/spec_helper.rb
853
859
  - spec/support/authorization.rb
860
+ - spec/support/cluster_config.rb
861
+ - spec/support/constraints.rb
854
862
  - spec/support/expectations.rb
863
+ - spec/support/macros.rb
864
+ - spec/support/spec_config.rb
855
865
  homepage: http://mongoid.org
856
866
  licenses:
857
867
  - MIT
@@ -871,8 +881,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
871
881
  - !ruby/object:Gem::Version
872
882
  version: 1.3.6
873
883
  requirements: []
874
- rubyforge_project: mongoid
875
- rubygems_version: 2.7.3
884
+ rubygems_version: 3.0.3
876
885
  signing_key:
877
886
  specification_version: 4
878
887
  summary: Elegant Persistence in Ruby for MongoDB.
@@ -1116,6 +1125,7 @@ test_files:
1116
1125
  - spec/mongoid/validatable/length_spec.rb
1117
1126
  - spec/mongoid/document_spec.rb
1118
1127
  - spec/mongoid/matchable/regexp_spec.rb
1128
+ - spec/mongoid/matchable/nor_spec.rb
1119
1129
  - spec/mongoid/matchable/lte_spec.rb
1120
1130
  - spec/mongoid/matchable/ne_spec.rb
1121
1131
  - spec/mongoid/matchable/in_spec.rb
@@ -1193,6 +1203,7 @@ test_files:
1193
1203
  - spec/app/models/store_as_dup_test2.rb
1194
1204
  - spec/app/models/agent.rb
1195
1205
  - spec/app/models/shipment_address.rb
1206
+ - spec/app/models/array_field.rb
1196
1207
  - spec/app/models/kangaroo.rb
1197
1208
  - spec/app/models/my_hash.rb
1198
1209
  - spec/app/models/favorite.rb
@@ -1253,6 +1264,7 @@ test_files:
1253
1264
  - spec/app/models/question.rb
1254
1265
  - spec/app/models/implant.rb
1255
1266
  - spec/app/models/id_key.rb
1267
+ - spec/app/models/delegating_patient.rb
1256
1268
  - spec/app/models/palette.rb
1257
1269
  - spec/app/models/owner.rb
1258
1270
  - spec/app/models/address_component.rb
@@ -1342,7 +1354,13 @@ test_files:
1342
1354
  - spec/app/models/kaleidoscope.rb
1343
1355
  - spec/app/models/artwork.rb
1344
1356
  - spec/config/mongoid.yml
1357
+ - spec/integration/document_spec.rb
1345
1358
  - spec/mongoid_spec.rb
1359
+ - spec/support/constraints.rb
1360
+ - spec/support/macros.rb
1346
1361
  - spec/support/expectations.rb
1347
1362
  - spec/support/authorization.rb
1363
+ - spec/support/spec_config.rb
1364
+ - spec/support/cluster_config.rb
1365
+ - spec/rails/controller_extension/controller_runtime_spec.rb
1348
1366
  - spec/rails/mongoid_spec.rb