client: small speedup for list_keys_verbose
[ruby-mogilefs-client.git] / test / test_mogilefs_integration_list_keys.rb
blob1de6cda69d899e264928b5a35d8e71fc87667848
2 # -*- encoding: binary -*-
3 require './test/integration'
5 class TestMogileFSIntegrationListKeys < TestMogIntegration
6   def setup
7     super
8     @client = MogileFS::MogileFS.new(:hosts => @trackers, :domain => @domain)
9   end
11   def test_list_keys
12     k = %w(a b c d e f g)
13     k.each { |x| @client.store_content("lk_#{x}", nil, x) }
14     expect = k.map { |x| "lk_#{x}" }
15     rv = @client.list_keys
16     assert_equal([ expect, expect.last ] , rv)
17     nr = 0
18     @client.list_keys do |key, length, devcount|
19       assert_equal 1, length
20       assert_kind_of Integer, devcount
21       assert_equal expect[nr], key
22       nr += 1
23     end
24   end
26   def test_list_keys_strange
27     @client.store_content("hello+world", nil, "HI")
28     rv = @client.list_keys
29     assert_equal "hello+world", rv[0][0]
30   end
32   def test_each_key
33     9.times { |i| @client.store_content("ek_#{i}", nil, i.to_s) }
34     n = 0
35     @client.each_key do |key|
36       assert_equal "ek_#{n.to_s}", key
37       n += 1
38     end
39     assert_equal 9, n
40   end
42   def test_each_file_info
43     9.times { |i| @client.store_content("ek_#{i}", nil, i.to_s) }
44     n = 0
45     @client.each_file_info do |info|
46       assert_equal @client.domain, info["domain"]
47       assert_equal n.to_s.size, info["length"]
48       assert_kind_of Integer, info["fid"]
49       assert_kind_of Integer, info["devcount"]
50       assert_equal "default", info["class"]
51       assert_equal "ek_#{n}", info["key"]
52       n += 1
53     end
54     assert_equal 9, n
55   end
56 end