metasploit-model 0.30.2 → 1.0.0.pre.rails.pre.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +4 -2
  3. data/CONTRIBUTING.md +49 -9
  4. data/Gemfile +8 -3
  5. data/lib/metasploit/model.rb +5 -0
  6. data/lib/metasploit/model/engine.rb +1 -1
  7. data/lib/metasploit/model/version.rb +14 -26
  8. data/metasploit-model.gemspec +5 -3
  9. data/spec/app/models/metasploit/model/association/reflection_spec.rb +7 -5
  10. data/spec/app/models/metasploit/model/search/group/base_spec.rb +4 -2
  11. data/spec/app/models/metasploit/model/search/group/intersection_spec.rb +4 -2
  12. data/spec/app/models/metasploit/model/search/group/union_spec.rb +4 -2
  13. data/spec/app/models/metasploit/model/search/operation/association_spec.rb +9 -7
  14. data/spec/app/models/metasploit/model/search/operation/base_spec.rb +7 -5
  15. data/spec/app/models/metasploit/model/search/operation/boolean_spec.rb +11 -14
  16. data/spec/app/models/metasploit/model/search/operation/date_spec.rb +8 -6
  17. data/spec/app/models/metasploit/model/search/operation/group/base_spec.rb +14 -12
  18. data/spec/app/models/metasploit/model/search/operation/group/intersection_spec.rb +4 -2
  19. data/spec/app/models/metasploit/model/search/operation/group/union_spec.rb +4 -2
  20. data/spec/app/models/metasploit/model/search/operation/integer_spec.rb +4 -2
  21. data/spec/app/models/metasploit/model/search/operation/null_spec.rb +6 -4
  22. data/spec/app/models/metasploit/model/search/operation/set/integer_spec.rb +4 -2
  23. data/spec/app/models/metasploit/model/search/operation/set/string_spec.rb +4 -2
  24. data/spec/app/models/metasploit/model/search/operation/set_spec.rb +6 -4
  25. data/spec/app/models/metasploit/model/search/operation/string_spec.rb +4 -2
  26. data/spec/app/models/metasploit/model/search/operator/association_spec.rb +8 -6
  27. data/spec/app/models/metasploit/model/search/operator/attribute_spec.rb +14 -12
  28. data/spec/app/models/metasploit/model/search/operator/base_spec.rb +5 -3
  29. data/spec/app/models/metasploit/model/search/operator/delegation_spec.rb +11 -13
  30. data/spec/app/models/metasploit/model/search/operator/group/base_spec.rb +7 -5
  31. data/spec/app/models/metasploit/model/search/operator/group/intersection_spec.rb +5 -3
  32. data/spec/app/models/metasploit/model/search/operator/group/union_spec.rb +5 -3
  33. data/spec/app/models/metasploit/model/search/operator/null_spec.rb +7 -5
  34. data/spec/app/models/metasploit/model/search/operator/single_spec.rb +28 -26
  35. data/spec/app/models/metasploit/model/search/query_spec.rb +50 -48
  36. data/spec/app/models/metasploit/model/visitation/visitor_spec.rb +9 -7
  37. data/spec/app/validators/ip_format_validator_spec.rb +9 -7
  38. data/spec/app/validators/nil_validator_spec.rb +5 -3
  39. data/spec/app/validators/parameters_validator_spec.rb +29 -29
  40. data/spec/app/validators/password_is_strong_validator_spec.rb +19 -17
  41. data/spec/dummy/config/application.rb +3 -1
  42. data/spec/dummy/config/environments/development.rb +0 -3
  43. data/spec/lib/metasploit/model/association/error_spec.rb +3 -1
  44. data/spec/lib/metasploit/model/association_spec.rb +10 -8
  45. data/spec/lib/metasploit/model/base_spec.rb +5 -3
  46. data/spec/lib/metasploit/model/engine_spec.rb +11 -48
  47. data/spec/lib/metasploit/model/file_spec.rb +5 -3
  48. data/spec/lib/metasploit/model/invalid_spec.rb +9 -7
  49. data/spec/lib/metasploit/model/login/status_spec.rb +3 -1
  50. data/spec/lib/metasploit/model/nilify_blanks_spec.rb +13 -11
  51. data/spec/lib/metasploit/model/realm/key_spec.rb +17 -15
  52. data/spec/lib/metasploit/model/search/association/tree_spec.rb +5 -3
  53. data/spec/lib/metasploit/model/search/association_spec.rb +4 -2
  54. data/spec/lib/metasploit/model/search/attribute_spec.rb +8 -6
  55. data/spec/lib/metasploit/model/search/operation/value/integer_spec.rb +3 -1
  56. data/spec/lib/metasploit/model/search/operation/value/string_spec.rb +3 -1
  57. data/spec/lib/metasploit/model/search/operation_spec.rb +13 -11
  58. data/spec/lib/metasploit/model/search/operator/help_spec.rb +3 -1
  59. data/spec/lib/metasploit/model/search/with_spec.rb +9 -7
  60. data/spec/lib/metasploit/model/search_spec.rb +13 -11
  61. data/spec/lib/metasploit/model/spec/error_spec.rb +4 -2
  62. data/spec/lib/metasploit/model/spec/i18n_exception_handler_spec.rb +7 -5
  63. data/spec/lib/metasploit/model/spec/pathname_collision_spec.rb +6 -4
  64. data/spec/lib/metasploit/model/spec_spec.rb +7 -9
  65. data/spec/lib/metasploit/model/translation_spec.rb +12 -10
  66. data/spec/lib/metasploit/model/version_spec.rb +139 -3
  67. data/spec/lib/metasploit/model/visitation/visit_spec.rb +26 -28
  68. data/spec/matchers/validate_nilness_of_spec.rb +2 -0
  69. data/spec/spec_helper.rb +10 -80
  70. data/spec/support/shared/contexts/metasploit/model/search/operator/union/children.rb +1 -1
  71. data/spec/support/shared/examples/metasploit/model/search/operation/value/integer.rb +8 -8
  72. data/spec/support/shared/examples/metasploit/model/search/operation/value/string.rb +5 -5
  73. data/spec/support/shared/examples/metasploit/model/search/operator/help.rb +16 -18
  74. data/spec/support/shared/examples/metasploit/model/translation.rb +4 -4
  75. data/spec/support/shared/examples/search/query.rb +3 -3
  76. data/spec/support/shared/examples/search_association.rb +2 -2
  77. data/spec/support/shared/examples/search_attribute.rb +3 -3
  78. data/spec/support/shared/examples/search_with.rb +3 -3
  79. metadata +20 -27
  80. data/CHANGELOG.md +0 -6
  81. data/RELEASING.md +0 -86
  82. data/UPGRADING.md +0 -1
  83. data/spec/lib/metasploit/model_spec.rb +0 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 60f37721241e221207091b15449175cb958c986f
4
- data.tar.gz: 3bcd0d59f452ea8fbf20cb4cad0b68ff3ffe1d69
3
+ metadata.gz: 49d17e528f023038bfa676b470ca076cddbdeea1
4
+ data.tar.gz: 2282f543d74c31809dd7a18d71db49c5183d9eb6
5
5
  SHA512:
6
- metadata.gz: a9c5cff62b39bacf185687c321400e1a8bcd25df6f66483503a90967b66d070522357908b9b5e38f3ee1b213767537c14cb915869b31b94d946789573f60a24e
7
- data.tar.gz: 53f1a31cb92c3b5f477dea709ca1802a7797b5d943583c5dbf4d2f621cd4119242c729d8c2e4e8f8f42008642bd7d8c204b0f2fd07b120f4f14977949ff2c17e
6
+ metadata.gz: 671800659174b03d7e2d3b34ed15b108ea9ef8a2a52a4b6c7fa4d3e6a759b64553ef9ed4a82f3dae3055894544ea8c7c6b35ddbd56698edb708ec9f902259824
7
+ data.tar.gz: c8eb303164a1984ef76df9a9cf6c392e76af10ba256272e1d0586f3b5820b707caab1f8b23dcf3f641aac00fee046d5808df9212445f20547f6d9b35da0acfa8
data/.rspec CHANGED
@@ -1,2 +1,4 @@
1
- --color
2
- --require spec_helper
1
+ --backtrace
2
+ --colour
3
+ --drb
4
+ --format documentation
data/CONTRIBUTING.md CHANGED
@@ -25,18 +25,19 @@ issue tracking software.
25
25
 
26
26
  ### `PRERELEASE`
27
27
 
28
- 1. Update `PRERELEASE` to match the `SUMMARY` in the branch name. If you branched from `master`, and [version.rb](lib/metasploit/model/version.rb) does not have `PRERELEASE` defined, then adding the following lines after `PATCH`:
28
+ 1. Update `PRERELEASE` to match the `SUMMARY` in the branch name. If you branched from `master`, and [version.rb](lib/metasploit/model/version.rb) does not have `PRERELEASE` defined, then adding the following lines after `PATCH`:
29
29
  ```
30
- # The prerelease version, scoped to the {MAJOR}, {MINOR}, and {PATCH} version number.
30
+ # The prerelease version, scoped to the {PATCH} version number.
31
31
  PRERELEASE = '<SUMMARY>'
32
32
  ```
33
33
  2. `rake spec`
34
34
  3. Verify the specs pass, which indicates that `PRERELEASE` was updated correctly.
35
35
  4. Commit the change `git commit -a`
36
36
 
37
+
37
38
  ### Your changes
38
39
 
39
- Make your changes or however many commits you like, committing each with `git commit`.
40
+ Make your changes or however many commits you like, commiting each with `git commit`.
40
41
 
41
42
  ### Pre-Pull Request Testing
42
43
 
@@ -45,12 +46,12 @@ Make your changes or however many commits you like, committing each with `git co
45
46
 
46
47
  ### Push
47
48
 
48
- Push your branch to your fork on github: `git push TYPE/ISSUE/SUMMARY`
49
+ Push your branch to your fork on gitub: `git push push TYPE/ISSUE/SUMMARY`
49
50
 
50
51
  ### Pull Request
51
52
 
52
53
  * [Create new Pull Request](https://github.com/rapid7/metasploit-model/compare/)
53
- * Add a Verification Steps to the description comment
54
+ * Add a Verification Steps comment
54
55
 
55
56
  ```
56
57
  # Verification Steps
@@ -61,7 +62,6 @@ Push your branch to your fork on github: `git push TYPE/ISSUE/SUMMARY`
61
62
  - [ ] `rake spec`
62
63
  - [ ] VERIFY no failures
63
64
  ```
64
-
65
65
  You should also include at least one scenario to manually check the changes outside of specs.
66
66
 
67
67
  * Add a Post-merge Steps comment
@@ -106,7 +106,7 @@ Perform these steps prior to pushing to DESTINATION or the build will be broke o
106
106
  - [ ] Change `PRERELEASE` from `SOURCE_SUMMARY` to `DESTINATION_SUMMARY` to match the branch (DESTINATION) summary (DESTINATION_SUMMARY)
107
107
 
108
108
  ## Gem build
109
- - [ ] gem build metasploit-model.gemspec
109
+ - [ ] gem build *.gemspec
110
110
  - [ ] VERIFY the prerelease suffix has change on the gem.
111
111
 
112
112
  ## RSpec
@@ -118,5 +118,45 @@ Perform these steps prior to pushing to DESTINATION or the build will be broke o
118
118
  - [ ] `git push origin DESTINATION`
119
119
  ```
120
120
 
121
- To update the [CHANGELOG.md](CHANGELOG.md) with the merged changes or release the merged code see
122
- [RELEASING.md](RELEASING.md)
121
+ * Add a 'Release Steps' comment
122
+
123
+ The 'Release Steps' are a reminder to the reviewer of the Pull Request of how to release the gem.
124
+
125
+ ```
126
+ # Release
127
+
128
+ Complete these steps on DESTINATION
129
+
130
+ ## Version
131
+
132
+ ### Compatible changes
133
+
134
+ If the change are compatible with the previous branch's API, then increment [`PATCH`](lib/metasploit/model/version.rb).
135
+
136
+ ### Incompatible changes
137
+
138
+ If your changes are incompatible with the previous branch's API, then increment
139
+ [`MINOR`](lib/metasploit/model/version.rb) and reset [`PATCH`](lib/metasploit/model/version.rb) to `0`.
140
+
141
+ - [ ] Following the rules for [semantic versioning 2.0](http://semver.org/spec/v2.0.0.html), update
142
+ [`MINOR`](lib/metasploit/model/version.rb) and [`PATCH`](lib/metasploit/model/version.rb) and commit the changes.
143
+
144
+ ## JRuby
145
+ - [ ] `rvm use jruby@metasploit-model`
146
+ - [ ] `rm Gemfile.lock`
147
+ - [ ] `bundle install`
148
+ - [ ] `rake release`
149
+
150
+ ## MRI Ruby
151
+ - [ ] `rvm use ruby-2.1@metasploit-model`
152
+ - [ ] `rm Gemfile.lock`
153
+ - [ ] `bundle install`
154
+ - [ ] `rake release`
155
+ ```
156
+
157
+ ### Downstream dependencies
158
+
159
+ When releasing new versions, the following projects may need to be updated:
160
+
161
+ * [metasploit_data_models](https://github.com/rapid7/metasploit_data_models)
162
+ * [metasploit-credential](https://github.com/rapid7/metasploit-credential)
data/Gemfile CHANGED
@@ -16,8 +16,8 @@ group :test do
16
16
  # rails is not used because activerecord should not be included, but rails would normally coordinate the versions
17
17
  # between its dependencies, which is now handled by this constraint.
18
18
  rails_version_constraint = [
19
- '>= 3.2.0',
20
- '< 4.0.0'
19
+ '>= 4.0.9',
20
+ '< 4.1.0'
21
21
  ]
22
22
 
23
23
  # Dummy app uses actionpack for ActionController, but not rails since it doesn't use activerecord.
@@ -26,7 +26,12 @@ group :test do
26
26
  gem 'coveralls', require: false
27
27
  # Engine tasks are loaded using railtie
28
28
  gem 'railties', *rails_version_constraint
29
- gem 'rspec-rails', '~> 3.1'
29
+ gem 'rspec'
30
+ # need rspec-core >= 2.14.0 because 2.14.0 introduced RSpec::Core::SharedExampleGroup::TopLevel
31
+ gem 'rspec-core', '>= 2.14.0', '< 3.0.0'
32
+ # need rspec-rails >= 2.12.0 as 2.12.0 adds support for redefining named subject in nested context that uses the
33
+ # named subject from the outer context without causing a stack overflow.
34
+ gem 'rspec-rails', '>= 2.12.0'
30
35
  # In a full rails project, factory_girl_rails would be in both the :development, and :test group, but since we only
31
36
  # want rails in :test, factory_girl_rails must also only be in :test.
32
37
  # add matchers from shoulda, such as validates_presence_of, which are useful for testing validations
@@ -1,6 +1,11 @@
1
1
  #
2
2
  # Gems
3
3
  #
4
+ # gems must load explicitly any gem declared in gemspec
5
+ # @see https://github.com/bundler/bundler/issues/2018#issuecomment-6819359
6
+ #
7
+ #
8
+
4
9
  require 'active_model'
5
10
  require 'active_support'
6
11
 
@@ -14,7 +14,7 @@ class Metasploit::Model::Engine < Rails::Engine
14
14
 
15
15
  # Remove ActiveSupport::Dependencies loading paths to save time during constant resolution and to ensure that
16
16
  # metasploit-model is properly declaring all autoloads and not falling back on ActiveSupport::Dependencies
17
- config.paths.each_value do |path|
17
+ config.paths.values.each do |path|
18
18
  path.skip_autoload!
19
19
  path.skip_autoload_once!
20
20
  path.skip_eager_load!
@@ -2,29 +2,20 @@ module Metasploit
2
2
  module Model
3
3
  # Holds components of {VERSION} as defined by {http://semver.org/spec/v2.0.0.html semantic versioning v2.0.0}.
4
4
  module Version
5
- #
6
- # CONSTANTS
7
- #
8
-
9
5
  # The major version number.
10
- MAJOR = 0
6
+ MAJOR = 1
11
7
  # The minor version number, scoped to the {MAJOR} version number.
12
- MINOR = 30
13
- # The patch version number, scoped to the {MAJOR} and {MINOR} version numbers.
14
- PATCH = 2
15
-
16
- #
17
- # Module Methods
18
- #
8
+ MINOR = 0
9
+ # The patch number, scoped to the {MINOR} version number.
10
+ PATCH = 0
11
+ # the prerelease identifier
12
+ PRERELEASE = 'rails-4.0'
19
13
 
20
- # The full version string, including the {Metasploit::Model::Version::MAJOR},
21
- # {Metasploit::Model::Version::MINOR}, {Metasploit::Model::Version::PATCH}, and optionally, the
22
- # `Metasploit::Model::Version::PRERELEASE` in the
14
+ # The full version string, including the {MAJOR}, {MINOR}, {PATCH}, and optionally, the {PRERELEASE} in the
23
15
  # {http://semver.org/spec/v2.0.0.html semantic versioning v2.0.0} format.
24
16
  #
25
- # @return [String] '{Metasploit::Model::Version::MAJOR}.{Metasploit::Model::Version::MINOR}.{Metasploit::Model::Version::PATCH}'
26
- # on master. '{Metasploit::Model::Version::MAJOR}.{Metasploit::Model::Version::MINOR}.{Metasploit::Model::Version::PATCH}-PRERELEASE'
27
- # on any branch other than master.
17
+ # @return [String] '{MAJOR}.{MINOR}.{PATCH}' on master. '{MAJOR}.{MINOR}.{PATCH}-{PRERELEASE}' on any branch
18
+ # other than master.
28
19
  def self.full
29
20
  version = "#{MAJOR}.#{MINOR}.#{PATCH}"
30
21
 
@@ -35,23 +26,20 @@ module Metasploit
35
26
  version
36
27
  end
37
28
 
38
- # The full gem version string, including the {Metasploit::Model::Version::MAJOR},
39
- # {Metasploit::Model::Version::MINOR}, {Metasploit::Model::Version::PATCH}, and optionally, the
40
- # `Metasploit::Model::Version::PRERELEASE` in the
29
+ # The full gem version string, including the {MAJOR}, {MINOR}, {PATCH}, and optionally, the {PRERELEASE} in the
41
30
  # {http://guides.rubygems.org/specification-reference/#version RubyGems versioning} format.
42
31
  #
43
- # @return [String] '{Metasploit::Model::Version::MAJOR}.{Metasploit::Model::Version::MINOR}.{Metasploit::Model::Version::PATCH}'
44
- # on master. '{Metasploit::Model::Version::MAJOR}.{Metasploit::Model::Version::MINOR}.{Metasploit::Model::Version::PATCH}.PRERELEASE'
45
- # on any branch other than master.
32
+ # @return [String] '{MAJOR}.{MINOR}.{PATCH}' on master. '{MAJOR}.{MINOR}.{PATCH}.{PRERELEASE}' on any branch
33
+ # other than master.
46
34
  def self.gem
47
35
  full.gsub('-', '.pre.')
48
36
  end
49
37
  end
50
38
 
51
- # (see Version.gem)
39
+ # @see Version.gem
52
40
  GEM_VERSION = Version.gem
53
41
 
54
- # (see Version.full)
42
+ # @see Version.full
55
43
  VERSION = Version.full
56
44
  end
57
45
  end
@@ -19,7 +19,6 @@ Gem::Specification.new do |spec|
19
19
  spec.required_ruby_version = '>= 2.1'
20
20
 
21
21
  spec.add_development_dependency 'bundler', '~> 1.3'
22
- spec.add_development_dependency 'metasploit-version', '~> 0.1.3'
23
22
  spec.add_development_dependency 'metasploit-yard', '~> 1.0'
24
23
  spec.add_development_dependency 'rake'
25
24
 
@@ -28,8 +27,11 @@ Gem::Specification.new do |spec|
28
27
  spec.add_development_dependency 'yard', '< 0.8.7.4'
29
28
 
30
29
  # Dependency loading
31
- spec.add_runtime_dependency 'activesupport'
32
- spec.add_runtime_dependency 'railties', '< 4.0.0'
30
+ rails_version_constraints = ['>= 4.0.9', '< 4.1.0']
31
+
32
+ spec.add_runtime_dependency 'activesupport', *rails_version_constraints
33
+
34
+ spec.add_runtime_dependency 'railties', *rails_version_constraints
33
35
 
34
36
  if RUBY_PLATFORM =~ /java/
35
37
  # markdown formatting for yard
@@ -1,8 +1,10 @@
1
- RSpec.describe Metasploit::Model::Association::Reflection, type: :model do
1
+ require 'spec_helper'
2
+
3
+ describe Metasploit::Model::Association::Reflection do
2
4
  context 'validations' do
3
- it { is_expected.to validate_presence_of :model }
4
- it { is_expected.to validate_presence_of :name }
5
- it { is_expected.to validate_presence_of :class_name }
5
+ it { should validate_presence_of :model }
6
+ it { should validate_presence_of :name }
7
+ it { should validate_presence_of :class_name }
6
8
  end
7
9
 
8
10
  context '#klass' do
@@ -40,7 +42,7 @@ RSpec.describe Metasploit::Model::Association::Reflection, type: :model do
40
42
  end
41
43
 
42
44
  it 'should return Class with Class#name #class_name' do
43
- expect(klass).to eq(class_name_class)
45
+ klass.should == class_name_class
44
46
  end
45
47
  end
46
48
  end
@@ -1,3 +1,5 @@
1
- RSpec.describe Metasploit::Model::Search::Group::Base, type: :model do
2
- it { is_expected.to ensure_length_of(:children).is_at_least(1) }
1
+ require 'spec_helper'
2
+
3
+ describe Metasploit::Model::Search::Group::Base do
4
+ it { should ensure_length_of(:children).is_at_least(1) }
3
5
  end
@@ -1,3 +1,5 @@
1
- RSpec.describe Metasploit::Model::Search::Group::Intersection, type: :model do
2
- it { is_expected.to be_a Metasploit::Model::Search::Group::Base }
1
+ require 'spec_helper'
2
+
3
+ describe Metasploit::Model::Search::Group::Intersection do
4
+ it { should be_a Metasploit::Model::Search::Group::Base }
3
5
  end
@@ -1,3 +1,5 @@
1
- RSpec.describe Metasploit::Model::Search::Group::Union, type: :model do
2
- it { is_expected.to be_a Metasploit::Model::Search::Group::Base }
1
+ require 'spec_helper'
2
+
3
+ describe Metasploit::Model::Search::Group::Union do
4
+ it { should be_a Metasploit::Model::Search::Group::Base }
3
5
  end
@@ -1,4 +1,6 @@
1
- RSpec.describe Metasploit::Model::Search::Operation::Association, type: :model do
1
+ require 'spec_helper'
2
+
3
+ describe Metasploit::Model::Search::Operation::Association do
2
4
  subject(:operation) {
3
5
  described_class.new(
4
6
  source_operation: source_operation
@@ -33,7 +35,7 @@ RSpec.describe Metasploit::Model::Search::Operation::Association, type: :model d
33
35
  true
34
36
  }
35
37
 
36
- it { is_expected.not_to include(invalid_error) }
38
+ it { should_not include(invalid_error) }
37
39
  end
38
40
 
39
41
  context 'without valid' do
@@ -41,7 +43,7 @@ RSpec.describe Metasploit::Model::Search::Operation::Association, type: :model d
41
43
  false
42
44
  }
43
45
 
44
- it { is_expected.to include(invalid_error) }
46
+ it { should include(invalid_error) }
45
47
  end
46
48
  end
47
49
 
@@ -54,12 +56,12 @@ RSpec.describe Metasploit::Model::Search::Operation::Association, type: :model d
54
56
  nil
55
57
  }
56
58
 
57
- it { is_expected.to include(blank_error) }
58
- it { is_expected.not_to include(invalid_error) }
59
+ it { should include(blank_error) }
60
+ it { should_not include(invalid_error) }
59
61
  end
60
62
  end
61
63
  end
62
64
 
63
- it { is_expected.not_to respond_to :value }
64
- it { is_expected.not_to respond_to :value= }
65
+ it { should_not respond_to :value }
66
+ it { should_not respond_to :value= }
65
67
  end
@@ -1,11 +1,13 @@
1
- RSpec.describe Metasploit::Model::Search::Operation::Base, type: :model do
1
+ require 'spec_helper'
2
+
3
+ describe Metasploit::Model::Search::Operation::Base do
2
4
  subject(:operation) do
3
5
  described_class.new
4
6
  end
5
7
 
6
8
  context 'validations' do
7
9
  context 'operator' do
8
- it { is_expected.to validate_presence_of(:operator) }
10
+ it { should validate_presence_of(:operator) }
9
11
 
10
12
  context 'valid' do
11
13
  let(:errors) do
@@ -38,7 +40,7 @@ RSpec.describe Metasploit::Model::Search::Operation::Base, type: :model do
38
40
  end
39
41
 
40
42
  it 'should not record error on operator' do
41
- expect(errors).not_to include(error)
43
+ errors.should_not include(error)
42
44
  end
43
45
  end
44
46
 
@@ -48,7 +50,7 @@ RSpec.describe Metasploit::Model::Search::Operation::Base, type: :model do
48
50
  end
49
51
 
50
52
  it 'should record error on operator' do
51
- expect(errors).to include(error)
53
+ errors.should include(error)
52
54
  end
53
55
  end
54
56
  end
@@ -59,7 +61,7 @@ RSpec.describe Metasploit::Model::Search::Operation::Base, type: :model do
59
61
  end
60
62
 
61
63
  it 'should not record error on operator' do
62
- expect(errors).not_to include(error)
64
+ errors.should_not include(error)
63
65
  end
64
66
  end
65
67
  end
@@ -1,24 +1,21 @@
1
- RSpec.describe Metasploit::Model::Search::Operation::Boolean, type: :model do
1
+ require 'spec_helper'
2
+
3
+ describe Metasploit::Model::Search::Operation::Boolean do
2
4
  context 'CONSTANTS' do
3
5
  context 'FORMATTED_VALUE_TO_VALUE' do
4
6
  subject(:formatted_value_to_value) do
5
7
  described_class::FORMATTED_VALUE_TO_VALUE
6
8
  end
7
9
 
8
- it "maps 'false' to false" do
9
- expect(formatted_value_to_value['false']).to eq(false)
10
- end
11
-
12
- it "maps 'true' to true" do
13
- expect(formatted_value_to_value['true']).to eq(true)
14
- end
10
+ its(['false']) { should be_false }
11
+ its(['true']) { should be_true }
15
12
  end
16
13
  end
17
14
 
18
15
  context 'validations' do
19
- it { is_expected.to allow_value(false).for(:value) }
20
- it { is_expected.to allow_value(true).for(:value) }
21
- it { is_expected.not_to allow_value(nil).for(:value) }
16
+ it { should allow_value(false).for(:value) }
17
+ it { should allow_value(true).for(:value) }
18
+ it { should_not allow_value(nil).for(:value) }
22
19
  end
23
20
 
24
21
  context '#value' do
@@ -35,7 +32,7 @@ RSpec.describe Metasploit::Model::Search::Operation::Boolean, type: :model do
35
32
  'false'
36
33
  end
37
34
 
38
- it { is_expected.to eq(false) }
35
+ it { should be_false }
39
36
  end
40
37
 
41
38
  context "with 'true'" do
@@ -43,7 +40,7 @@ RSpec.describe Metasploit::Model::Search::Operation::Boolean, type: :model do
43
40
  'true'
44
41
  end
45
42
 
46
- it { is_expected.to eq(true) }
43
+ it { should be_true }
47
44
  end
48
45
 
49
46
  context 'with other' do
@@ -52,7 +49,7 @@ RSpec.describe Metasploit::Model::Search::Operation::Boolean, type: :model do
52
49
  end
53
50
 
54
51
  it 'should return value unparsed' do
55
- expect(value).to eq(formatted_value)
52
+ value.should == formatted_value
56
53
  end
57
54
  end
58
55
  end