about summary refs log tree commit homepage
path: root/test/test_sink.rb
blob: ead76ad8dc2d142afb57d5efd704d33c17a0d3ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Copyright (C) 2013-2015 all contributors <dtas-all@nongnu.org>
# License: GPL-3.0+ (https://www.gnu.org/licenses/gpl-3.0.txt)
# frozen_string_literal: true
require './test/helper'
require 'dtas/sink'
require 'yaml'

class TestSink < Testcase
  def test_serialize_reload
    sink = DTAS::Sink.new
    sink.name = "DAC"
    hash = sink.to_hsh
    assert_kind_of Hash, hash
    refute_match(%r{ruby}i, hash.to_yaml, "ruby guts exposed: #{hash}")

    s2 = DTAS::Sink.load(hash)
    assert_equal sink.to_hsh, s2.to_hsh
    assert_equal hash, s2.to_hsh
  end

  def test_name
    sink = DTAS::Sink.new
    sink.name = "dac1"
    assert_equal({"name" => "dac1"}, sink.to_hsh)
  end

  def test_inactive_load
    orig = { "active" => false }.freeze
    tmp = orig.to_yaml
    assert_equal orig, YAML.load(tmp)
  end
end