File tree 1 file changed +21
-10
lines changed
1 file changed +21
-10
lines changed Original file line number Diff line number Diff line change @@ -8,19 +8,30 @@ module RestAssured::Utils
8
8
expect { Net ::HTTP . get ( '127.0.0.1' , '/' , free_port ) } . to raise_error ( Errno ::ECONNREFUSED )
9
9
end
10
10
11
- it 'knows if port is in use' do
12
- port = PortExplorer . free_port
11
+ context 'port is taken' do
12
+ let ( :port ) { PortExplorer . free_port }
13
+ server = nil
13
14
14
- Thread . new do
15
- TCPServer . open ( '127.0.0.1' , port ) do |serv |
16
- s = serv . accept
17
- s . puts 'Hello from test'
18
- sleep 0.5
19
- s . close
20
- end
15
+ before :each do
16
+ server = TCPServer . new port
17
+ end
18
+
19
+ after :each do
20
+ server . close
21
21
end
22
22
23
- expect ( PortExplorer . port_free? ( port ) ) . to eq ( false )
23
+ it 'knows if port is in use' do
24
+ Thread . new do
25
+ loop do
26
+ Thread . start ( server . accept ) do |client |
27
+ client . puts "Hello!"
28
+ client . close
29
+ end
30
+ end
31
+ end
32
+
33
+ expect ( PortExplorer . port_free? ( port ) ) . to eq ( false )
34
+ end
24
35
end
25
36
26
37
it 'knows that port is free' do
You can’t perform that action at this time.
0 commit comments