Commit Graph

7621 Commits (786004e297132646454a53f4e9b5eb815766414f)
 

Author SHA1 Message Date
Andy Wilkinson eb3180d581 Provide test auto-configuration for Spring REST Docs
This commit introduces a new annotation, @AutoConfigureRestDocs,
which can be used to enable auto-configuration of Spring REST Docs.
The auto-configuration removes the need to use Spring REST Docs' JUnit
rule and will automatically configure MockMvc. Combined with the new
auto-configuration for MockMvc it allows a test class to be free of
boilerplate configuration:

@RunWith(SpringRunner.class)
@WebMvcTest
@AutoConfigureRestDocs(outputDir = "target/generated-snippets",
        uriScheme = "https", uriHost = "api.example.com",
        uriPort = 443)
public class ExampleDocumentationTests {

    @Autowired
    private MockMvc mvc;

    @Test
    public void documentIndex() {
        // …
    }

}

For more advanced customization a RestDocsMockMvcConfigurationCustomizer
bean can be used.

If a RestDocumentationResultHandler is found in the context, it will
be passed to the ConfigurableMockMvcBuilder's alwaysDo method as part
of its customization.

Closes gh-5563
9 years ago
Andy Wilkinson f99bfccd51 Polishing 9 years ago
Andy Wilkinson b630b080ce Make it easier to customize the auto-configured MockMvcBuilder
Closes gh-5556
9 years ago
Andy Wilkinson 611d441763 Polishing 9 years ago
Dave Syer 416ce1a6f4 Make FixedAuthoritiesExtractor more liberal in what it accepts
In particular it now accepts a list of maps containing
"authority" keys (which is what you get from a standard JSON
decoding of a Spring Security Authentication).

Fixes gh-5482
9 years ago
Dave Syer a6c1668bd9 Switch validator starter for hibernate validator
In the web starter we shouldn't depend explicitly on any EL
implementation, otherwise when people build wars and deploy
them in containers that have their own EL there is a conflict.
We can still depend on hibernate-validator to support
JSR-303 in web apps because the EL implementation comes with
the container.

Fixes gh-5454
9 years ago
Dave Syer 72db5becd6 Add comment to pom in sample explaining provided deps 9 years ago
Stephane Nicoll be987065b1 Merge pull request #5557 from brendankirby/readme-patch
* pr/5557:
  Update README.adoc
9 years ago
Brendan Kirby 6de4cabc29 Update README.adoc
Closes gh-5557
9 years ago
Stephane Nicoll 0a8975bc84 Polish 9 years ago
Phillip Webb 34070e5a8e Add Support for Mockito spies
Add a @SpyBean annotation that can be used to create spies.

Fixes gh-5538
9 years ago
Stephane Nicoll 1d4f38e440 Merge pull request #5553 from izeye/polish-20160401
* pr/5553:
  Polish
9 years ago
Johnny Lim f88c583570 Polish
Closes gh-5553
9 years ago
Andy Wilkinson 27b0666fe3 Merge pull request #5406 from Kazuki Shimizu
* gh-5406:
  Upgrade to Lombok 1.16.8
9 years ago
Kazuki Shimizu db015a6c05 Upgrade to Lombok 1.16.8
Closes gh-5406
9 years ago
Andy Wilkinson f55066464d Merge branch '1.3.x' 9 years ago
Andy Wilkinson dad4e84d35 Merge pull request #5410 from Kazuki Shimizu
* version-upgrades:
  Upgrade to Logback 1.1.6
9 years ago
Kazuki Shimizu b4b7e7ead3 Upgrade to Logback 1.1.6
Closes gh-5410
9 years ago
Andy Wilkinson e7bb67fa33 Upgrade to SLF4J 1.7.20
Closes gh-5408
9 years ago
Phillip Webb c167e4fd0e Rework SpringApplicationTest documentation
Closes gh-5477
9 years ago
Andy Wilkinson 33f0ea3480 Rework SpringApplicationTest to support web modes
Rework the new testing support so that @SpringApplicationTest can be
used for standard integration tests, web integration tests with a
mock Servlet environment and web integration tests with an embedded
servlet container. This means that it a replacement for 1.3's
@IntegrationTest and @WebIntegrationTest and allows all
SpringApplication testing to be configured using a common annotation.

The old @IntegrationTest and @WebIntegrationTest along with their
supporting classes have been reinstated to their previous form (while
remaining deprecated). This should ensure that they continue to work
in 1.4 exactly as they did in 1.3 giving users a smooth path to
@SpringApplicationTest.

See gh-5477
9 years ago
Phillip Webb 893a6c32f3 Upgrade to checkstyle 6.17
Fixes gh-5547
9 years ago
Andy Wilkinson 4f200a852b Add missing jar file
It should have been in 68b83a8f but was excluded by gitignore.

See gh-3701
9 years ago
Andy Wilkinson 68b83a8f00 Improve handling of loader.path in PropertiesLauncher
Previously, if loader.path directly specified a jar file that contained
nested archives (.zip or .jar), launching would fail unless those
nested archives were uncompressed. However, if loader.path specified a
directory that contained such a jar file the launch would succeed. This
was because the nested archives within the jar were ignored.

This commit updates PropertiesLauncher so that its behaviour in the
scenarios described above is consistent by not looking for archives
nested with a jar that’s be specified on loader.path. The javadoc for
loader.path has also been updated to make it clear that loader.path
can points to directories or jar files, bringing it into line with
the reference guide.

Closes gh-3701
9 years ago
Andy Wilkinson 313b6f6451 Simplify exception handling and reporting in the launcher
Following changes to LaunchedURLClassLoader made in 87fe0b2a, it is
no longer necessary for the launcher to load MainMethodRunner via
reflection as both the app class loader that the launcher URL class
loader share the same MainMethodRunner class.

This commit takes advantage of this by updating Launcher to instantiate
MainMethodRunner directly rather than via reflection, removing one
source of possible exceptions in the launcher.

As the MainMethodRunner is now loaded directly and its class is shared
between the two class loaders, there’s no longer a need for it to
implement Runnable. This allows it to throw Exception from its run
method, rather than having to wrap any Exception in a RuntimeException.

Lastly, rather than catching any exception thrown from the launch,
Launcher and its subclasses have been updated to allow this exception
to be thrown from the main method. This allows the Exception to reach
the JVM, to be processed by our registered uncaught exception handler,
and to trigger the JVM’s standard processing for exiting due to a
failure. This removes the need for the Launcher itself to call
System.exit(1) and ensures that the exception is only output to the
console if it hasn’t been registered as a logged exception.

Closes gh-5358
9 years ago
Andy Wilkinson 491ab3dd31 Fix assembly that collects all of the starter poms
Closes gh-5267
9 years ago
Andy Wilkinson fec53970f7 Auto-generate tables describing the first-party starters
Previously, the documentation included hand-written tables for the
application, production, and technical starters.

This commit replaces the hand-written tables with tables that are
generated automatically from all of the starter poms, thereby ensuring
that the documentation is automatically kept up-to-date as starters
are added and removed. An extra column provided a link to each
starter's pom on GitHub has also been added to the table. This makes
it easier for users to see exactly what each starter contains.

Closes gh-5267
9 years ago
Stephane Nicoll 2b649542e0 Merge pull request #5532 from izeye/polish-20160330
* pr/5532:
  Polish
9 years ago
Johnny Lim a28dd9d9e6 Polish
Closes gh-5532
9 years ago
Phillip Webb 39140945b5 Polish 9 years ago
Phillip Webb 8a11620052 Fix failing test due to SPR-14093 9 years ago
Phil Webb 091245052f Update PULL_REQUEST_TEMPLATE.md 9 years ago
Stephane Nicoll 6dd84159f5 Restore JMX property to IntegrationJmxConfiguration
Closes gh-5309
9 years ago
Stephane Nicoll 00ae6ff9e2 Merge pull request #5488 from garyrussell/amqp-update
* pr/5488:
  Upgrade Spring AMQP to 1.6.0.M2
9 years ago
Gary Russell 701561eede Upgrade Spring AMQP to 1.6.0.M2
Closes gh-5488
9 years ago
Stephane Nicoll 0e46fc060c Merge pull request #5521 from eddumelendez/gh-5447
* pr/5521:
  Polish contribution
  Add `defaultValue` property in springProperty tag
9 years ago
Stephane Nicoll a66045fa98 Polish contribution
Closes gh-5521
9 years ago
Eddú Meléndez c86284cea3 Add `defaultValue` property in springProperty tag
This commit adds a `defaultValue` attribute to the `springProperty` tag
of Logback. That attribute can be used to specify a default value.

Closes gh-5447
9 years ago
Stephane Nicoll 54bea72554 Polish Jersey integration tests 9 years ago
Stephane Nicoll c752fac5c0 Expose load-on-startup for Jersey
This commit adds a `spring.jersey.filter.load-on-startup` property used to
customize the startup priority of the Jersey servlet.

Closes gh-5100
9 years ago
Stephane Nicoll 928f2dfc91 Sanitize keys with 'token' by default
This commit updates `Sanitizer` to sanitize by default a key containing
`token`.

Closes gh-5462
9 years ago
Stephane Nicoll 0c1dd1aac5 Merge pull request #5512 from rob-baily/issues-5465
* pr/5512:
  Polish contribution
  Add check for non empty list of factories
9 years ago
Stephane Nicoll 33967927db Polish contribution
Closes gh-5512
9 years ago
Rob Baily 971a7194d8 Add check for non empty list of factories
It was seeen that if a different plugin was used to package Spring Boot
that the project would load but no autoconfiguration actually took
place and many features were mysteriously not working.  Adding a check
to ensure that some factories are always loaded as this is expected.

Closes gh-5465
9 years ago
Stephane Nicoll 1b8f44ae2a Merge pull request #5498 from eddumelendez/gh-5483
* pr/5498:
  Polish contribution
  Add useAlwaysMessageFormat configuration key
9 years ago
Stephane Nicoll 1e0873c86e Polish contribution
Closes gh-5498
9 years ago
Eddú Meléndez 4912b989a5 Add useAlwaysMessageFormat configuration key
Allow to configure the `useAlwaysMessageFormat` attribute of
`MessageSource` via configuration.

Closes gh-5483
9 years ago
Andy Wilkinson 7db9280bf3 Rename the default BuildInfo task to bootBuildInfo
Previously, the default BuildInfo task created by the DSL was called
buildInfo. Due to Gradle's lack of namespacing for tasks, this meant
there was a slight risk that it could clash with another task. It
also didn't following the naming used by Boot's run task which is
named bootRun.

This commit renames the default BuildInfo task to bootBuildInfo to
match bootRun and to hopefully avoid clashes with tasks from other
plugins.

Closes gh-5518
9 years ago
Andy Wilkinson fc463afb89 Merge branch '1.3.x' 9 years ago
Andy Wilkinson 1043239de0 Ignore non-JavaExec run task when finding application's main class
Previously, FindMainClassTask would look for a property named main
on any class named run. This was based on the assumption that the
run task would be a JavaExec task (typically provided by the
application plugin). If the run task was not a JavaExec task (more
accurately, if it did not have a main property) this would result in
a build failure due to trying to read a non-existent property.

This commit updates FindMainClassTask to only use the main property
of the run task if the task is a JavaExec task. This guarantees that
the property will exist on the task, and unlike using any property
named main on a task named run, also guarantee that its value will
refer to a Java class with a main method.

Closes gh-5501
9 years ago