rspec-ftp 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
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