libgfapi-ruby 0.0.4 → 0.0.5

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: 218fc8b79c32f5db3573e1714cba7376906d2328
4
- data.tar.gz: fa6b48a3b70348aa703cc68cbee7a2802ae52f92
3
+ metadata.gz: 546c1919faf9f84867e79c2cda248df96598aaf0
4
+ data.tar.gz: a188c35ef572068a72532948b06bbb337d782414
5
5
  SHA512:
6
- metadata.gz: 7804714a56eaf5364e9fb24cfd86d3f278ef92ef835b3356a60e29572d88b18d2257b37cb8387a023f27ae4cdc3135afe2991bf83d5069810c9757aaad550b90
7
- data.tar.gz: 0c31210229bc5b178e2a586507f49da15e6616eee3496ecfe2d61370aae72c60f07795052fd2e689db4b60dc21a43f5ad915c9ea3592e7a0802aaf980bae935f
6
+ metadata.gz: 054316ffefaf759aed68126ce68a873358d6a9b26eac92199193f3dc2964cbffacdb489de19cf32609a5510301a17e901facf1c40a366c941d837ba2095d1750
7
+ data.tar.gz: 81f0d3aa26bcfb9e54f5d4c5f001f0dd478f68b13dc264c59221b2120ce3f08ae49c0488323e7fc2e0cc683b5e1b8a56cac5dd35fa62f0569544adefd0e440cc
@@ -1,2 +1,25 @@
1
1
  class GlusterFS::Directory
2
+ attr_reader :volume, :path
3
+ def initialize(volume, path)
4
+ @volume = volume
5
+ @path = path
6
+ end
7
+
8
+ def create(perms = 0755)
9
+ GlusterFS.mkdir(@volume.fs, @path, perms)
10
+ end
11
+
12
+ def delete
13
+ GlusterFS.rmdir(@volume.fs, @path)
14
+ end
15
+
16
+ def lstat
17
+ data = GlusterFS::Stat.new
18
+ GlusterFS.lstat(@volume.fs, @path, data)
19
+ data
20
+ end
21
+
22
+ def exists?
23
+ lstat[:st_blocks] > 0
24
+ end
2
25
  end
@@ -49,7 +49,7 @@ class GlusterFS::File
49
49
  res
50
50
  end
51
51
 
52
- def unlink
52
+ def delete
53
53
  GlusterFS.unlink(@volume.fs, @path)
54
54
  end
55
55
 
@@ -1,3 +1,3 @@
1
1
  module GlusterFS
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
@@ -21,6 +21,5 @@ Gem::Specification.new do |spec|
21
21
  spec.add_dependency "ffi", "~> 1.9"
22
22
  spec.add_development_dependency "bundler", "~> 1.5"
23
23
  spec.add_development_dependency "rake"
24
- spec.add_development_dependency "pry-nav"
25
24
  spec.add_development_dependency "rspec"
26
25
  end
@@ -0,0 +1,89 @@
1
+ require 'spec_helper'
2
+
3
+ module GlusterFS
4
+ describe Directory do
5
+ let(:volume) { Client.mount(GFS_VOLUME, GFS_SERVER_HOST) }
6
+ let(:dir_name) { "test-#{Time.now.to_i}" }
7
+ let(:dir) { Directory.new(volume, dir_name) }
8
+
9
+ after do
10
+ dir.delete
11
+ volume.unmount
12
+ end
13
+
14
+ context '#create' do
15
+ before { dir.create }
16
+ subject { dir.exists? }
17
+ it { should be_true }
18
+ end
19
+
20
+ context '#delete' do
21
+ before do
22
+ dir.create
23
+ dir.delete
24
+ end
25
+ subject { dir.exists? }
26
+ it { should_not be_true }
27
+ end
28
+
29
+ context '#exist?' do
30
+ subject { dir.exists? }
31
+
32
+ context 'on existing dir' do
33
+ before { dir.create }
34
+ it { should be_true }
35
+ end
36
+
37
+ context 'on non-existing file' do
38
+ it { should_not be_true }
39
+ end
40
+ end
41
+
42
+ context '#lstat' do
43
+ context 'on existing dir' do
44
+ before { dir.create }
45
+ let(:lstat) { dir.lstat }
46
+ specify 'lstat response is as expected' do
47
+ lstat[:st_dev].should_not == 0
48
+ lstat[:st_ino].should_not == 0
49
+ lstat[:st_nlink].should_not == 0
50
+ lstat[:st_mode].should_not == 0
51
+ lstat[:st_uid].should == 0
52
+ lstat[:st_gid].should == 0
53
+ lstat[:st_rdev].should == 0
54
+ lstat[:st_size].should_not == 0
55
+ lstat[:st_blksize].should == 0
56
+ lstat[:st_blocks].should be > 1
57
+ lstat[:st_atime].should_not == 0
58
+ lstat[:st_mtime].should_not == 0
59
+ lstat[:st_ctime].should_not == 0
60
+ lstat[:st_atimesec].should_not == 0
61
+ lstat[:st_mtimesec].should_not == 0
62
+ lstat[:st_ctimesec].should_not == 0
63
+ end
64
+ end
65
+
66
+ context 'on non-existing dir' do
67
+ let(:lstat) { dir.lstat }
68
+ specify 'lstat response is as expected' do
69
+ lstat[:st_dev].should == 0
70
+ lstat[:st_ino].should == 0
71
+ lstat[:st_nlink].should == 0
72
+ lstat[:st_mode].should == 0
73
+ lstat[:st_uid].should == 0
74
+ lstat[:st_gid].should == 0
75
+ lstat[:st_rdev].should == 0
76
+ lstat[:st_size].should == 0
77
+ lstat[:st_blksize].should == 0
78
+ lstat[:st_blocks].should == 0
79
+ lstat[:st_atime].should == 0
80
+ lstat[:st_mtime].should == 0
81
+ lstat[:st_ctime].should == 0
82
+ lstat[:st_atimesec].should == 0
83
+ lstat[:st_mtimesec].should == 0
84
+ lstat[:st_ctimesec].should == 0
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
@@ -8,7 +8,7 @@ module GlusterFS
8
8
  let(:data) { '123' }
9
9
 
10
10
  after do
11
- file.unlink
11
+ file.delete
12
12
  volume.unmount
13
13
  end
14
14
 
@@ -39,7 +39,7 @@ module GlusterFS
39
39
  let(:data2) { '1234' }
40
40
 
41
41
  before { file.write(data) }
42
- after { file2.unlink }
42
+ after { file2.delete }
43
43
 
44
44
  subject { file2.write(data2) }
45
45
  it('returns bytes written') { should == data2.length }
@@ -71,7 +71,7 @@ module GlusterFS
71
71
 
72
72
  before { file.write_file(data) }
73
73
  after do
74
- file2.unlink
74
+ file2.delete
75
75
  data2.close
76
76
  end
77
77
 
@@ -80,24 +80,24 @@ module GlusterFS
80
80
  end
81
81
  end
82
82
 
83
- context '#unlink' do
83
+ context '#delete' do
84
84
  before do
85
85
  file.write(data)
86
- file.unlink
86
+ file.delete
87
87
  end
88
88
  subject { file.exists? }
89
89
  it('deletes the file') { should_not be_true }
90
90
  end
91
91
 
92
92
  context '#exist?' do
93
+ subject { file.exists? }
94
+
93
95
  context 'on existing file' do
94
96
  before { file.write(data) }
95
- subject { file.exists? }
96
97
  it { should be_true }
97
98
  end
98
99
 
99
100
  context 'on non-existing file' do
100
- subject { file.exists? }
101
101
  it { should_not be_true }
102
102
  end
103
103
  end
data/spec/spec_helper.rb CHANGED
@@ -1,11 +1,9 @@
1
1
  require 'rspec'
2
2
  require 'glusterfs'
3
- require 'pry'
4
- require 'pry-nav'
5
3
 
6
- GFS_SERVER_HOST = '127.0.0.1'
7
- GFS_SERVER_PORT = 24007
8
- GFS_VOLUME = 'dist-volume'
4
+ GFS_SERVER_HOST = ENV['GFS_SERVER_HOST'] || '127.0.0.1'
5
+ GFS_SERVER_PORT = (ENV['GFS_SERVER_PORT'] || 24007).to_i
6
+ GFS_VOLUME = ENV['GFS_VOLUME_NAME'] || 'dist-volume'
9
7
 
10
8
  RSpec.configure do |config|
11
9
  config.color_enabled = true
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libgfapi-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tomas Varaneckas
@@ -52,20 +52,6 @@ dependencies:
52
52
  - - '>='
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: pry-nav
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - '>='
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
55
  - !ruby/object:Gem::Dependency
70
56
  name: rspec
71
57
  requirement: !ruby/object:Gem::Requirement
@@ -103,6 +89,7 @@ files:
103
89
  - lib/glusterfs/volume.rb
104
90
  - libgfapi-ruby.gemspec
105
91
  - spec/glusterfs/client_spec.rb
92
+ - spec/glusterfs/directory_spec.rb
106
93
  - spec/glusterfs/file_spec.rb
107
94
  - spec/spec_helper.rb
108
95
  homepage: https://github.com/spajus/libgfapi-ruby
@@ -131,6 +118,7 @@ specification_version: 4
131
118
  summary: Ruby bindings for libgfapi (GlusterFS API)
132
119
  test_files:
133
120
  - spec/glusterfs/client_spec.rb
121
+ - spec/glusterfs/directory_spec.rb
134
122
  - spec/glusterfs/file_spec.rb
135
123
  - spec/spec_helper.rb
136
124
  has_rdoc: