From 3ecfd4f9ca778a5bcfd6e4855e8089bd82f7dc71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89dipo=20F=C3=A9derle?= Date: Mon, 10 Jun 2024 13:42:44 -0300 Subject: [PATCH] Add some testsfor config parsing --- src/test/ruby/test_config.rb | 50 ++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 src/test/ruby/test_config.rb diff --git a/src/test/ruby/test_config.rb b/src/test/ruby/test_config.rb new file mode 100644 index 00000000..94868ed8 --- /dev/null +++ b/src/test/ruby/test_config.rb @@ -0,0 +1,50 @@ +# coding: US-ASCII +require File.expand_path('test_helper', File.dirname(__FILE__)) +require "tempfile" + +class TestSSL < TestCase + def setup + super + file = Tempfile.open("openssl.cnf") + file << <<__EOD__ +HOME = . +[ ca ] +default_ca = CA_default +[ CA_default ] +dir = ./demoCA +certs = ./certs +__EOD__ + file.close + @tmpfile = file + @it = OpenSSL::Config.new(file.path) + end + + def test_s_parse + c = OpenSSL::Config.parse('') + assert_equal("[ default ]\n\n", c.to_s) + c = OpenSSL::Config.parse(@it.to_s) + assert_equal(['CA_default', 'ca', 'default'], c.sections.sort) + end + + def test_s_parse_config + ret = OpenSSL::Config.parse_config(@it.to_s) + + assert_equal(@it.sections.sort, ret.keys.sort) + assert_equal(@it["default"], ret["default"]) + end + + def test_sections + assert_equal(['CA_default', 'ca', 'default'], @it.sections.sort) + Tempfile.create("openssl.cnf") { |f| + f.write File.read(@tmpfile.path) + f.puts "[ new_section ]" + f.puts "foo = bar" + f.puts "[ empty_section ]" + f.close + + c = OpenSSL::Config.new(f.path) + assert_equal(['CA_default', 'ca', 'default', 'empty_section', 'new_section'], + c.sections.sort) + } + end +end \ No newline at end of file