summaryrefslogtreecommitdiff
path: root/test/unit/server_test.rb
blob: 5a6bd8d85b6785e768369fa32a4946e9302e8101 (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
require File.expand_path('test_helper', File.dirname(__FILE__))

class ServerTest < MiniTest::Unit::TestCase

  #
  # this test works because http requests to localhost are not stubbed, but requests to other domains are.
  #
  def test_server
    uid    = 'cloudadmin@leap.se'
    key_id = 'E818C478D3141282F7590D29D041EB11B1647490'
    stub_vindex_response(uid, :body => file_content(:leap_vindex_result))
    stub_get_response(key_id, :body => file_content(:leap_public_key))

    EM.run do
      Nickserver::Server.start
      params = {:query => {}, :path => "key/#{CGI.escape(uid)}"}
      http = EventMachine::HttpRequest.new("http://localhost:#{Nickserver::Config.port}").get(params)
      http.callback {
        assert_equal file_content(:leap_public_key), http.response
        EM.stop
        return
      }.errback {
        flunk http.error
        EM.stop
      }
    end
    flunk 'should not get here'
  end

end