picky 0.9.0 → 0.9.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,186 @@
1
+ require 'spec_helper'
2
+
3
+ describe Index::Files do
4
+
5
+ before(:each) do
6
+ @files_class = Index::Files
7
+ @files = @files_class.new :some_name, :some_category, :some_type
8
+
9
+ @prepared = @files.prepared
10
+
11
+ @index = @files.index
12
+ @similarity = @files.similarity
13
+ @weights = @files.weights
14
+ end
15
+
16
+ describe 'create_directory' do
17
+ it 'should use makedirs to create the necessary directory structure' do
18
+ FileUtils.should_receive(:mkdir_p).once.with 'some/search/root/index/test/some_type'
19
+
20
+ @files.create_directory
21
+ end
22
+ end
23
+
24
+ describe 'cache_directory' do
25
+ it 'should be correct' do
26
+ @files.cache_directory.should == 'some/search/root/index/test/some_type'
27
+ end
28
+ end
29
+
30
+ describe "retrieve" do
31
+ it "delegates to the prepared" do
32
+ @prepared.should_receive(:retrieve).once.with
33
+
34
+ @files.retrieve
35
+ end
36
+ end
37
+
38
+ describe "dump indexes" do
39
+ describe "dump_index" do
40
+ it "uses the right file" do
41
+ @index.should_receive(:dump).once.with :some_hash
42
+
43
+ @files.dump_index :some_hash
44
+ end
45
+ end
46
+ describe "dump_similarity" do
47
+ it "uses the right file" do
48
+ @similarity.should_receive(:dump).once.with :some_hash
49
+
50
+ @files.dump_similarity :some_hash
51
+ end
52
+ end
53
+ describe "dump_weights" do
54
+ it "uses the right file" do
55
+ @weights.should_receive(:dump).once.with :some_hash
56
+
57
+ @files.dump_weights :some_hash
58
+ end
59
+ end
60
+ end
61
+
62
+ describe "loading indexes" do
63
+ before(:each) do
64
+ @files.stub! :timed_exclaim
65
+ end
66
+ describe "load_index" do
67
+ it "uses the right file" do
68
+ Yajl::Parser.stub! :parse
69
+
70
+ File.should_receive(:open).once.with 'some/search/root/index/test/some_type/some_name_some_category_index.json', 'r'
71
+
72
+ @files.load_index
73
+ end
74
+ end
75
+ describe "load_similarity" do
76
+ it "uses the right file" do
77
+ Marshal.stub! :load
78
+
79
+ File.should_receive(:open).once.with 'some/search/root/index/test/some_type/some_name_some_category_similarity.dump', 'r:binary'
80
+
81
+ @files.load_similarity
82
+ end
83
+ end
84
+ describe "load_weights" do
85
+ it "uses the right file" do
86
+ Yajl::Parser.stub! :parse
87
+
88
+ File.should_receive(:open).once.with 'some/search/root/index/test/some_type/some_name_some_category_weights.json', 'r'
89
+
90
+ @files.load_weights
91
+ end
92
+ end
93
+ end
94
+
95
+ describe "dump indexes" do
96
+ describe "index_cache_ok?" do
97
+ it "uses the right method" do
98
+ @index.should_receive(:cache_ok?).once.with
99
+
100
+ @files.index_cache_ok?
101
+ end
102
+ end
103
+ describe "similarity_cache_ok?" do
104
+ it "uses the right method" do
105
+ @similarity.should_receive(:cache_ok?).once.with
106
+
107
+ @files.similarity_cache_ok?
108
+ end
109
+ end
110
+ describe "weights_cache_ok?" do
111
+ it "uses the right method" do
112
+ @weights.should_receive(:cache_ok?).once.with
113
+
114
+ @files.weights_cache_ok?
115
+ end
116
+ end
117
+ end
118
+
119
+ describe "dump indexes" do
120
+ describe "index_cache_small?" do
121
+ it "uses the right method" do
122
+ @index.should_receive(:cache_small?).once.with
123
+
124
+ @files.index_cache_small?
125
+ end
126
+ end
127
+ describe "similarity_cache_small?" do
128
+ it "uses the right method" do
129
+ @similarity.should_receive(:cache_small?).once.with
130
+
131
+ @files.similarity_cache_small?
132
+ end
133
+ end
134
+ describe "weights_cache_small?" do
135
+ it "uses the right method" do
136
+ @weights.should_receive(:cache_small?).once.with
137
+
138
+ @files.weights_cache_small?
139
+ end
140
+ end
141
+ end
142
+
143
+ describe 'backup' do
144
+ it 'should call backup on all' do
145
+ @index.should_receive(:backup).once.with
146
+ @similarity.should_receive(:backup).once.with
147
+ @weights.should_receive(:backup).once.with
148
+
149
+ @files.backup
150
+ end
151
+ end
152
+ describe 'restore' do
153
+ it 'should call delete on all' do
154
+ @index.should_receive(:restore).once.with
155
+ @similarity.should_receive(:restore).once.with
156
+ @weights.should_receive(:restore).once.with
157
+
158
+ @files.restore
159
+ end
160
+ end
161
+ describe 'delete' do
162
+ it 'should call delete on all' do
163
+ @index.should_receive(:delete).once.with
164
+ @similarity.should_receive(:delete).once.with
165
+ @weights.should_receive(:delete).once.with
166
+
167
+ @files.delete
168
+ end
169
+ end
170
+
171
+ describe 'initialization' do
172
+ before(:each) do
173
+ @files = @files_class.new :some_name, :some_category, :some_type
174
+ end
175
+ it 'should initialize the name correctly' do
176
+ @files.bundle_name.should == :some_name
177
+ end
178
+ it 'should initialize the name correctly' do
179
+ @files.category_name.should == :some_category
180
+ end
181
+ it 'should initialize the name correctly' do
182
+ @files.type_name.should == :some_type
183
+ end
184
+ end
185
+
186
+ end
@@ -4,8 +4,11 @@ describe Index::Type do
4
4
 
5
5
  context "with categories" do
6
6
  before(:each) do
7
- @category1 = Index::Category.new :some_category_name1, :some_type1
8
- @category2 = Index::Category.new :some_category_name2, :some_type2
7
+ @some_type1 = stub :some_type1, :name => :some_type1
8
+ @some_type2 = stub :some_type2, :name => :some_type2
9
+
10
+ @category1 = Index::Category.new :some_category_name1, @some_type1
11
+ @category2 = Index::Category.new :some_category_name2, @some_type2
9
12
 
10
13
  @index = Index::Type.new :some_name, :some_result_type, false, @category1, @category2
11
14
  end
@@ -29,9 +29,11 @@ describe Query::Combinator do
29
29
 
30
30
  context "with real categories" do
31
31
  before(:each) do
32
- @category1 = Index::Category.new :some_name, :some_type
33
- @category2 = Index::Category.new :some_name, :some_type
34
- @category3 = Index::Category.new :some_name, :some_type
32
+ @type1 = stub :type1, :name => :some_type
33
+
34
+ @category1 = Index::Category.new :some_name, @type1
35
+ @category2 = Index::Category.new :some_name, @type1
36
+ @category3 = Index::Category.new :some_name, @type1
35
37
  @categories = [@category1, @category2, @category3]
36
38
 
37
39
  @combinator = Query::Combinator.new @categories
@@ -3,7 +3,15 @@ require 'spec_helper'
3
3
  describe Sources::Delicious do
4
4
 
5
5
  context "with file" do
6
-
6
+
7
+ describe "check_gem" do
8
+ # TODO How to actually test this?
9
+ #
10
+ it "checks if the gem is there" do
11
+ lambda { Sources::Delicious.new(:username, :password) }.should_not raise_error
12
+ end
13
+ end
14
+
7
15
  describe "harvest" do
8
16
  before(:each) do
9
17
  @source = Sources::Delicious.new(:username, :password)
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 9
8
- - 0
9
- version: 0.9.0
8
+ - 1
9
+ version: 0.9.1
10
10
  platform: ruby
11
11
  authors:
12
12
  - Florian Hanke
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-10-26 00:00:00 +02:00
17
+ date: 2010-10-27 00:00:00 +02:00
18
18
  default_executable: picky
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -75,8 +75,12 @@ files:
75
75
  - lib/picky/helpers/gc.rb
76
76
  - lib/picky/helpers/measuring.rb
77
77
  - lib/picky/index/bundle.rb
78
- - lib/picky/index/bundle_checker.rb
79
78
  - lib/picky/index/category.rb
79
+ - lib/picky/index/file/basic.rb
80
+ - lib/picky/index/file/json.rb
81
+ - lib/picky/index/file/marshal.rb
82
+ - lib/picky/index/file/text.rb
83
+ - lib/picky/index/files.rb
80
84
  - lib/picky/index/type.rb
81
85
  - lib/picky/index/wrappers/exact_first.rb
82
86
  - lib/picky/indexers/base.rb
@@ -169,10 +173,14 @@ files:
169
173
  - spec/lib/helpers/cache_spec.rb
170
174
  - spec/lib/helpers/gc_spec.rb
171
175
  - spec/lib/helpers/measuring_spec.rb
172
- - spec/lib/index/bundle_checker_spec.rb
173
176
  - spec/lib/index/bundle_partial_generation_speed_spec.rb
174
177
  - spec/lib/index/bundle_spec.rb
175
178
  - spec/lib/index/category_spec.rb
179
+ - spec/lib/index/file/basic_spec.rb
180
+ - spec/lib/index/file/json_spec.rb
181
+ - spec/lib/index/file/marshal_spec.rb
182
+ - spec/lib/index/file/text_spec.rb
183
+ - spec/lib/index/files_spec.rb
176
184
  - spec/lib/index/type_spec.rb
177
185
  - spec/lib/index/wrappers/exact_first_spec.rb
178
186
  - spec/lib/indexers/base_spec.rb
@@ -265,10 +273,14 @@ test_files:
265
273
  - spec/lib/helpers/cache_spec.rb
266
274
  - spec/lib/helpers/gc_spec.rb
267
275
  - spec/lib/helpers/measuring_spec.rb
268
- - spec/lib/index/bundle_checker_spec.rb
269
276
  - spec/lib/index/bundle_partial_generation_speed_spec.rb
270
277
  - spec/lib/index/bundle_spec.rb
271
278
  - spec/lib/index/category_spec.rb
279
+ - spec/lib/index/file/basic_spec.rb
280
+ - spec/lib/index/file/json_spec.rb
281
+ - spec/lib/index/file/marshal_spec.rb
282
+ - spec/lib/index/file/text_spec.rb
283
+ - spec/lib/index/files_spec.rb
272
284
  - spec/lib/index/type_spec.rb
273
285
  - spec/lib/index/wrappers/exact_first_spec.rb
274
286
  - spec/lib/indexers/base_spec.rb
@@ -1,58 +0,0 @@
1
- # encoding: utf-8
2
- #
3
- module Index
4
-
5
- # Checks bundle indexes.
6
- #
7
- class BundleChecker
8
-
9
- attr_reader :bundle
10
-
11
- def initialize bundle
12
- @bundle = bundle
13
- end
14
-
15
- # Check all index files and raise if necessary.
16
- #
17
- def raise_unless_cache_exists
18
- warn_cache_small :index if cache_small?(bundle.index_cache_path)
19
- # warn_cache_small :similarity if cache_small?(similarity_cache_path)
20
- warn_cache_small :weights if cache_small?(bundle.weights_cache_path)
21
-
22
- raise_cache_missing :index unless cache_ok?(bundle.index_cache_path)
23
- raise_cache_missing :similarity unless cache_ok?(bundle.similarity_cache_path)
24
- raise_cache_missing :weights unless cache_ok?(bundle.weights_cache_path)
25
- end
26
-
27
- def size_of path
28
- `ls -l #{path} | awk '{print $5}'`.to_i
29
- end
30
- # Check if the cache files are there and do not have size 0.
31
- #
32
- def caches_ok?
33
- cache_ok?(bundle.index_cache_path) &&
34
- cache_ok?(bundle.similarity_cache_path) &&
35
- cache_ok?(bundle.weights_cache_path)
36
- end
37
- # Is the cache ok? I.e. larger than four in size.
38
- #
39
- def cache_ok? path
40
- size_of(path) > 0
41
- end
42
- # Raises an appropriate error message.
43
- #
44
- def raise_cache_missing what
45
- raise "#{what} cache for #{bundle.identifier} missing."
46
- end
47
- # Is the cache small?
48
- #
49
- def cache_small? path
50
- size_of(path) < 16
51
- end
52
- def warn_cache_small what
53
- puts "#{what} cache for #{bundle.identifier} smaller than 16 bytes."
54
- end
55
-
56
- end
57
-
58
- end
@@ -1,67 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Index::BundleChecker do
4
-
5
- before(:each) do
6
- @category = stub :category, :name => :some_category
7
- @type = stub :type, :name => :some_type
8
- @partial = stub :partial
9
- @weights = stub :weights
10
- @similarity = stub :similarity
11
- @index_class = Index::Bundle
12
- @index = @index_class.new :some_name, @category, @type, @partial, @weights, @similarity
13
-
14
- @checker = @index.checker
15
- end
16
-
17
- describe 'raise_unless_cache_exists' do
18
- before(:each) do
19
- @checker.stub! :cache_small? => false
20
- end
21
- context 'weights cache missing' do
22
- before(:each) do
23
- @checker.stub! :cache_ok? => true
24
- @index.stub! :weights_cache_path => 'weights_cache_path'
25
- @checker.should_receive(:cache_ok?).any_number_of_times.with('weights_cache_path').and_return false
26
- end
27
- it 'should raise' do
28
- lambda do
29
- @checker.raise_unless_cache_exists
30
- end.should raise_error("weights cache for some_name: some_type some_category missing.")
31
- end
32
- end
33
- context 'similarity cache missing' do
34
- before(:each) do
35
- @checker.stub! :cache_ok? => true
36
- @index.stub! :similarity_cache_path => 'similarity_cache_path'
37
- @checker.should_receive(:cache_ok?).any_number_of_times.with('similarity_cache_path').and_return false
38
- end
39
- it 'should raise' do
40
- lambda do
41
- @checker.raise_unless_cache_exists
42
- end.should raise_error("similarity cache for some_name: some_type some_category missing.")
43
- end
44
- end
45
- context 'index cache missing' do
46
- before(:each) do
47
- @checker.stub! :cache_ok? => true
48
- @index.stub! :index_cache_path => 'index_cache_path'
49
- @checker.should_receive(:cache_ok?).any_number_of_times.with('index_cache_path').and_return false
50
- end
51
- it 'should raise' do
52
- lambda do
53
- @checker.raise_unless_cache_exists
54
- end.should raise_error("index cache for some_name: some_type some_category missing.")
55
- end
56
- end
57
- context 'all ok' do
58
- before(:each) do
59
- @checker.stub! :cache_ok? => true
60
- end
61
- it 'should not raise' do
62
- lambda { @checker.raise_unless_cache_exists }.should_not raise_error
63
- end
64
- end
65
- end
66
-
67
- end