=begin rdoc = Tests du serveur S4RES $Id: s4res_v1Test.rb 2 2009-03-01 11:08:26Z jmi $ usage: ruby s4res_v1Test.rb =end require './s4res_v1' require "./s4res_service" require 'test/unit' STDOUT.sync = true =begin rdoc = Classe de test du serveur S4RES =end class S4RESTest < Test::Unit::TestCase =begin rdoc Exécutée avant chaque fonction de test : - initialise des services - démarre un serveur S4RES dans un nouveau Thread =end def setup config = {:puburl => "pub"} services = [ ["/service1", S4RESService, config], ["/service2", S4RESService, config], ["/service3", S4RESService, config] ] @urlstypes = [["/service1","service"], ["/service2","service"], ["/service3","service"] ] @s4res = S4RES.new(services) @thread = Thread.start{ @s4res.start } end def test_Ecoute_Port http = Net::HTTP.new("127.0.0.1", 5555) requete = Net::HTTP::Get.new("/") http.request(requete){|reponse| assert_equal("200", reponse.code)} end def test_Structure_Page http = Net::HTTP.new("127.0.0.1", 5555) requete = Net::HTTP::Get.new("/") http.request(requete){|reponse| assert(reponse.body =~ %r|
.*S4RESService[^<]+| http = Net::HTTP.new("127.0.0.1", 5555) requete = Net::HTTP::Get.new(url) http.request(requete){|reponse| assert_match(re, reponse.body)} } # Arrêt des services @urlstypes.each {|url,type| params = "Arrêter=#{url}" http.post("/", params) re = %r|| http = Net::HTTP.new("127.0.0.1", 5555) requete = Net::HTTP::Get.new("/") http.request(requete){|reponse| assert_match(re,reponse.body)} } # Les services sont inaccessibles : C'est S4RES qui répond à url @urlstypes.each {|url,type| http = Net::HTTP.new("127.0.0.1", 5555) requete = Net::HTTP::Get.new(url) http.request(requete){|reponse| assert_match(/