X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/43773cb247a1fb744b57070b715bfa5d53a00822..ce4e75d03a38fc7e4a644a08e3c6044e3a7df390:/services/api/test/unit/node_test.rb diff --git a/services/api/test/unit/node_test.rb b/services/api/test/unit/node_test.rb index ccc3765dd9..37e95db0e1 100644 --- a/services/api/test/unit/node_test.rb +++ b/services/api/test/unit/node_test.rb @@ -1,7 +1,29 @@ require 'test_helper' class NodeTest < ActiveSupport::TestCase - # test "the truth" do - # assert true - # end + def ping_node(node_name, ping_data) + set_user_from_auth :admin + node = nodes(node_name) + node.ping({ping_secret: node.info['ping_secret'], + ip: node.ip_address}.merge(ping_data)) + node + end + + test "pinging a node can add and update stats" do + node = ping_node(:idle, {total_cpu_cores: '12', total_ram_mb: '512'}) + assert_equal(12, node.properties['total_cpu_cores']) + assert_equal(512, node.properties['total_ram_mb']) + end + + test "stats disappear if not in a ping" do + node = ping_node(:idle, {total_ram_mb: '256'}) + refute_includes(node.properties, 'total_cpu_cores') + assert_equal(256, node.properties['total_ram_mb']) + end + + test "worker state is down for node with no slot" do + node = nodes(:was_idle_now_down) + assert_nil node.slot_number, "fixture is not what I expected" + assert_equal 'down', node.crunch_worker_state, "wrong worker state" + end end