cisco_acl_intp 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -0
  3. data/.rubocop.yml +2 -2
  4. data/.travis.yml +4 -2
  5. data/Gemfile +7 -6
  6. data/README.md +23 -18
  7. data/Rakefile +11 -13
  8. data/cisco_acl_intp.gemspec +7 -7
  9. data/lib/cisco_acl_intp/acc.rb +111 -0
  10. data/lib/cisco_acl_intp/{ace.rb → ace_base.rb} +9 -8
  11. data/lib/cisco_acl_intp/{extended_ace.rb → ace_extended.rb} +8 -10
  12. data/lib/cisco_acl_intp/{standard_ace.rb → ace_standard.rb} +5 -5
  13. data/lib/cisco_acl_intp/acespec_base.rb +15 -0
  14. data/lib/cisco_acl_intp/{ace_ip.rb → acespec_ip.rb} +14 -22
  15. data/lib/cisco_acl_intp/{ace_other_qualifiers.rb → acespec_other_qualifiers.rb} +7 -7
  16. data/lib/cisco_acl_intp/{ace_port.rb → acespec_port.rb} +10 -13
  17. data/lib/cisco_acl_intp/{ace_port_opr.rb → acespec_port_opr.rb} +75 -73
  18. data/lib/cisco_acl_intp/{ace_port_opr_base.rb → acespec_port_opr_base.rb} +49 -34
  19. data/lib/cisco_acl_intp/{ace_proto.rb → acespec_proto.rb} +4 -4
  20. data/lib/cisco_acl_intp/{ace_proto_base.rb → acespec_proto_base.rb} +8 -8
  21. data/lib/cisco_acl_intp/{ace_srcdst.rb → acespec_srcdst.rb} +9 -8
  22. data/lib/cisco_acl_intp/{ace_tcp_flags.rb → acespec_tcp_flags.rb} +4 -4
  23. data/lib/cisco_acl_intp/acl.rb +1 -1
  24. data/lib/cisco_acl_intp/acl_base.rb +108 -80
  25. data/lib/cisco_acl_intp/{mono_function_acl.rb → acl_category_base.rb} +5 -5
  26. data/lib/cisco_acl_intp/acl_utils.rb +1 -1
  27. data/lib/cisco_acl_intp/parser.rb +388 -406
  28. data/lib/cisco_acl_intp/parser.ry +8 -3
  29. data/lib/cisco_acl_intp/parser_api.rb +4 -4
  30. data/lib/cisco_acl_intp/scanner.rb +8 -10
  31. data/lib/cisco_acl_intp/scanner_special_token_handler.rb +3 -3
  32. data/lib/cisco_acl_intp/version.rb +1 -1
  33. data/spec/cisco_acl_intp/{extended_ace_spec.rb → ace_extended_spec.rb} +157 -128
  34. data/spec/cisco_acl_intp/ace_spec.rb +21 -19
  35. data/spec/cisco_acl_intp/{standard_ace_spec.rb → ace_standard_spec.rb} +7 -11
  36. data/spec/cisco_acl_intp/{ace_ip_spec.rb → acespec_ip_spec.rb} +34 -34
  37. data/spec/cisco_acl_intp/{ace_other_qualifier_spec.rb → acespec_other_qualifier_spec.rb} +18 -18
  38. data/spec/cisco_acl_intp/acespec_port_operator_spec.rb +331 -0
  39. data/spec/cisco_acl_intp/{ace_port_spec.rb → acespec_port_spec.rb} +33 -33
  40. data/spec/cisco_acl_intp/{ace_proto_spec.rb → acespec_proto_spec.rb} +61 -61
  41. data/spec/cisco_acl_intp/{ace_srcdst_spec.rb → acespec_srcdst_spec.rb} +113 -54
  42. data/spec/cisco_acl_intp/{ace_tcp_flags_spec.rb → acespec_tcp_flags_spec.rb} +10 -10
  43. data/spec/cisco_acl_intp/acl_base_spec.rb +14 -12
  44. data/spec/cisco_acl_intp/{extended_acl_spec.rb → acl_extended_spec.rb} +28 -28
  45. data/spec/cisco_acl_intp/{standard_acl_spec.rb → acl_standard_spec.rb} +24 -23
  46. data/spec/cisco_acl_intp/cisco_acl_intp_spec.rb +1 -1
  47. data/spec/cisco_acl_intp/parser_spec.rb +12 -12
  48. data/spec/cisco_acl_intp/scanner_spec.rb +31 -36
  49. data/spec/parser_fullfill_patterns.rb +6 -7
  50. data/spec/spec_helper.rb +6 -6
  51. data/tools/check_acl.rb +1 -1
  52. metadata +60 -59
  53. data/lib/cisco_acl_intp/single_acl_base.rb +0 -137
  54. data/spec/cisco_acl_intp/ace_port_operator_spec.rb +0 -340
@@ -2,7 +2,7 @@
2
2
  require 'spec_helper'
3
3
 
4
4
  def get_port_table(data)
5
- data.split(/\n/).reduce({}) do |tbl, line|
5
+ data.split(/\n/).each_with_object({}) do |line, tbl|
6
6
  md = line.match(/^\s*([\w\d\-]+)\s+.+[\s\(](\d+)\)$/)
7
7
  tbl[md[1]] = md[2] if md
8
8
  tbl
@@ -30,24 +30,24 @@ describe AceUdpProtoSpec do
30
30
  describe '#name_to_numer, #to_i' do
31
31
  it 'should be "111" by converting proto name "sunrpc"' do
32
32
  aups = AceUdpProtoSpec.new('sunrpc')
33
- aups.number.should eq 111
34
- aups.to_i.should eq 111
33
+ expect(aups.number).to eq 111
34
+ expect(aups.to_i).to eq 111
35
35
  end
36
36
 
37
37
  it 'should be error by converting unknown proto name "hoge"' do
38
- lambda do
38
+ expect do
39
39
  AceUdpProtoSpec.new('hoge')
40
- end.should raise_error(AclArgumentError)
40
+ end.to raise_error(AclArgumentError)
41
41
  end
42
42
  end
43
43
 
44
44
  describe 'class#valid_name?' do
45
45
  it 'should be true when valid udp port name' do
46
- AceUdpProtoSpec.valid_name?('snmp').should be_true
46
+ expect(AceUdpProtoSpec.valid_name?('snmp')).to be_truthy
47
47
  end
48
48
 
49
49
  it 'should be false when invalid udp port name' do
50
- AceUdpProtoSpec.valid_name?('daytime').should be_false
50
+ expect(AceUdpProtoSpec.valid_name?('daytime')).to be_falsey
51
51
  end
52
52
  end
53
53
 
@@ -86,26 +86,26 @@ EOL
86
86
 
87
87
  it 'should be number string when it not match IOS acl literal' do
88
88
  aups = AceUdpProtoSpec.new(3_333)
89
- aups.to_s.should be_aclstr('3333')
89
+ expect(aups.to_s).to be_aclstr('3333')
90
90
  end
91
91
 
92
92
  it 'should be error when out of range port number' do
93
- lambda do
93
+ expect do
94
94
  AceUdpProtoSpec.new(65_536)
95
- end.should raise_error(AclArgumentError)
95
+ end.to raise_error(AclArgumentError)
96
96
 
97
- lambda do
97
+ expect do
98
98
  AceUdpProtoSpec.new(-1)
99
- end.should raise_error(AclArgumentError)
99
+ end.to raise_error(AclArgumentError)
100
100
  end
101
101
 
102
102
  it 'should be error when not specified name/number' do
103
- lambda do
103
+ expect do
104
104
  AceUdpProtoSpec.new
105
- end.should raise_error(AclArgumentError)
106
- lambda do
105
+ end.to raise_error(AclArgumentError)
106
+ expect do
107
107
  AceUdpProtoSpec.new('')
108
- end.should raise_error(AclArgumentError)
108
+ end.to raise_error(AclArgumentError)
109
109
  end
110
110
  end
111
111
  end
@@ -114,24 +114,24 @@ describe AceTcpProtoSpec do
114
114
  describe '#name_to_numer, #to_i' do
115
115
  it 'should be "49" by converting proto name "tacacs"' do
116
116
  atps = AceTcpProtoSpec.new('tacacs')
117
- atps.number.should eq 49
118
- atps.to_i.should eq 49
117
+ expect(atps.number).to eq 49
118
+ expect(atps.to_i).to eq 49
119
119
  end
120
120
 
121
121
  it 'should be error by converting unknown proto name "fuga"' do
122
- lambda do
122
+ expect do
123
123
  AceTcpProtoSpec.new('fuga')
124
- end.should raise_error(AclArgumentError)
124
+ end.to raise_error(AclArgumentError)
125
125
  end
126
126
  end
127
127
 
128
128
  describe 'class#valid_name?' do
129
129
  it 'should be true when valid tcp port name' do
130
- AceTcpProtoSpec.valid_name?('daytime').should be_true
130
+ expect(AceTcpProtoSpec.valid_name?('daytime')).to be_truthy
131
131
  end
132
132
 
133
133
  it 'should be false when invalid tcp port name' do
134
- AceTcpProtoSpec.valid_name?('snmp').should be_false
134
+ expect(AceTcpProtoSpec.valid_name?('snmp')).to be_falsey
135
135
  end
136
136
  end
137
137
 
@@ -176,26 +176,26 @@ EOL
176
176
 
177
177
  it 'should be number string when it not match IOS acl literal' do
178
178
  aups = AceTcpProtoSpec.new(6_633)
179
- aups.to_s.should be_aclstr('6633')
179
+ expect(aups.to_s).to be_aclstr('6633')
180
180
  end
181
181
 
182
182
  it 'should be error when not specified name/number' do
183
- lambda do
183
+ expect do
184
184
  AceTcpProtoSpec.new
185
- end.should raise_error(AclArgumentError)
186
- lambda do
185
+ end.to raise_error(AclArgumentError)
186
+ expect do
187
187
  AceTcpProtoSpec.new('')
188
- end.should raise_error(AclArgumentError)
188
+ end.to raise_error(AclArgumentError)
189
189
  end
190
190
 
191
191
  it 'should be error when out of range port number' do
192
- lambda do
192
+ expect do
193
193
  AceTcpProtoSpec.new(65_536)
194
- end.should raise_error(AclArgumentError)
194
+ end.to raise_error(AclArgumentError)
195
195
 
196
- lambda do
196
+ expect do
197
197
  AceTcpProtoSpec.new(-1)
198
- end.should raise_error(AclArgumentError)
198
+ end.to raise_error(AclArgumentError)
199
199
  end
200
200
  end
201
201
  end
@@ -204,24 +204,24 @@ describe AceIpProtoSpec do
204
204
  describe '#name_to_numer' do
205
205
  it 'should be "88" by converting proto name "eigrp"' do
206
206
  aips = AceIpProtoSpec.new('eigrp')
207
- aips.number.should eq 88
208
- aips.to_i.should eq 88
207
+ expect(aips.number).to eq 88
208
+ expect(aips.to_i).to eq 88
209
209
  end
210
210
 
211
211
  it 'should be error by converting unknown proto name "foo"' do
212
- lambda do
212
+ expect do
213
213
  AceIpProtoSpec.new('foo')
214
- end.should raise_error(AclArgumentError)
214
+ end.to raise_error(AclArgumentError)
215
215
  end
216
216
  end
217
217
 
218
218
  describe 'class#valid_name?' do
219
219
  it 'should be true when valid tcp port name' do
220
- AceIpProtoSpec.valid_name?('ospf').should be_true
220
+ expect(AceIpProtoSpec.valid_name?('ospf')).to be_truthy
221
221
  end
222
222
 
223
223
  it 'should be false when invalid tcp port name' do
224
- AceIpProtoSpec.valid_name?('daytime').should be_false
224
+ expect(AceIpProtoSpec.valid_name?('daytime')).to be_falsey
225
225
  end
226
226
  end
227
227
 
@@ -237,30 +237,30 @@ describe AceIpProtoSpec do
237
237
  end
238
238
 
239
239
  it 'should be true, ip includes tcp/udp' do
240
- @p_ip.contains?(@p_tcp).should be_true
241
- @p_ip.contains?(@p_udp).should be_true
242
- @p_ip.contains?(@p_ip2).should be_true
240
+ expect(@p_ip.contains?(@p_tcp)).to be_truthy
241
+ expect(@p_ip.contains?(@p_udp)).to be_truthy
242
+ expect(@p_ip.contains?(@p_ip2)).to be_truthy
243
243
  end
244
244
 
245
245
  it 'should be false, ip not includes esp' do
246
- @p_ip.contains?(@p_esp).should be_false
247
- @p_esp.contains?(@p_ip).should be_false
248
- @p_esp.contains?(@p_tcp).should be_false
249
- @p_esp.contains?(@p_udp).should be_false
246
+ expect(@p_ip.contains?(@p_esp)).to be_falsey
247
+ expect(@p_esp.contains?(@p_ip)).to be_falsey
248
+ expect(@p_esp.contains?(@p_tcp)).to be_falsey
249
+ expect(@p_esp.contains?(@p_udp)).to be_falsey
250
250
  end
251
251
 
252
252
  it 'should be true, tcp/udp includes tcp/udp' do
253
- @p_tcp.contains?(@p_tcp2).should be_true
254
- @p_udp.contains?(@p_udp2).should be_true
253
+ expect(@p_tcp.contains?(@p_tcp2)).to be_truthy
254
+ expect(@p_udp.contains?(@p_udp2)).to be_truthy
255
255
  end
256
256
 
257
257
  it 'should be false, tcp/udp not includes ip/udp/tcp' do
258
- @p_tcp.contains?(@p_ip).should be_false
259
- @p_tcp.contains?(@p_udp).should be_false
260
- @p_tcp.contains?(@p_esp).should be_false
261
- @p_udp.contains?(@p_ip).should be_false
262
- @p_udp.contains?(@p_tcp).should be_false
263
- @p_udp.contains?(@p_esp).should be_false
258
+ expect(@p_tcp.contains?(@p_ip)).to be_falsey
259
+ expect(@p_tcp.contains?(@p_udp)).to be_falsey
260
+ expect(@p_tcp.contains?(@p_esp)).to be_falsey
261
+ expect(@p_udp.contains?(@p_ip)).to be_falsey
262
+ expect(@p_udp.contains?(@p_tcp)).to be_falsey
263
+ expect(@p_udp.contains?(@p_esp)).to be_falsey
264
264
  end
265
265
  end
266
266
 
@@ -285,26 +285,26 @@ EOL
285
285
 
286
286
  it 'should be number string when it not match IOS acl literal' do
287
287
  aups = AceIpProtoSpec.new(255)
288
- aups.to_s.should be_aclstr('255')
288
+ expect(aups.to_s).to be_aclstr('255')
289
289
  end
290
290
 
291
291
  it 'should be error when out of range port number' do
292
- lambda do
292
+ expect do
293
293
  AceIpProtoSpec.new(256)
294
- end.should raise_error(AclArgumentError)
294
+ end.to raise_error(AclArgumentError)
295
295
 
296
- lambda do
296
+ expect do
297
297
  AceIpProtoSpec.new(-1)
298
- end.should raise_error(AclArgumentError)
298
+ end.to raise_error(AclArgumentError)
299
299
  end
300
300
 
301
301
  it 'should be error when not specified name/number' do
302
- lambda do
302
+ expect do
303
303
  AceIpProtoSpec.new
304
- end.should raise_error(AclArgumentError)
305
- lambda do
304
+ end.to raise_error(AclArgumentError)
305
+ expect do
306
306
  AceIpProtoSpec.new('')
307
- end.should raise_error(AclArgumentError)
307
+ end.to raise_error(AclArgumentError)
308
308
  end
309
309
  end
310
310
  end
@@ -23,15 +23,15 @@ describe AceSrcDstSpec do
23
23
  end
24
24
 
25
25
  it 'should be true when same ip/netmask/wildcard' do
26
- (@sds1 == @sds2).should be_true
26
+ expect(@sds1 == @sds2).to be_truthy
27
27
  end
28
28
 
29
29
  it 'should be false when different operator' do
30
- (@sds1 == @sds3).should be_false
30
+ expect(@sds1 == @sds3).to be_falsey
31
31
  end
32
32
 
33
33
  it 'should be false when different ip' do
34
- (@sds1 == @sds4).should be_false
34
+ expect(@sds1 == @sds4).to be_falsey
35
35
  end
36
36
  end
37
37
 
@@ -42,7 +42,7 @@ describe AceSrcDstSpec do
42
42
  ipaddr: '192.168.3.3',
43
43
  wildcard: '0.0.0.127'
44
44
  )
45
- sds.to_s.should be_aclstr('192.168.3.0 0.0.0.127')
45
+ expect(sds.to_s).to be_aclstr('192.168.3.0 0.0.0.127')
46
46
  end
47
47
 
48
48
  it 'should be "192.168.3.0 eq www" with L4 port' do
@@ -52,17 +52,17 @@ describe AceSrcDstSpec do
52
52
  operator: 'eq',
53
53
  port: AceTcpProtoSpec.new(80)
54
54
  )
55
- sds.to_s.should be_aclstr('192.168.3.0 0.0.0.127 eq www')
55
+ expect(sds.to_s).to be_aclstr('192.168.3.0 0.0.0.127 eq www')
56
56
  end
57
57
  end
58
58
 
59
59
  context 'Argument error case' do
60
60
  it 'should be raise exception when :ipaddr not specified' do
61
- lambda do
61
+ expect do
62
62
  AceSrcDstSpec.new(
63
63
  wildcard: '0.0.0.127'
64
64
  )
65
- end.should raise_error(AclArgumentError)
65
+ end.to raise_error(AclArgumentError)
66
66
  end
67
67
  ## TBD, error handling must be written in detail
68
68
  end
@@ -91,28 +91,48 @@ describe AceSrcDstSpec do
91
91
  end
92
92
 
93
93
  it 'should be true when match ip and ANY port' do
94
- @sds0.contains?(_srcdst(@ip_match, :eq, @p1_match)).should be_true
95
- @sds0.contains?(_srcdst(@ip_match, :eq, @p1_unmatch)).should be_true
94
+ expect(
95
+ @sds0.contains?(_srcdst(@ip_match, :eq, @p1_match))
96
+ ).to be_truthy
97
+ expect(
98
+ @sds0.contains?(_srcdst(@ip_match, :eq, @p1_unmatch))
99
+ ).to be_truthy
96
100
  end
97
101
 
98
102
  it 'should be false when unmatch ip and ANY port' do
99
- @sds0.contains?(_srcdst(@ip_unmatch, :eq, @p1_match)).should be_false
100
- @sds0.contains?(_srcdst(@ip_unmatch, :eq, @p1_unmatch)).should be_false
103
+ expect(
104
+ @sds0.contains?(_srcdst(@ip_unmatch, :eq, @p1_match))
105
+ ).to be_falsey
106
+ expect(
107
+ @sds0.contains?(_srcdst(@ip_unmatch, :eq, @p1_unmatch))
108
+ ).to be_falsey
101
109
  end
102
110
 
103
111
  it 'should be true when match ip and contained port set' do
104
- @sds1.contains?(_srcdst(@ip_match, :eq, @p1_lower)).should be_true
105
- @sds1.contains?(_srcdst(@ip_match, :lt, @p1_match)).should be_true
112
+ expect(
113
+ @sds1.contains?(_srcdst(@ip_match, :eq, @p1_lower))
114
+ ).to be_truthy
115
+ expect(
116
+ @sds1.contains?(_srcdst(@ip_match, :lt, @p1_match))
117
+ ).to be_truthy
106
118
  end
107
119
 
108
120
  it 'should be false when unmatch ip and contained port set' do
109
- @sds1.contains?(_srcdst(@ip_unmatch, :eq, @p1_lower)).should be_false
110
- @sds1.contains?(_srcdst(@ip_unmatch, :lt, @p1_match)).should be_false
121
+ expect(
122
+ @sds1.contains?(_srcdst(@ip_unmatch, :eq, @p1_lower))
123
+ ).to be_falsey
124
+ expect(
125
+ @sds1.contains?(_srcdst(@ip_unmatch, :lt, @p1_match))
126
+ ).to be_falsey
111
127
  end
112
128
 
113
129
  it 'should be false when match ip and not-contained port set' do
114
- @sds1.contains?(_srcdst(@ip_match, :eq, @p1_match)).should be_false
115
- @sds1.contains?(_srcdst(@ip_match, :lt, @p1_higher)).should be_false
130
+ expect(
131
+ @sds1.contains?(_srcdst(@ip_match, :eq, @p1_match))
132
+ ).to be_falsey
133
+ expect(
134
+ @sds1.contains?(_srcdst(@ip_match, :lt, @p1_higher))
135
+ ).to be_falsey
116
136
  end
117
137
  end
118
138
 
@@ -133,41 +153,49 @@ describe AceSrcDstSpec do
133
153
  end
134
154
 
135
155
  it 'should be true when contained (length)' do
136
- @sds0.contains?(_srcdst(@ip_contained1, :eq, @p1_match)).should be_true
137
- @sds1.contains?(_srcdst(@ip_contained1, :eq, @p1_match)).should be_true
156
+ expect(
157
+ @sds0.contains?(_srcdst(@ip_contained1, :eq, @p1_match))
158
+ ).to be_truthy
159
+ expect(
160
+ @sds1.contains?(_srcdst(@ip_contained1, :eq, @p1_match))
161
+ ).to be_truthy
138
162
  end
139
163
 
140
164
  it 'should be true when contained (bitmask)' do
141
- @sds0.contains?(_srcdst(@ip_contained2, :eq, @p1_match)).should be_true
142
- @sds1.contains?(_srcdst(@ip_contained2, :eq, @p1_match)).should be_true
165
+ expect(
166
+ @sds0.contains?(_srcdst(@ip_contained2, :eq, @p1_match))
167
+ ).to be_truthy
168
+ expect(
169
+ @sds1.contains?(_srcdst(@ip_contained2, :eq, @p1_match))
170
+ ).to be_truthy
143
171
  end
144
172
 
145
173
  it 'should be false when not contained (length)' do
146
- @sds0.contains?(
147
- _srcdst(@ip_not_contained1, :eq, @p1_match)
148
- ).should be_false
149
- @sds1.contains?(
150
- _srcdst(@ip_not_contained1, :eq, @p1_match)
151
- ).should be_false
174
+ expect(
175
+ @sds0.contains?(_srcdst(@ip_not_contained1, :eq, @p1_match))
176
+ ).to be_falsey
177
+ expect(
178
+ @sds1.contains?(_srcdst(@ip_not_contained1, :eq, @p1_match))
179
+ ).to be_falsey
152
180
  end
153
181
 
154
182
  it 'should be false when not contained (bitmask)' do
155
- @sds0.contains?(
156
- _srcdst(@ip_not_contained2, :eq, @p1_match)
157
- ).should be_false
158
- @sds1.contains?(
159
- _srcdst(@ip_not_contained2, :eq, @p1_match)
160
- ).should be_false
183
+ expect(
184
+ @sds0.contains?(_srcdst(@ip_not_contained2, :eq, @p1_match))
185
+ ).to be_falsey
186
+ expect(
187
+ @sds1.contains?(_srcdst(@ip_not_contained2, :eq, @p1_match))
188
+ ).to be_falsey
161
189
  end
162
190
 
163
191
  it 'should be raised error when invalid subnet notation' do
164
- lambda do
192
+ expect do
165
193
  @sds0.contains?(_srcdst(@ip_error1, :eq, @p1_match))
166
- end.should raise_error(NetAddr::ValidationError)
194
+ end.to raise_error(NetAddr::ValidationError)
167
195
 
168
- lambda do
196
+ expect do
169
197
  @sds1.contains?(_srcdst(@ip_error1, :eq, @p1_match))
170
- end.should raise_error(NetAddr::ValidationError)
198
+ end.to raise_error(NetAddr::ValidationError)
171
199
 
172
200
  # lambda do
173
201
  # @sds0.contains?(_srcdst(@ip_error2, :eq, @p1_match)).should be_false
@@ -198,16 +226,24 @@ describe AceSrcDstSpec do
198
226
  end
199
227
 
200
228
  it 'should be true, with match ip in range port' do
201
- @sds.contains?(_srcdst(@ip_match, :eq, @p_in)).should be_true
229
+ expect(
230
+ @sds.contains?(_srcdst(@ip_match, :eq, @p_in))
231
+ ).to be_truthy
202
232
  end
203
233
 
204
234
  it 'should be false, with match ip and out of range port' do
205
- @sds.contains?(_srcdst(@ip_match, :eq, @p_out_lower)).should be_false
206
- @sds.contains?(_srcdst(@ip_match, :eq, @p_out_higher)).should be_false
235
+ expect(
236
+ @sds.contains?(_srcdst(@ip_match, :eq, @p_out_lower))
237
+ ).to be_falsey
238
+ expect(
239
+ @sds.contains?(_srcdst(@ip_match, :eq, @p_out_higher))
240
+ ).to be_falsey
207
241
  end
208
242
 
209
243
  it 'should be false, with unmatch ip match in range port' do
210
- @sds.contains?(_srcdst(@ip_unmatch, :eq, @p_in)).should be_false
244
+ expect(
245
+ @sds.contains?(_srcdst(@ip_unmatch, :eq, @p_in))
246
+ ).to be_falsey
211
247
  end
212
248
  end
213
249
 
@@ -248,32 +284,55 @@ describe AceSrcDstSpec do
248
284
  end
249
285
 
250
286
  it 'should be true, for any ip' do
251
- @sds1.contains?(_srcdst(@ip_match, :eq, @p_match)).should be_true
252
- @sds1.contains?(_srcdst(@ip_unmatch, :eq, @p_match)).should be_true
287
+ expect(
288
+ @sds1.contains?(_srcdst(@ip_match, :eq, @p_match))
289
+ ).to be_truthy
290
+ expect(
291
+ @sds1.contains?(_srcdst(@ip_unmatch, :eq, @p_match))
292
+ ).to be_truthy
253
293
  end
254
294
 
255
295
  it 'should be false, for any ip with unmatch port' do
256
- @sds1.contains?(_srcdst(@ip_match, :eq, @p_unmatch)).should be_false
257
- @sds1.contains?(_srcdst(@ip_unmatch, :eq, @p_unmatch)).should be_false
296
+ expect(
297
+ @sds1.contains?(_srcdst(@ip_match, :eq, @p_unmatch))
298
+ ).to be_falsey
299
+ expect(
300
+ @sds1.contains?(_srcdst(@ip_unmatch, :eq, @p_unmatch))
301
+ ).to be_falsey
258
302
  end
259
303
 
260
304
  it 'should be true, for any port' do
261
- @sds2.contains?(_srcdst(@ip_match, :eq, @p_match)).should be_true
262
- @sds2.contains?(_srcdst(@ip_match, :eq, @p_unmatch)).should be_true
305
+ expect(
306
+ @sds2.contains?(_srcdst(@ip_match, :eq, @p_match))
307
+ ).to be_truthy
308
+ expect(
309
+ @sds2.contains?(_srcdst(@ip_match, :eq, @p_unmatch))
310
+ ).to be_truthy
263
311
  end
264
312
 
265
313
  it 'should be false, for any port with unmatch ip' do
266
- @sds2.contains?(_srcdst(@ip_unmatch, :eq, @p_match)).should be_false
267
- @sds2.contains?(_srcdst(@ip_unmatch, :eq, @p_unmatch)).should be_false
314
+ expect(
315
+ @sds2.contains?(_srcdst(@ip_unmatch, :eq, @p_match))
316
+ ).to be_falsey
317
+ expect(
318
+ @sds2.contains?(_srcdst(@ip_unmatch, :eq, @p_unmatch))
319
+ ).to be_falsey
268
320
  end
269
321
 
270
322
  it 'should be true, for any ip and any port' do
271
- @sds3.contains?(_srcdst(@ip_match, :eq, @p_match)).should be_true
272
- @sds3.contains?(_srcdst(@ip_match, :eq, @p_unmatch)).should be_true
273
- @sds3.contains?(_srcdst(@ip_unmatch, :eq, @p_match)).should be_true
274
- @sds3.contains?(_srcdst(@ip_unmatch, :eq, @p_unmatch)).should be_true
323
+ expect(
324
+ @sds3.contains?(_srcdst(@ip_match, :eq, @p_match))
325
+ ).to be_truthy
326
+ expect(
327
+ @sds3.contains?(_srcdst(@ip_match, :eq, @p_unmatch))
328
+ ).to be_truthy
329
+ expect(
330
+ @sds3.contains?(_srcdst(@ip_unmatch, :eq, @p_match))
331
+ ).to be_truthy
332
+ expect(
333
+ @sds3.contains?(_srcdst(@ip_unmatch, :eq, @p_unmatch))
334
+ ).to be_truthy
275
335
  end
276
336
  end
277
-
278
337
  end # describe contains?
279
338
  end # describe AceSrcDstSpec