rspec-ftp 0.0.1 → 0.0.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7e58884046d6119bdcbe139bca48acdbaaf32a99
4
- data.tar.gz: c7487aa4b400457145bd6d7e04dabf896c2d95e9
3
+ metadata.gz: f1c9e3fd60d9999f9f2891f9b9b8a80bad22100b
4
+ data.tar.gz: 0bbd255b830ca46e6536f3f5ef6bca21c88bb42b
5
5
  SHA512:
6
- metadata.gz: a1618e7309360018b1808d122e6f87faa45622d6c8098dda1af71bae95be980b77b7a4a8afa3e2e1b110412f531fde07fcfa6f3be906ac1506c130fc86672776
7
- data.tar.gz: 9c8be2b107d0b42e834996401a392db7cf768327b01dcf17bb7fd3098e8542b01b5d1895fb35eddde7ea143ae53fd5797ca7a32ff9b67547a3365bc9fa2653c5
6
+ metadata.gz: 2cf62a60ecfe2f894252755295eb088ffa4d5ede8b476ff1f638fe7d92674ad56cdd0db8f556e8c9b0db19e6c7f8696eda4ad4101fec4ed0660cee38d5947a11
7
+ data.tar.gz: e56b627eaae39b11b3f6781d3c8a00dadcf117fb6c61f8a1011d5e492d4d615d583ecf7fd347c01af749aa868fe87f217419ec629841a28be02327b0913e2375
@@ -1,4 +1,5 @@
1
1
  require 'net/ftp'
2
+ require 'timeout'
2
3
 
3
4
  require 'pry'
4
5
  require 'rspec-ftp/be_accessible'
@@ -1,8 +1,15 @@
1
+ TIMEOUT = 3
2
+
1
3
  RSpec::Matchers.define :be_accessible do
2
4
  match do |server|
3
5
  begin
4
- @ftp = Net::FTP.new
5
- @ftp.login( server, @user, @pass )
6
+ timeout(TIMEOUT){
7
+ @ftp = Net::FTP.new( server )
8
+ @passive ||= false
9
+ @ftp.login( @user, @pass ) do |ftp|
10
+ ftp.pwd
11
+ end
12
+ }
6
13
  rescue
7
14
  false
8
15
  end
@@ -16,5 +23,13 @@ RSpec::Matchers.define :be_accessible do
16
23
  @pass = pass
17
24
  end
18
25
 
26
+ chain :active do
27
+ @passive = false
28
+ end
29
+
30
+ chain :passive do
31
+ @passive = true
32
+ end
33
+
19
34
  end
20
35
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "rspec-ftp"
7
- spec.version = "0.0.1"
7
+ spec.version = "0.0.2"
8
8
  spec.authors = ["hiroshi shimoda"]
9
9
  spec.email = ["hilolih@gmail.com"]
10
10
  spec.summary = %q{Test FTP Protocol with Rspec}
@@ -24,4 +24,5 @@ Gem::Specification.new do |spec|
24
24
  spec.add_development_dependency "pry-byebug"
25
25
  spec.add_dependency "rspec", '>= 2.9'
26
26
  spec.add_dependency "rspec-mocks"
27
+ spec.add_dependency "timeout"
27
28
  end
@@ -1,16 +1,14 @@
1
1
  require "spec_helper"
2
2
 
3
- describe "rspec-ftp" do
3
+ describe "#accessible" do
4
4
 
5
5
  before do
6
- @ftp = double("FTP")
7
- allow(Net::FTP).to receive(:new) do
8
- @ftp
9
- end
6
+ @ftp = double("FTP", :passive => nil )
7
+ allow(Net::FTP).to receive(:new) { @ftp }
10
8
  end
11
9
 
12
10
  it "can login valid user and password" do
13
- allow(@ftp).to receive(:login).and_return( true )
11
+ allow(@ftp).to receive(:login) {|ftp| true }
14
12
  expect('example.com').to be_accessible.user('user').pass('pass')
15
13
  end
16
14
 
@@ -23,4 +21,14 @@ describe "rspec-ftp" do
23
21
  allow(@ftp).to receive(:login).and_raise( "err" )
24
22
  expect('example.com').not_to be_accessible.user('hoge').pass('hoge')
25
23
  end
24
+
25
+ it "activemode" do
26
+ allow(@ftp).to receive(:login) {|ftp| true }
27
+ expect('example.com').to be_accessible.user('user').pass('pass').active
28
+ end
29
+
30
+ it "passivemode" do
31
+ allow(@ftp).to receive(:login) {|ftp| true }
32
+ expect('example.com').to be_accessible.user('user').pass('pass').passive
33
+ end
26
34
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-ftp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - hiroshi shimoda
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-20 00:00:00.000000000 Z
11
+ date: 2015-02-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -108,6 +108,20 @@ dependencies:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: timeout
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
111
125
  description: Test FTP Protocol with Rspec
112
126
  email:
113
127
  - hilolih@gmail.com