rjack-jetty 6.1.22.1-java

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,160 @@
1
+ #!/usr/bin/env jruby
2
+ #.hashdot.profile += jruby-shortlived
3
+ #--
4
+ # Copyright (C) 2008 David Kellum
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License"); you
7
+ # may not use this file except in compliance with the License. You
8
+ # may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
15
+ # implied. See the License for the specific language governing
16
+ # permissions and limitations under the License.
17
+ #++
18
+
19
+ TEST_DIR = File.dirname(__FILE__)
20
+
21
+ $LOAD_PATH.unshift File.join( TEST_DIR, "..", "lib" )
22
+
23
+ require 'rubygems'
24
+
25
+ # Disable jetty logging if rjack-slf4j is available
26
+ begin
27
+ gem( 'rjack-slf4j', '~> 1.5' )
28
+ require 'rjack-slf4j'
29
+ require 'rjack-slf4j/nop'
30
+ rescue Gem::LoadError
31
+ end
32
+
33
+ require 'rjack-jetty'
34
+ require 'rjack-jetty/test-servlets'
35
+ require 'test/unit'
36
+ require 'net/http'
37
+
38
+ include RJack
39
+
40
+ class TestJetty < Test::Unit::TestCase
41
+
42
+ def default_factory
43
+ factory = Jetty::ServerFactory.new
44
+ factory.max_threads = 1
45
+ factory.stop_at_shutdown = false
46
+ factory
47
+ end
48
+
49
+ def test_start_stop
50
+ 10.times do
51
+ factory = default_factory
52
+ factory.static_contexts[ '/' ] = TEST_DIR
53
+ server = factory.create
54
+ server.start
55
+ assert( server.is_started )
56
+ assert( server.connectors[0].local_port > 0 )
57
+ server.stop
58
+ assert( server.is_stopped )
59
+ end
60
+ end
61
+
62
+ def test_static_context
63
+ factory = default_factory
64
+ factory.static_contexts[ '/' ] = TEST_DIR
65
+ server = factory.create
66
+ server.start
67
+ port = server.connectors[0].local_port
68
+ test_text = Net::HTTP.get( 'localhost', '/test.txt', port )
69
+ assert_equal( File.read( File.join( TEST_DIR, 'test.txt' ) ), test_text )
70
+ server.stop
71
+ end
72
+
73
+ import 'org.mortbay.jetty.handler.AbstractHandler'
74
+ class TestHandler < AbstractHandler
75
+ TEST_TEXT = 'test handler text'
76
+
77
+ def handle( target, request, response, dispatch )
78
+ response.content_type = "text/plain"
79
+ response.writer.write( TEST_TEXT )
80
+ request.handled = true
81
+ end
82
+ end
83
+
84
+ def test_custom_handler
85
+ factory = default_factory
86
+ def factory.create_pre_handlers
87
+ super << TestHandler.new
88
+ end
89
+ server = factory.create
90
+ server.start
91
+ port = server.connectors[0].local_port
92
+ assert_equal( TestHandler::TEST_TEXT,
93
+ Net::HTTP.get( 'localhost', '/whatever', port ) )
94
+ server.stop
95
+ end
96
+
97
+ import 'javax.servlet.http.HttpServlet'
98
+ class TestServlet < HttpServlet
99
+ def initialize( text )
100
+ super()
101
+ @text = text
102
+ end
103
+
104
+ def doGet( request, response )
105
+ response.content_type = "text/plain"
106
+ response.writer.write( @text )
107
+ end
108
+ end
109
+
110
+ def test_servlet_handler
111
+ factory = default_factory
112
+ factory.set_context_servlets( '/some',
113
+ { '/test' => TestServlet.new( 'resp-test' ),
114
+ '/other' => TestServlet.new( 'resp-other' ) } )
115
+
116
+ factory.set_context_servlets( '/',
117
+ { '/one' => TestServlet.new( 'resp-one' ),
118
+ '/snoop' => Jetty::TestServlets::SnoopServlet.new } )
119
+
120
+ server = factory.create
121
+ server.start
122
+ port = server.connectors[0].local_port
123
+
124
+ assert_equal( 'resp-test',
125
+ Net::HTTP.get( 'localhost', '/some/test', port ) )
126
+ assert_equal( 'resp-other',
127
+ Net::HTTP.get( 'localhost', '/some/other', port ) )
128
+ assert_equal( 'resp-one',
129
+ Net::HTTP.get( 'localhost', '/one', port ) )
130
+
131
+ response = Net::HTTP.get_response( 'localhost', '/', port )
132
+ assert( response.is_a?( Net::HTTPNotFound ) )
133
+
134
+ response = Net::HTTP.get_response( 'localhost', '/snoop', port )
135
+ assert( response.is_a?( Net::HTTPSuccess ) )
136
+
137
+ server.stop
138
+ end
139
+
140
+ def test_webapp
141
+ factory = default_factory
142
+ index_html = File.read(
143
+ File.join( Jetty::TestServlets::WEBAPP_TEST_EXPANDED, 'index.html' ) )
144
+
145
+ factory.webapp_contexts[ '/test' ] = Jetty::TestServlets::WEBAPP_TEST_WAR
146
+ factory.webapp_contexts[ '/expanded' ] = Jetty::TestServlets::WEBAPP_TEST_EXPANDED
147
+
148
+ server = factory.create
149
+ server.start
150
+ port = server.connectors[0].local_port
151
+
152
+ assert_equal( index_html, Net::HTTP.get( 'localhost', '/test/', port ) )
153
+ assert_equal( index_html, Net::HTTP.get( 'localhost', '/expanded/', port ) )
154
+
155
+ response = Net::HTTP.get_response( 'localhost', '/test/snoop/info?i=33', port )
156
+ assert( response.is_a?( Net::HTTPSuccess ) )
157
+
158
+ server.stop
159
+ end
160
+ end
@@ -0,0 +1,28 @@
1
+ <!DOCTYPE web-app PUBLIC
2
+ "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
3
+ "http://java.sun.com/dtd/web-app_2_3.dtd" >
4
+
5
+ <web-app>
6
+ <display-name>Gravitext Test Webapp</display-name>
7
+
8
+ <servlet>
9
+ <servlet-name>PerfTest</servlet-name>
10
+ <servlet-class>rjack.testservlets.PerfTestServlet</servlet-class>
11
+ </servlet>
12
+
13
+ <servlet>
14
+ <servlet-name>Snoop</servlet-name>
15
+ <servlet-class>rjack.testservlets.SnoopServlet</servlet-class>
16
+ </servlet>
17
+
18
+ <servlet-mapping>
19
+ <servlet-name>PerfTest</servlet-name>
20
+ <url-pattern>/perf</url-pattern>
21
+ </servlet-mapping>
22
+
23
+ <servlet-mapping>
24
+ <servlet-name>Snoop</servlet-name>
25
+ <url-pattern>/snoop/*</url-pattern>
26
+ </servlet-mapping>
27
+
28
+ </web-app>
@@ -0,0 +1,11 @@
1
+ <html>
2
+ <body>
3
+ <h2>RJack Jetty Gem, Test Webapp</h2>
4
+
5
+ <ul>
6
+ <li><a href="perf?size=512&amp;burn=2000&amp;count=3">PerfTestServlet</a></li>
7
+ <li><a href="snoop">SnoopServlet</a></li>
8
+ </ul>
9
+
10
+ </body>
11
+ </html>
data/webapps/test.war ADDED
Binary file
metadata ADDED
@@ -0,0 +1,113 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rjack-jetty
3
+ version: !ruby/object:Gem::Version
4
+ version: 6.1.22.1
5
+ platform: java
6
+ authors:
7
+ - David Kellum
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2010-03-06 00:00:00 -08:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rjack-logback
17
+ type: :development
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 0.9.17
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: rjack-tarpit
27
+ type: :development
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: 1.2.0
34
+ version:
35
+ description: |-
36
+ A gem packaging of the {Jetty Web Server}[http://www.mortbay.org/jetty/]
37
+ for JRuby:
38
+
39
+ * Provides jetty, jetty-util, servlet-api, and jetty-rewrite-handler
40
+ jars.
41
+ * A Jetty::ServerFactory for simple programmatic server setup in ruby.
42
+ * A set of Jetty::TestServlets containing a SnoopServlet and
43
+ PerfTestServlet (implemented in Java).
44
+ * A jetty-service bin script for easy testing from the command line.
45
+
46
+ Note that JSP support is provided separately in the companion
47
+ jetty-jsp[http://rjack.rubyforge.org/jetty-jsp/] gem.
48
+ email:
49
+ - dek-oss@gravitext.com
50
+ executables:
51
+ - rjack-jetty-service
52
+ extensions: []
53
+
54
+ extra_rdoc_files:
55
+ - Manifest.txt
56
+ - README.rdoc
57
+ - History.rdoc
58
+ files:
59
+ - Manifest.static
60
+ - Manifest.txt
61
+ - README.rdoc
62
+ - History.rdoc
63
+ - Rakefile
64
+ - pom.xml
65
+ - assembly.xml
66
+ - lib/rjack-jetty/base.rb
67
+ - lib/rjack-jetty.rb
68
+ - lib/rjack-jetty/rewrite.rb
69
+ - lib/rjack-jetty/test-servlets.rb
70
+ - bin/rjack-jetty-service
71
+ - src/main/java/rjack/testservlets/PerfTestServlet.java
72
+ - src/main/java/rjack/testservlets/SnoopServlet.java
73
+ - test/test_jetty.rb
74
+ - test/test.txt
75
+ - webapps/test/WEB-INF/web.xml
76
+ - webapps/test/index.html
77
+ - webapps/test.war
78
+ - lib/rjack-jetty/jetty-6.1.22.jar
79
+ - lib/rjack-jetty/jetty-rewrite-handler-6.1.22.jar
80
+ - lib/rjack-jetty/jetty-util-6.1.22.jar
81
+ - lib/rjack-jetty/rjack-jetty-1.0.jar
82
+ - lib/rjack-jetty/servlet-api-2.5-20081211.jar
83
+ has_rdoc: true
84
+ homepage: http://rjack.rubyforge.org
85
+ licenses: []
86
+
87
+ post_install_message:
88
+ rdoc_options:
89
+ - --main
90
+ - README.rdoc
91
+ require_paths:
92
+ - lib
93
+ required_ruby_version: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: "0"
98
+ version:
99
+ required_rubygems_version: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: "0"
104
+ version:
105
+ requirements: []
106
+
107
+ rubyforge_project: rjack
108
+ rubygems_version: 1.3.5
109
+ signing_key:
110
+ specification_version: 3
111
+ summary: "A gem packaging of the {Jetty Web Server}[http://www.mortbay.org/jetty/] for JRuby: * Provides jetty, jetty-util, servlet-api, and jetty-rewrite-handler jars"
112
+ test_files:
113
+ - test/test_jetty.rb