Commit Graph

285 Commits

Author SHA1 Message Date
Olivier Lamy fe3d3f7158
fix checkstyle in test sources (#4013)
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-08-22 19:56:41 +10:00
Jan Bartel bb7fb48f08
Fix checkstyle warnings for tests. (#3846)
Signed-off-by: Jan Bartel <janb@webtide.com>
2019-07-03 16:42:20 +02:00
Greg Wilkins 9706d70484
Jetty 9.4.x reformat (#3811)
* Removing Legacy Method Separators
* Restyling branch `jetty-9.4.x`
* Applying changes highlighted by checkstyle
* Applying XML restyling
* Fixing XML codestyle for IntelliJ
* Fixing XML style mistakes
* Revert "Applying XML restyling"
* Updating checkstyle for XML codestyle
* Reformatting pom.xml files
* Fixed empty string from line wraps
* Update intellij style to not do expression relative formatting. Reformatted code based on that.
* Increasing line split on Eclipse IDE Formatter to 512
* Restoring setting on internal default value.
+ IntelliJ will not export settings on things that set to their
  internal default values.
  We want to keep those values as a hedge against future default
  value changes in future releases of IntelliJ.
* Fixing intellij codestyle
* do not allow single line simple methods
* misc checkstyle fixes
* re-exported with correct name and all values

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-06-24 17:40:30 +02:00
Joakim Erdfelt 8c0f889abd Issue #3698 - Updating javadoc on .initialize() method purpose/meaning
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-06-14 08:37:01 -05:00
Joakim Erdfelt 49ee5ac3c0 Merge branch 'jetty-9.4.x' into 'jetty-9.4.x-websocket-sci-from-embedded' 2019-06-14 08:23:42 -05:00
Joakim Erdfelt 877815e195 Issue #3708 - Adding new methods and converting codebase to use them
+ StringUtil.replace(String, char, char)
+ StringUtil.strip(String, String)
+ URIUtil.encodeSpecific(String, String)
+ URIUtil.decodeSpecific(String, String)
+ TypeUtil.toClassReference(Class)
+ TypeUtil.toClassReference(String)

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-06-12 09:56:41 -05:00
Joakim Erdfelt 986dd77e60 Issue #3698 - Applying changes from PR feedback.
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-06-06 16:44:35 -05:00
Joakim Erdfelt a6b2bd86ef Issue #3698 - Changes based on review from @sbordet
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-06-03 15:52:41 -05:00
Joakim Erdfelt 54888d2541 Issue #3698 - Reworking WebSocket SCI's to be more flexible in embedded
+ Added new SCIOnStartupListener that allows for manual wiring up
  of ServletContainerInitializers (with no bytecode scanning)
  in embedded jetty usages
+ Introduced .initialized(context) and .configure(context) to both of
  the websocket SCIs
+ Moved ClientConnectTest to jetty-websocket-tests
+ Moved WebSocketClientTest to jetty-websocket-tests
+ Made moved tests not use BlockheadServer
+ Made moved tests use new .configure(context, lambda) methods
+ Also allowing javax.websocket.server SCI implementation to
  add ContextDestroyListener during the execution of another
  ServletContextListener.

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-06-03 13:31:06 -05:00
Joakim Erdfelt 9d159318f5 Issue #3616 - Backport of SessionTracker from Jetty 10.0.x
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-05-01 10:47:08 -05:00
Joakim Erdfelt 41ab9baf8c Standardizing on hamcrest Matchers (not CoreMatchers from junit4)
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-04-30 14:39:57 -05:00
Joakim Erdfelt 160842805b Issue #3389 - Fixing testcase expectation
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-03-01 15:44:42 -05:00
Joakim Erdfelt 8dba440317 Issue #3279 - WebSocket Close Refactoring
+ FrameFlusher "close" frames are detected during
  enqueue and sets the state properly for failing
  other frames after it
+ Moving away from Blockhead(Client|Server) to using actual implementations
+ Moved tests to /jetty-websocket-tests/ to be able to use actual impl
  for both sides of testcase (client and server)
+ Corrected FrameFlusher terminate/close to not fail the close frame
  itself, but only frames that arrive AFTER the close frame.
+ Moving WebSocketCloseTest to jetty-websocket-tests to avoid
  using BlockheadClient / BlockheadServer in testing
+ Cleanup of unnecessary modifiers on interface
+ Logging error if @OnWebSocketError is undeclared
+ IOState removed
+ New ConnectionState tracks connection basics in a simpler
  method then IOState did.
+ No tracking of Remote close initiated (not needed)
+ IncomingFrames.incomingError() removed
+ Session delegates to Connection for all state changes
+ Errors can be communicated to application multiple times
+ Close is only communicated once

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-02-15 10:07:24 -05:00
Joakim Erdfelt 020a980394
Merge pull request #3155 from eclipse/jetty-9.4.x-issue-3139-npe-websocket-sci
Fixes #3139 - NPE in WebSocketContainerInitializer
2019-01-08 15:57:35 -06:00
Olivier Lamy 9b7afd8a03
Happy new year!! (#3232)
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-01-01 11:52:16 +10:00
Joakim Erdfelt a703fc626b Fixes #3139 - NPE in WebSocketContainerInitializer
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-11-27 14:42:30 -06:00
Joakim Erdfelt a3f1592c50 Issue #2431 - Upgrade to Junit 5 (#2436)
+ Changes needed for new Junit 5
+ Migrating from Vintage junit API to Jupiter junit API
+ Relies on SNAPSHOT jetty-test-helper
  - this will be a formal release once this issue has been
    resolved satisfactory
+ Have jenkins always pull latest SNAPSHOT for each build
+ Adding jetty.snapshots repository
+ Using surefire 2.22.0 per advice from junit
+ Ensuring <reuseForks>true</reuseForks> to work around issue junit-team/junit5#801
+ Disabling <forkMode>always</forkMode> in maven-surefire-plugin
  due to bug https://github.com/junit-team/junit5/issues/801
+ OSGi tests must remain at vintage due to PaxExam
+ Moving from vintage TestingDir to jupiter WorkDir
+ Fixing imports to use jupiter, not vintage
+ Migrating vintage ExpectedException to jupiter assertThrows
+ Migrating vintage TestName to jupiter TestInfo
+ Migrating @RunWith(Parameterized.class)
  to @ParameterizedTest with Argument Sources
+ Migrating assertTrue(val.contains(needle))
  to assertThat(val, containsString(needle))
+ Aligning junit versions per recommendations from @sormuras
+ Adjusting parameter order change for assertEquals()
+ Test LifeCycle Annotation Migration

junit 4      | junit 5 / jupiter
------------ | -----------
@Before      | @BeforeEach
@After       | @AfterEach
@BeforeClass | @BeforeAll
@AfterClass  | @AfterAll

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2018-09-05 10:07:17 +10:00
Joakim Erdfelt a107ac3b8a Ensure Client ContainerProvider behavior is reset properly.
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-08-10 11:14:10 -05:00
Joakim Erdfelt 9a4b780781 Issue #2767 - WebSocket Policy on JSR356 ClientContainer not represented correctly
+ Added Client unit tests for large messages
+ Re-enabled Server unit tests for large messages
+ Added more Server unit tests for large messages
+ In case of JSR356 Server with policy (and Behavior of SERVER)
  is controlling javax.websocker.server.ServerContainer
  and a user chooses to use that ServerContainer to
  connect to a remote websocket endpoint (using ServerContainer
  as a client), then the policy is delegated down to the
  Client Container with a different behavior (only).

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-08-06 15:21:22 -05:00
Joakim Erdfelt 2e5f106285 Issue #2655 - Applying changes requested from review.
+ WebSocketClient all constructors now delegate down into one
  implementation
+ NativeWebSocketServletConfiguration is now managed properly
+ WebSocketServletFactory can find Executor as bean too

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-06-20 12:59:23 -05:00
Joakim Erdfelt 870c87f2f7 Issue #2655 - Removing closed WebSocket Session's from WebSocketClient
+ Correcting Native WebSocketConfiguration impact.
+ CDI requires a customized DecoratedObjectFactory, which is bound
  later in the lifecycle, which means we cannot rely on it being
  provided directly in the constructors, but rather have to look
  for it in the ServletContext.

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-06-13 16:53:14 -05:00
Lachlan Roberts 69aaabac24 fixes to printed exception stack traces in tests
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-05-29 17:55:14 +10:00
Joakim Erdfelt a6547eaf83 Issue #2559 - Use Configurator declared in ServerEndpointConfig over @ServerEndpoint annotation
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-05-25 06:29:33 -05:00
Joakim Erdfelt bc16b6efae Issue #2559 - Use Configurator declared in ServerEndpointConfig over @ServerEndpoint annotation
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-05-22 09:44:20 -05:00
Olivier Lamy f36eba4577
class.newInstance is deprecated #2435 (#2437)
* Class.newInstance() is deprecated in Java 9+ #2435

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2018-04-17 19:07:20 +10:00
WalkerWatch 534b8ea38b Add edit warning for .mod files. Resolves #173 2018-03-15 13:23:42 -04:00
Joakim Erdfelt dd57cf0bf6 Issue #2282 - Simplifying BlockheadClient to drastically reduce CPU load during testing 2018-03-06 21:01:39 -06:00
Joakim Erdfelt 1373025dff Issue #2282 - removing EventQueue from websocket tests 2018-03-05 17:52:23 -06:00
Joakim Erdfelt 076f3a8ab2 Issue #2269 - reworking SessionTest to be more resilient 2018-03-05 14:34:23 -06:00
Lachlan Roberts a639ee9275 Resolved errorprone MissingOverride warnings #2206
`@Override` was added to methods which were missing the annotation #2206

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-01 13:59:25 +11:00
Joakim Erdfelt dc87eec9bd Fixes #2246 - Reworking await for messages to be more resilient 2018-02-26 13:33:30 -06:00
Joakim Erdfelt 21365234f8 Issue #2108 - Updating license headers for year 2018 2018-01-09 09:44:41 -06:00
Joakim Erdfelt 41ed9f29f4 Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2018-01-09 09:37:25 -06:00
Joakim Erdfelt fa4c7b0ca9 Issue #2108 - Updating license headers for year 2018 2018-01-09 08:39:37 -06:00
Joakim Erdfelt 067fc5d2d8 Issue #2108 - Upgrade licenses for 2018 2018-01-09 07:42:06 -06:00
olivier lamy 083c8045e8 more javadoc fixes #2056
Signed-off-by: olivier lamy <olamy@webtide.com>
2018-01-08 16:10:52 +11:00
Joakim Erdfelt acc7c97969 Removing @Rule LeakTrackingBufferPoolRule - bad threading behavior / false positives 2017-09-06 10:16:32 -07:00
Joakim Erdfelt 752fda19b9 Fixes #1767 - removing debug output from testing 2017-09-06 10:14:49 -07:00
Joakim Erdfelt 9f28d26cff Fixed #1766 - Fixing test case results 2017-08-23 15:58:22 -07:00
Joakim Erdfelt b0fd444a1b File EOL issue, post-hard reset 2017-08-09 14:31:06 -07:00
Joakim Erdfelt af4962f842 Issue #1605 - common executor and bufferpool for jsr356 client 2017-08-08 08:49:57 -07:00
Joakim Erdfelt 0de3673132 Issue #1605 - restoring default behavior of ContainerProvider.getWebSocketContainer()
+ Allowing users to reconfigure JettyClientContainerProvider to restore
  the Jetty 9.4.x behavior for singletons and ServerContainer behaviors
2017-08-08 08:49:57 -07:00
Joakim Erdfelt 0f98e607e8 Issue #1514 - fixing bad websocket dump output 2017-05-31 13:36:27 -07:00
Joakim Erdfelt e3bab3df22 Issue #1528 - Use WebSocketContainer out of current context
+ Interrogate ServletContext, ContextHandler, and Context
  for an active ServerContainer before returning a new ClientContainer
2017-05-19 13:50:40 -07:00
Joakim Erdfelt e001fe0355 Issue #1528 - pull preconfigured HttpClient from attributes
+ Search ServletContext attributes first
+ Search Server attributes next
2017-05-19 08:27:53 -07:00
Joakim Erdfelt 7b2a0e380d Using ThreadClassLoaderScope 2017-05-18 16:13:16 -07:00
Joakim Erdfelt 9b4bfbc680 Issue #1544 - Identifying context that JSR-356 was disabled for in configuration 2017-05-18 14:03:16 -07:00
Joakim Erdfelt c75e3c19d9 Issue #1516 - making WebSocket started thread pools have identifying names 2017-05-11 09:52:02 -07:00
Joakim Erdfelt 2679715a30 Silencing bogus JSR356 IdleTimeoutTest warning 2017-05-10 12:13:24 -07:00
Joakim Erdfelt a7b164e6b9 Fixing JSR356 Client tests 2017-05-10 07:46:56 -07:00