rjack-jetty 6.1.22.1-java

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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