- 15 8月, 2015 4 次提交
-
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
Prior to this commit, the exists() method in JsonPathExpectationsHelper correctly asserted that the evaluated JsonPath expression resulted in a value (i.e., that a non-null value exists); however, if the value was an empty array, the exists() method always threw an AssertionError. The existing behavior makes sense if the JsonPath expression is 'indefinite' -- for example, if the expression uses a filter to select results based on a predicate for which there is no match in the JSON document, but the existing behavior is illogical and therefore invalid if the JsonPath expression is 'definite' (i.e., directly references an array in the JSON document that exists but happens to be empty). For example, prior to this commit, the following threw an AssertionError. new JsonPathExpectationsHelper("$.arr").exists("{ 'arr': [] }"); Similar arguments can be made for the doesNotExist() method. After thorough analysis of the status quo, it has become apparent that the existing specialized treatment of arrays is a result of the fact that the JsonPath library always returns an empty list if the path is an 'indefinite' path that does not evaluate to a specific result. Consult the discussion on "What is Returned When?" in the JsonPath documentation for details: https://github.com/jayway/JsonPath#what-is-returned-when This commit addresses these issues by ensuring that empty arrays are considered existent if the JsonPath expression is definite but nonexistent if the expression is indefinite. Issue: SPR-13351
-
由 Sam Brannen 提交于
-
- 14 8月, 2015 5 次提交
-
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
Prior to this commit, a JsonPath assertion that a path expression evaluated to an array in JsonPathExpectationsHelper (and therefore indirectly in JsonPathResultMatchers in Spring MVC Test) would incorrectly fail if the array was present in the JSON content but empty. This commit fixes this issue by removing the "not empty" check for arrays and lists. Issue: SPR-13320
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
-
- 13 8月, 2015 1 次提交
-
-
由 Juergen Hoeller 提交于
Issue: SPR-13342
-
- 12 8月, 2015 1 次提交
-
-
由 Juergen Hoeller 提交于
Includes latest dependency updates (Jackson 2.6.1, Jetty 9.3.2, Undertow 1.2.10) Issue: SPR-13342
-
- 08 8月, 2015 1 次提交
-
-
由 Sam Brannen 提交于
-
- 07 8月, 2015 2 次提交
-
-
由 Sam Brannen 提交于
Prior to this commit, MockHttpServletRequestBuilder always supplied an array of cookies to the MockHttpServletRequest that it built, even if the array was empty. However, this violates the contract of HttpServletRequest. According to the Servlet API, the getCookies() method "returns null if no cookies were sent." This commit ensures that MockHttpServletRequestBuilder no longer configures an empty array of cookies in the mock request that it builds. Issue: SPR-13314
-
由 Craig Andrews 提交于
This commit introduces the following methods in JsonPathResultMatchers in the Spring MVC Test framework. - isString() - isBoolean() - isNumber() - isMap() In addition, this commit overhauls the Javadoc in JsonPathResultMatchers and JsonPathExpectationsHelper. Issue: SPR-13320
-
- 29 7月, 2015 2 次提交
-
-
由 Sam Brannen 提交于
SPR-11512 introduced support for annotation attribute aliases via @AliasFor, requiring the explicit declaration of the 'attribute' attribute. However, for aliases within an annotation, this explicit declaration is unnecessary. This commit improves the readability of alias pairs declared within an annotation by introducing a 'value' attribute in @AliasFor that is an alias for the existing 'attribute' attribute. This allows annotations such as @ContextConfiguration from the spring-test module to declare aliases as follows. public @interface ContextConfiguration { @AliasFor("locations") String[] value() default {}; @AliasFor("value") String[] locations() default {}; // ... } Issue: SPR-13289
-
由 Sam Brannen 提交于
This commit fixes numerous references to 'legacy' packages within the Javadoc for the Spring MVC Test framework. In addition, this commit improves examples in Javadoc, adds links to related classes where appropriate, and removes unnecessary imports for types that are only referenced within documentation. Issue: SPR-13284
-
- 28 7月, 2015 5 次提交
-
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
This commit introduces a dedicated build() method in MockMvcHtmlUnitDriverBuilder to replace createDriver(). In addition, the configureDriver() method has been renamed to withDelegate() and now returns the builder for further customization. This commit also overhauls the Javadoc for static factory methods and the class-level Javadoc in MockMvcHtmlUnitDriverBuilder for greater clarity to end users. Issues SPR-13158
-
由 Sam Brannen 提交于
This commit introduces a dedicated build() method in MockMvcWebClientBuilder to replace createWebClient(). In addition, the configureWebClient() method has been renamed to withDelegate() and now returns the builder for further customization. This commit also overhauls the constructor and class-level Javadoc in MockMvcWebClientBuilder for greater clarity to end users. Issues SPR-13158
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
This commit renames the configureWebClient() method in WebConnectionHtmlUnitDriver to modifyWebClientInternal() in order to better convey the relationship to HtmlUnitDriver#modifyWebClient(). Issues SPR-13158
-
- 27 7月, 2015 8 次提交
-
-
由 Rob Winch 提交于
Issue: SPR-13158
-
由 Rob Winch 提交于
Some of the HtmlUnit Tests required an internet connection. This caused failures when running offline. This commit adds Assume PERFORMANCE to those tests so they are only ran when the PERFORMANCE group is selected. Issue: SPR-13158
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
- formatting - code style - organized imports - precondition assertions - suppressed warnings - Javadoc enhancements Issue: SPR-13158
-
由 Rob Winch 提交于
This commit introduces integration between MockMvc and HtmlUnit, thus simplifying end-to-end testing when using HTML-based views and enabling developers to do the following. - Easily test HTML pages using tools such as HtmlUnit, WebDriver, & Geb without the need to deploy to a Servlet container - Test JavaScript within pages - Optionally test using mock services to speed up testing - Share logic between in-container, end-to-end tests and out-of-container integration tests Issue: SPR-13158
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
-
- 26 7月, 2015 5 次提交
-
-
由 Sam Brannen 提交于
Since @TransactionConfiguration is now deprecated, this commit also deprecates TransactionConfigurationAttributes with the intention of completely removing TransactionConfigurationAttributes once @TransactionConfiguration has been removed. Issue: SPR-13277
-
由 Sam Brannen 提交于
Due to common usage of @Rollback(false), this commit introduces a new @Commit annotation that more clearly conveys the intent of the code while retaining the run-time semantics. @Commit is in fact meta-annotated with @Rollback(false). Issue: SPR-13279
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
Issue: SPR-13276, SPR-13277
-
由 Sam Brannen 提交于
Since Spring Framework 2.5, @Rollback has been supported on test methods, with class-level rollback settings configured via @TransactionConfiguration; however, allowing @Rollback to be declared on test classes with method-level declarations overriding class-level declarations would prove more intuitive than having to declare both @TransactionConfiguration and @Rollback. Furthermore, the transactionManager flag in @TransactionConfiguration was made superfluous many years ago with the introduction of support for a qualifier in @Transactional. This commit enables @Rollback to be declared at the class level for default rollback semantics within test class hierarchies and deprecates @TransactionConfiguration in favor of @Rollback and @Transactional qualifiers. Issue: SPR-13276, SPR-13277
-
- 25 7月, 2015 1 次提交
-
-
由 Juergen Hoeller 提交于
-
- 24 7月, 2015 2 次提交
-
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
-
- 23 7月, 2015 2 次提交
-
-
由 Sam Brannen 提交于
-
由 Brian Clozel 提交于
Prior to this change, calling the `setDateHeader` method on a Spring Test MockHttpServletResponse instance would just store the given long value in a Map, not writing it as a formatted date String. Also, calling `getDateHeader` on a MockHttpServletRequest would not support date strings and could not parse those values. This can be problematic when testing features related to date headers such as "Expires", "If-Modified-Since", "Last-Modified", etc. This commit adds formatting and parsing capabilities to Servlet Mocks for date strings in HTTP headers. When formatting dates to Strings, the date format used is the one preferred by the HTTP RFC. When parsing date Strings, multiple date formats are supported for better compatibility. Issue: SPR-11912
-
- 22 7月, 2015 1 次提交
-
-
由 Sam Brannen 提交于
SPR-13211 introduced support for reusing mock requests in Spring MVC Test if the request was created by the the Spring TestContext Framework. Unfortunately, that change makes it impossible for MockMvc.perform() to be invoked multiple times within the same test method without side effects. For example, session attributes and request parameters are transparently and unexpectedly retained for subsequent invocations of perform(), causing certain categories of tests to fail. This commit reverts the changes introduced in SPR-13211 and introduces a new MockMvcReuseTests class to serve as regression tests within Spring's test suite. Issue: SPR-13260, SPR-13211
-