[前][次][番号順一覧][スレッド一覧]

ruby-changes:14739

From: shugo <ko1@a...>
Date: Sat, 6 Feb 2010 23:04:03 +0900 (JST)
Subject: [ruby-changes:14739] Ruby:r26598 (ruby_1_8): * test/net/imap/test_imap.rb: added a test for unexpected BYE responses.

shugo	2010-02-06 22:54:59 +0900 (Sat, 06 Feb 2010)

  New Revision: 26598

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=26598

  Log:
    * test/net/imap/test_imap.rb: added a test for unexpected BYE responses.

  Modified files:
    branches/ruby_1_8/test/net/imap/test_imap.rb

Index: ruby_1_8/test/net/imap/test_imap.rb
===================================================================
--- ruby_1_8/test/net/imap/test_imap.rb	(revision 26597)
+++ ruby_1_8/test/net/imap/test_imap.rb	(revision 26598)
@@ -2,10 +2,47 @@
 require "test/unit"
 
 class IMAPTest < Test::Unit::TestCase
+  def setup
+    @do_not_reverse_lookup = Socket.do_not_reverse_lookup
+    Socket.do_not_reverse_lookup = true
+  end
+
+  def teardown
+    Socket.do_not_reverse_lookup = @do_not_reverse_lookup
+  end
+
   def test_parse_nomodesq
     parser = Net::IMAP::ResponseParser.new
     r = parser.parse(%Q'* OK [NOMODSEQ] Sorry, modsequences have not been enabled on this mailbox\r\n')
     assert_equal("OK", r.name)
     assert_equal("NOMODSEQ", r.data.code.name)
   end
+
+  def test_unexpected_bye
+    server = TCPServer.new(0)
+    port = server.addr[1]
+    Thread.start do
+      begin
+        sock = server.accept
+        begin
+          sock.print("* OK Gimap ready for requests from 75.101.246.151 33if2752585qyk.26\r\n")
+          sock.gets
+          sock.print("* BYE System Error 33if2752585qyk.26\r\n")
+        ensure
+          sock.close
+        end
+      rescue
+      end
+    end
+    begin
+      begin
+        imap = Net::IMAP.new("localhost", port)
+        assert_raise(Net::IMAP::ByeResponseError) do
+          imap.login("user", "password")
+        end
+      end
+    ensure
+      server.close
+    end
+  end
 end

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]