File: name_spec.cr

package info (click to toggle)
crystal 1.14.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 24,384 kB
  • sloc: javascript: 6,400; sh: 695; makefile: 269; ansic: 121; python: 105; cpp: 77; xml: 32
file content (26 lines) | stat: -rw-r--r-- 668 bytes parent folder | download | duplicates (2)
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
require "spec"
require "openssl"

describe "OpenSSL::X509::Name" do
  it "parse" do
    name = OpenSSL::X509::Name.parse("CN=nobody/DC=example")
    name.to_a.should eq([{"CN", "nobody"}, {"DC", "example"}])

    expect_raises(OpenSSL::Error) do
      OpenSSL::X509::Name.parse("CN=nobody/Unknown=Value")
    end
  end

  it "add_entry" do
    name = OpenSSL::X509::Name.new
    name.to_a.size.should eq(0)

    name.add_entry "CN", "Nobody"
    name.to_a.should eq([{"CN", "Nobody"}])

    name.add_entry "DC", "Example"
    name.to_a.should eq([{"CN", "Nobody"}, {"DC", "Example"}])

    expect_raises(OpenSSL::Error) { name.add_entry "UNKNOWN", "Value" }
  end
end