require 'test/test_helper' class TestPayload < ActiveSupport::TestCase setup do FileUtils.rm_f(Dir.glob("test/sandbox/dumps/*")) end test "to_hash" do payload = NFAgent::Payload.new do |p| p.data = "data" p.checksum = "checksum" p.line_count = 10 p.chunk_expired = false end assert_equal({ 'payload' => 'data', 'checksum' => 'checksum', 'line_count' => 10, 'chunk_expired' => false }, payload.to_hash) # Check key payload = NFAgent::Payload.new do |p| p.data = "data" p.checksum = "checksum" p.line_count = 10 p.chunk_expired = false p.key = '1234' end assert_equal({ 'payload' => 'data', 'checksum' => 'checksum', 'line_count' => 10, 'chunk_expired' => false, 'key' => '1234' }, payload.to_hash) end test "write-to-disk" do payload = NFAgent::Payload.new do |p| p.data = "data" p.checksum = "checksum" p.line_count = 10 p.chunk_expired = false end payload.write_to_disk("test/sandbox/dumps") assert File.exists?("test/sandbox/dumps/checksum-0") # And read back in payload = NFAgent::Payload.read_from_file("checksum-0", "test/sandbox/dumps/") assert_equal "data", payload.data assert_equal 0, payload.attempt assert !payload.key end test "write-to-disk with non-zero attempt number" do payload = NFAgent::Payload.new do |p| p.data = "data" p.checksum = "checksum" p.line_count = 10 p.chunk_expired = false p.attempt = 10 end payload.write_to_disk("test/sandbox/dumps") assert File.exists?("test/sandbox/dumps/checksum-10") # And read back in payload = NFAgent::Payload.read_from_file("checksum-10", "test/sandbox/dumps/") assert_equal "data", payload.data assert_equal 10, payload.attempt end test "write-to-disk with key" do payload = NFAgent::Payload.new do |p| p.data = "data" p.checksum = "checksum" p.line_count = 10 p.chunk_expired = false p.key = '1234' end payload.write_to_disk("test/sandbox/dumps") assert File.exists?("test/sandbox/dumps/checksum-0-1234") # And read back in payload = NFAgent::Payload.read_from_file("checksum-0-1234", "test/sandbox/dumps/") assert_equal "data", payload.data assert_equal 0, payload.attempt assert_equal '1234', payload.key end end