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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
|
require 'test_helper'
require 'byebug'
require 'hkp'
class HkpTest < MailGpgTestCase
context "hpk client" do
{
"http://pool.sks-keyservers.net:11371" => {
host: 'pool.sks-keyservers.net',
ssl: false,
port: 11371
},
"https://hkps.pool.sks-keyservers.net" => {
host: 'hkps.pool.sks-keyservers.net',
ssl: true,
port: 443
},
"hkp://pool.sks-keyservers.net" => {
host: 'pool.sks-keyservers.net',
ssl: false,
port: 11371
},
"hkps://hkps.pool.sks-keyservers.net" => {
host: 'hkps.pool.sks-keyservers.net',
ssl: true,
port: 443
},
}.each do |url, data|
context "with server #{url}" do
context 'client setup' do
setup do
@client = Hkp::Client.new url
end
should "have correct port" do
assert_equal data[:port], @client.instance_variable_get("@port")
end
should "have correct ssl setting" do
assert_equal data[:ssl], @client.instance_variable_get("@use_ssl")
end
should "have correct host" do
assert_equal data[:host], @client.instance_variable_get("@host")
end
end
if ENV['ONLINE_TESTS']
context 'key search' do
setup do
@hkp = Hkp.new keyserver: url,
ssl_verify_mode: OpenSSL::SSL::VERIFY_NONE
end
should 'find key' do
assert result = @hkp.search('jk@jkraemer.net')
assert result.size > 0
end
should 'fetch key' do
assert result = @hkp.fetch('584C8BEE17CAC560')
assert_match 'PGP PUBLIC KEY BLOCK', result
end
end
end
end
end
end
context 'key search' do
context "without keyserver url" do
setup do
@hkp = Hkp.new
end
should "have a non-empty keyserver" do
assert url = @hkp.instance_variable_get("@keyserver")
assert !url.blank?
end
if ENV['ONLINE_TESTS']
should 'find key' do
assert result = @hkp.search('jk@jkraemer.net')
assert result.size > 0
end
end
end
end
end
|