about summary refs log tree commit homepage
path: root/test/test_mogilefs_integration.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_mogilefs_integration.rb')
-rw-r--r--test/test_mogilefs_integration.rb25
1 files changed, 25 insertions, 0 deletions
diff --git a/test/test_mogilefs_integration.rb b/test/test_mogilefs_integration.rb
index e42185a..610b899 100644
--- a/test/test_mogilefs_integration.rb
+++ b/test/test_mogilefs_integration.rb
@@ -121,4 +121,29 @@ class TestMogileFSIntegration < TestMogIntegration
     end
     assert_equal 4, rv
   end
+
+  def test_admin_get_devices
+    admin = MogileFS::Admin.new(:hosts => @trackers)
+    devices = admin.get_devices
+    if any_device = devices[0]
+      %w(mb_asof mb_free mb_used mb_total devid weight hostid).each do |field|
+        case value = any_device[field]
+        when nil
+        when Integer
+          assert value >= 0, "#{field}=#{value.inspect} is negative"
+        else
+          assert false, "#{field}=#{value.inspect} is #{value.class}"
+        end
+      end
+
+      field = "utilization"
+      case value = any_device[field]
+      when nil
+      when Float
+        assert value >= 0.0, "#{field}=#{value.inspect} is negative"
+      else
+        assert false, "#{field}=#{value.inspect} is #{value.class}"
+      end
+    end
+  end
 end