1 # -*- encoding: binary -*-
9 class TestMogileFS__Mysql < Test::Unit::TestCase
13 @mg = MogileFS::Mysql.new(:mysql => @my)
17 def test_refresh_device
24 :altip=>"192.168.0.1"},
30 :altip=>"192.168.0.2"},
56 assert_equal expect, @mg.refresh_device
59 def test_refresh_domain
60 expect = { 'test' => 1, 'foo' => 2 }
61 assert_equal expect, @mg.refresh_domain
65 @my.expect << [ [ 12 ] ] # fid
66 @my.expect << [ [ 1 ], [ 3 ] ] # devids
67 expect = [ "http://10.0.0.1:7600/dev1/0/000/000/0000000012.fid",
68 "http://10.0.0.3:7500/dev3/0/000/000/0000000012.fid" ]
69 assert_equal expect, @mg._get_paths(:domain => 'test', :key => 'fookey')
72 def test_get_paths_bad_device
73 @my.expect << [ [ 12 ] ] # fid
74 @my.expect << [ [ 1 ], [ 6 ] ] # devids
75 expect = [ "http://10.0.0.1:7600/dev1/0/000/000/0000000012.fid" ]
76 assert_equal expect, @mg._get_paths(:domain => 'test', :key => 'fookey')
79 def test_get_paths_bad_host
80 @my.expect << [ [ 12 ] ] # fid
81 @my.expect << [ [ 1 ], [ 5 ] ] # devids
82 expect = [ "http://10.0.0.1:7600/dev1/0/000/000/0000000012.fid" ]
83 assert_equal expect, @mg._get_paths(:domain => 'test', :key => 'fookey')
86 def test_get_paths_alt
87 @my.expect << [ [ 12 ] ] # fid
88 @my.expect << [ [ 1 ], [ 3 ] ] # devids
89 expect = [ "http://192.168.0.1:7600/dev1/0/000/000/0000000012.fid",
90 "http://10.0.0.3:7500/dev3/0/000/000/0000000012.fid"]
91 params = { :domain => 'test', :key => 'fookey', :zone => 'alt' }
92 assert_equal expect, @mg._get_paths(params)
96 expect_full = [ [ 'foo', 123, 2 ], [ 'bar', 456, 1 ] ]
97 result_full = eval(expect_full.inspect)
98 result_full.each { |x| (1..2).each { |i| x[i] = x[i].to_s } }
99 expect_keys = [ [ 'foo', 'bar' ], 'bar' ]
100 @my.expect << result_full
102 keys = @mg._list_keys('test') do |dkey,length,devcount|
103 full << [ dkey, length, devcount ]
105 assert_equal expect_keys, keys
106 assert_equal expect_full, full
109 def test_list_keys_empty
111 assert_nil @mg._list_keys('test')
115 @my.expect << [ [ '123' ] ]
116 assert_equal 123, @mg._size('test', 'foo')
118 @my.expect << [ [ '456' ] ]
119 assert_equal 456, @mg._size('test', 'foo')
123 assert_equal({}, @mg.sleep(:duration => 1))