Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
spring-boot
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
DEMO
spring-boot
Commits
2845b101
Commit
2845b101
authored
Feb 27, 2014
by
Dave Syer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add spring-data-rest sample
parent
8e8237a9
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
566 additions
and
0 deletions
+566
-0
pom.xml
spring-boot-samples/pom.xml
+1
-0
pom.xml
spring-boot-samples/spring-boot-sample-data-rest/pom.xml
+43
-0
SampleDataRestApplication.java
.../main/java/sample/data/jpa/SampleDataRestApplication.java
+35
-0
City.java
...-data-rest/src/main/java/sample/data/jpa/domain/City.java
+76
-0
Hotel.java
...data-rest/src/main/java/sample/data/jpa/domain/Hotel.java
+75
-0
CityRepository.java
...src/main/java/sample/data/jpa/service/CityRepository.java
+34
-0
CitySearchCriteria.java
...main/java/sample/data/jpa/service/CitySearchCriteria.java
+44
-0
HotelRepository.java
...rc/main/java/sample/data/jpa/service/HotelRepository.java
+30
-0
import.sql
...pring-boot-sample-data-rest/src/main/resources/import.sql
+123
-0
SampleDataRestApplicationTests.java
.../java/sample/data/jpa/SampleDataRestApplicationTests.java
+48
-0
CityRepositoryIntegrationTests.java
...mple/data/jpa/service/CityRepositoryIntegrationTests.java
+51
-0
application-scratch.properties
...ta-rest/src/test/resources/application-scratch.properties
+1
-0
pom.xml
spring-boot-starters/spring-boot-starter-parent/pom.xml
+5
-0
No files found.
spring-boot-samples/pom.xml
View file @
2845b101
...
@@ -24,6 +24,7 @@
...
@@ -24,6 +24,7 @@
<module>
spring-boot-sample-data-jpa
</module>
<module>
spring-boot-sample-data-jpa
</module>
<module>
spring-boot-sample-data-mongodb
</module>
<module>
spring-boot-sample-data-mongodb
</module>
<module>
spring-boot-sample-data-redis
</module>
<module>
spring-boot-sample-data-redis
</module>
<module>
spring-boot-sample-data-rest
</module>
<module>
spring-boot-sample-integration
</module>
<module>
spring-boot-sample-integration
</module>
<module>
spring-boot-sample-jetty
</module>
<module>
spring-boot-sample-jetty
</module>
<module>
spring-boot-sample-profile
</module>
<module>
spring-boot-sample-profile
</module>
...
...
spring-boot-samples/spring-boot-sample-data-rest/pom.xml
0 → 100644
View file @
2845b101
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<modelVersion>
4.0.0
</modelVersion>
<parent>
<!-- Your own application should inherit from spring-boot-starter-parent -->
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-samples
</artifactId>
<version>
1.0.0.BUILD-SNAPSHOT
</version>
</parent>
<artifactId>
spring-boot-sample-data-rest
</artifactId>
<packaging>
jar
</packaging>
<properties>
<main.basedir>
${basedir}/../..
</main.basedir>
</properties>
<dependencies>
<dependency>
<groupId>
${project.groupId}
</groupId>
<artifactId>
spring-boot-starter-data-jpa
</artifactId>
</dependency>
<dependency>
<groupId>
${project.groupId}
</groupId>
<artifactId>
spring-boot-starter-data-rest
</artifactId>
</dependency>
<dependency>
<groupId>
org.hsqldb
</groupId>
<artifactId>
hsqldb
</artifactId>
<scope>
runtime
</scope>
</dependency>
<dependency>
<groupId>
${project.groupId}
</groupId>
<artifactId>
spring-boot-starter-test
</artifactId>
<scope>
test
</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
</plugin>
</plugins>
</build>
</project>
spring-boot-samples/spring-boot-sample-data-rest/src/main/java/sample/data/jpa/SampleDataRestApplication.java
0 → 100644
View file @
2845b101
/*
* Copyright 2012-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
sample
.
data
.
jpa
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.EnableAutoConfiguration
;
import
org.springframework.context.annotation.ComponentScan
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Import
;
import
org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguration
;
@Configuration
@ComponentScan
@EnableAutoConfiguration
@Import
(
RepositoryRestMvcConfiguration
.
class
)
public
class
SampleDataRestApplication
{
public
static
void
main
(
String
[]
args
)
throws
Exception
{
SpringApplication
.
run
(
SampleDataRestApplication
.
class
,
args
);
}
}
spring-boot-samples/spring-boot-sample-data-rest/src/main/java/sample/data/jpa/domain/City.java
0 → 100644
View file @
2845b101
/*
* Copyright 2012-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
sample
.
data
.
jpa
.
domain
;
import
java.io.Serializable
;
import
javax.persistence.Column
;
import
javax.persistence.Entity
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.Id
;
@Entity
public
class
City
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@Id
@GeneratedValue
private
Long
id
;
@Column
(
nullable
=
false
)
private
String
name
;
@Column
(
nullable
=
false
)
private
String
state
;
@Column
(
nullable
=
false
)
private
String
country
;
@Column
(
nullable
=
false
)
private
String
map
;
protected
City
()
{
}
public
City
(
String
name
,
String
country
)
{
super
();
this
.
name
=
name
;
this
.
country
=
country
;
}
public
String
getName
()
{
return
this
.
name
;
}
public
String
getState
()
{
return
this
.
state
;
}
public
String
getCountry
()
{
return
this
.
country
;
}
public
String
getMap
()
{
return
this
.
map
;
}
@Override
public
String
toString
()
{
return
getName
()
+
","
+
getState
()
+
","
+
getCountry
();
}
}
spring-boot-samples/spring-boot-sample-data-rest/src/main/java/sample/data/jpa/domain/Hotel.java
0 → 100644
View file @
2845b101
/*
* Copyright 2012-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
sample
.
data
.
jpa
.
domain
;
import
java.io.Serializable
;
import
javax.persistence.Column
;
import
javax.persistence.Entity
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.Id
;
import
javax.persistence.ManyToOne
;
import
org.hibernate.annotations.NaturalId
;
@Entity
public
class
Hotel
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@Id
@GeneratedValue
private
Long
id
;
@ManyToOne
(
optional
=
false
)
@NaturalId
private
City
city
;
@Column
(
nullable
=
false
)
@NaturalId
private
String
name
;
@Column
(
nullable
=
false
)
private
String
address
;
@Column
(
nullable
=
false
)
private
String
zip
;
protected
Hotel
()
{
}
public
Hotel
(
City
city
,
String
name
)
{
this
.
city
=
city
;
this
.
name
=
name
;
}
public
City
getCity
()
{
return
this
.
city
;
}
public
String
getName
()
{
return
this
.
name
;
}
public
String
getAddress
()
{
return
this
.
address
;
}
public
String
getZip
()
{
return
this
.
zip
;
}
}
spring-boot-samples/spring-boot-sample-data-rest/src/main/java/sample/data/jpa/service/CityRepository.java
0 → 100644
View file @
2845b101
/*
* Copyright 2012-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
sample
.
data
.
jpa
.
service
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.repository.PagingAndSortingRepository
;
import
org.springframework.data.rest.core.annotation.RepositoryRestResource
;
import
sample.data.jpa.domain.City
;
@RepositoryRestResource
(
collectionResourceRel
=
"citys"
,
path
=
"cities"
)
interface
CityRepository
extends
PagingAndSortingRepository
<
City
,
Long
>
{
Page
<
City
>
findByNameContainingAndCountryContainingAllIgnoringCase
(
String
name
,
String
country
,
Pageable
pageable
);
City
findByNameAndCountryAllIgnoringCase
(
String
name
,
String
country
);
}
spring-boot-samples/spring-boot-sample-data-rest/src/main/java/sample/data/jpa/service/CitySearchCriteria.java
0 → 100644
View file @
2845b101
/*
* Copyright 2012-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
sample
.
data
.
jpa
.
service
;
import
java.io.Serializable
;
import
org.springframework.util.Assert
;
public
class
CitySearchCriteria
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
private
String
name
;
public
CitySearchCriteria
()
{
}
public
CitySearchCriteria
(
String
name
)
{
Assert
.
notNull
(
name
,
"Name must not be null"
);
this
.
name
=
name
;
}
public
String
getName
()
{
return
this
.
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
}
spring-boot-samples/spring-boot-sample-data-rest/src/main/java/sample/data/jpa/service/HotelRepository.java
0 → 100644
View file @
2845b101
/*
* Copyright 2012-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
sample
.
data
.
jpa
.
service
;
import
org.springframework.data.repository.PagingAndSortingRepository
;
import
org.springframework.data.rest.core.annotation.RepositoryRestResource
;
import
sample.data.jpa.domain.City
;
import
sample.data.jpa.domain.Hotel
;
@RepositoryRestResource
(
collectionResourceRel
=
"hotels"
,
path
=
"hotels"
)
interface
HotelRepository
extends
PagingAndSortingRepository
<
Hotel
,
Long
>
{
Hotel
findByCityAndName
(
City
city
,
String
name
);
}
spring-boot-samples/spring-boot-sample-data-rest/src/main/resources/import.sql
0 → 100644
View file @
2845b101
--
-- Sample dataset containing a number of Hotels in various Cities across the world.
--
-- =================================================================================================
-- AUSTRALIA
-- Brisbane
insert
into
city
(
country
,
name
,
state
,
map
)
values
(
'Australia'
,
'Brisbane'
,
'Queensland'
,
'-27.470933, 153.023502'
)
insert
into
hotel
(
city_id
,
name
,
address
,
zip
)
values
(
1
,
'Conrad Treasury Place'
,
'William & George Streets'
,
'4001'
)
-- Melbourne
insert
into
city
(
country
,
name
,
state
,
map
)
values
(
'Australia'
,
'Melbourne'
,
'Victoria'
,
'-37.813187, 144.96298'
)
insert
into
hotel
(
city_id
,
name
,
address
,
zip
)
values
(
2
,
'The Langham'
,
'1 Southgate Ave, Southbank'
,
'3006'
)
-- Sydney
insert
into
city
(
country
,
name
,
state
,
map
)
values
(
'Australia'
,
'Sydney'
,
'New South Wales'
,
'-33.868901, 151.207091'
)
insert
into
hotel
(
city_id
,
name
,
address
,
zip
)
values
(
3
,
'Swissotel'
,
'68 Market Street'
,
'2000'
)
-- =================================================================================================
-- CANADA
-- Montreal
insert
into
city
(
country
,
name
,
state
,
map
)
values
(
'Canada'
,
'Montreal'
,
'Quebec'
,
'45.508889, -73.554167'
)
insert
into
hotel
(
city_id
,
name
,
address
,
zip
)
values
(
4
,
'Ritz Carlton'
,
'1228 Sherbrooke St'
,
'H3G1H6'
)
-- =================================================================================================
-- ISRAEL
-- Tel Aviv
insert
into
city
(
country
,
name
,
state
,
map
)
values
(
'Israel'
,
'Tel Aviv'
,
''
,
'32.066157, 34.777821'
)
insert
into
hotel
(
city_id
,
name
,
address
,
zip
)
values
(
5
,
'Hilton Tel Aviv'
,
'Independence Park'
,
'63405'
)
-- =================================================================================================
-- JAPAN
-- Tokyo
insert
into
city
(
country
,
name
,
state
,
map
)
values
(
'Japan'
,
'Tokyo'
,
''
,
'35.689488, 139.691706'
)
insert
into
hotel
(
city_id
,
name
,
address
,
zip
)
values
(
6
,
'InterContinental Tokyo Bay'
,
'Takeshiba Pier'
,
'105'
)
-- =================================================================================================
-- SPAIN
-- Barcelona
insert
into
city
(
country
,
name
,
state
,
map
)
values
(
'Spain'
,
'Barcelona'
,
'Catalunya'
,
'41.387917, 2.169919'
)
insert
into
hotel
(
city_id
,
name
,
address
,
zip
)
values
(
7
,
'Hilton Diagonal Mar'
,
'Passeig del Taulat 262-264'
,
'08019'
)
-- =================================================================================================
-- SWITZERLAND
-- Neuchatel
insert
into
city
(
country
,
name
,
state
,
map
)
values
(
'Switzerland'
,
'Neuchatel'
,
''
,
'46.992979, 6.931933'
)
insert
into
hotel
(
city_id
,
name
,
address
,
zip
)
values
(
8
,
'Hotel Beaulac'
,
' Esplanade Leopold-Robert 2'
,
'2000'
)
-- =================================================================================================
-- UNITED KINGDOM
-- Bath
insert
into
city
(
country
,
name
,
state
,
map
)
values
(
'UK'
,
'Bath'
,
'Somerset'
,
'51.381428, -2.357454'
)
insert
into
hotel
(
city_id
,
name
,
address
,
zip
)
values
(
9
,
'The Bath Priory Hotel'
,
'Weston Road'
,
'BA1 2XT'
)
insert
into
hotel
(
city_id
,
name
,
address
,
zip
)
values
(
9
,
'Bath Travelodge'
,
'Rossiter Road, Widcombe Basin'
,
'BA2 4JP'
)
-- London
insert
into
city
(
country
,
name
,
state
,
map
)
values
(
'UK'
,
'London'
,
''
,
'51.500152, -0.126236'
)
insert
into
hotel
(
city_id
,
name
,
address
,
zip
)
values
(
10
,
'Melia White House'
,
'Albany Street'
,
'NW1 3UP'
)
-- Southampton
insert
into
city
(
country
,
name
,
state
,
map
)
values
(
'UK'
,
'Southampton'
,
'Hampshire'
,
'50.902571, -1.397238'
)
insert
into
hotel
(
city_id
,
name
,
address
,
zip
)
values
(
11
,
'Chilworth Manor'
,
'The Cottage, Southampton Business Park'
,
'SO16 7JF'
)
-- =================================================================================================
-- USA
-- Atlanta
insert
into
city
(
country
,
name
,
state
,
map
)
values
(
'USA'
,
'Atlanta'
,
'GA'
,
'33.748995, -84.387982'
)
insert
into
hotel
(
city_id
,
name
,
address
,
zip
)
values
(
12
,
'Marriott Courtyard'
,
'Tower Place, Buckhead'
,
'30305'
)
insert
into
hotel
(
city_id
,
name
,
address
,
zip
)
values
(
12
,
'Ritz Carlton'
,
'Peachtree Rd, Buckhead'
,
'30326'
)
insert
into
hotel
(
city_id
,
name
,
address
,
zip
)
values
(
12
,
'Doubletree'
,
'Tower Place, Buckhead'
,
'30305'
)
-- Chicago
insert
into
city
(
country
,
name
,
state
,
map
)
values
(
'USA'
,
'Chicago'
,
'IL'
,
'41.878114, -87.629798'
)
insert
into
hotel
(
city_id
,
name
,
address
,
zip
)
values
(
13
,
'Hotel Allegro'
,
'171 West Randolph Street'
,
'60601'
)
-- Eau Claire
insert
into
city
(
country
,
name
,
state
,
map
)
values
(
'USA'
,
'Eau Claire'
,
'WI'
,
'44.811349, -91.498494'
)
insert
into
hotel
(
city_id
,
name
,
address
,
zip
)
values
(
14
,
'Sea Horse Inn'
,
'2106 N Clairemont Ave'
,
'54703'
)
insert
into
hotel
(
city_id
,
name
,
address
,
zip
)
values
(
14
,
'Super 8 Eau Claire Campus Area'
,
'1151 W Macarthur Ave'
,
'54701'
)
-- Hollywood
insert
into
city
(
country
,
name
,
state
,
map
)
values
(
'USA'
,
'Hollywood'
,
'FL'
,
'26.011201, -80.14949'
)
insert
into
hotel
(
city_id
,
name
,
address
,
zip
)
values
(
15
,
'Westin Diplomat'
,
'3555 S. Ocean Drive'
,
'33019'
)
-- Miami
insert
into
city
(
country
,
name
,
state
,
map
)
values
(
'USA'
,
'Miami'
,
'FL'
,
'25.788969, -80.226439'
)
insert
into
hotel
(
city_id
,
name
,
address
,
zip
)
values
(
16
,
'Conrad Miami'
,
'1395 Brickell Ave'
,
'33131'
)
-- Melbourne
insert
into
city
(
country
,
name
,
state
,
map
)
values
(
'USA'
,
'Melbourne'
,
'FL'
,
'28.083627, -80.608109'
)
insert
into
hotel
(
city_id
,
name
,
address
,
zip
)
values
(
17
,
'Radisson Suite Hotel Oceanfront'
,
'3101 North Hwy'
,
'32903'
)
-- New York
insert
into
city
(
country
,
name
,
state
,
map
)
values
(
'USA'
,
'New York'
,
'NY'
,
'40.714353, -74.005973'
)
insert
into
hotel
(
city_id
,
name
,
address
,
zip
)
values
(
18
,
'W Union Hotel'
,
'Union Square, Manhattan'
,
'10011'
)
insert
into
hotel
(
city_id
,
name
,
address
,
zip
)
values
(
18
,
'W Lexington Hotel'
,
'Lexington Ave, Manhattan'
,
'10011'
)
insert
into
hotel
(
city_id
,
name
,
address
,
zip
)
values
(
18
,
'70 Park Avenue Hotel'
,
'70 Park Avenue'
,
'10011'
)
-- Palm Bay
insert
into
city
(
country
,
name
,
state
,
map
)
values
(
'USA'
,
'Palm Bay'
,
'FL'
,
'28.034462, -80.588665'
)
insert
into
hotel
(
city_id
,
name
,
address
,
zip
)
values
(
19
,
'Jameson Inn'
,
'890 Palm Bay Rd NE'
,
'32905'
)
-- San Francisco
insert
into
city
(
country
,
name
,
state
,
map
)
values
(
'USA'
,
'San Francisco'
,
'CA'
,
'37.77493, -122.419415'
)
insert
into
hotel
(
city_id
,
name
,
address
,
zip
)
values
(
20
,
'Marriot Downtown'
,
'55 Fourth Street'
,
'94103'
)
-- Washington
insert
into
city
(
country
,
name
,
state
,
map
)
values
(
'USA'
,
'Washington'
,
'DC'
,
'38.895112, -77.036366'
)
insert
into
hotel
(
city_id
,
name
,
address
,
zip
)
values
(
21
,
'Hotel Rouge'
,
'1315 16th Street NW'
,
'20036'
)
spring-boot-samples/spring-boot-sample-data-rest/src/test/java/sample/data/jpa/SampleDataRestApplicationTests.java
0 → 100644
View file @
2845b101
package
sample
.
data
.
jpa
;
import
static
org
.
hamcrest
.
Matchers
.
containsString
;
import
static
org
.
springframework
.
test
.
web
.
servlet
.
request
.
MockMvcRequestBuilders
.
get
;
import
static
org
.
springframework
.
test
.
web
.
servlet
.
result
.
MockMvcResultMatchers
.
content
;
import
static
org
.
springframework
.
test
.
web
.
servlet
.
result
.
MockMvcResultMatchers
.
status
;
import
org.junit.Before
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.test.SpringApplicationConfiguration
;
import
org.springframework.test.context.ActiveProfiles
;
import
org.springframework.test.context.junit4.SpringJUnit4ClassRunner
;
import
org.springframework.test.context.web.WebAppConfiguration
;
import
org.springframework.test.web.servlet.MockMvc
;
import
org.springframework.test.web.servlet.setup.MockMvcBuilders
;
import
org.springframework.web.context.WebApplicationContext
;
/**
* Integration test to run the application.
*
* @author Oliver Gierke
*/
@RunWith
(
SpringJUnit4ClassRunner
.
class
)
@SpringApplicationConfiguration
(
classes
=
SampleDataRestApplication
.
class
)
@WebAppConfiguration
@ActiveProfiles
(
"scratch"
)
// Separate profile for web tests to avoid clashing databases
public
class
SampleDataRestApplicationTests
{
@Autowired
private
WebApplicationContext
context
;
private
MockMvc
mvc
;
@Before
public
void
setUp
()
{
this
.
mvc
=
MockMvcBuilders
.
webAppContextSetup
(
this
.
context
).
build
();
}
@Test
public
void
testHome
()
throws
Exception
{
this
.
mvc
.
perform
(
get
(
"/"
)).
andExpect
(
status
().
isOk
())
.
andExpect
(
content
().
string
(
containsString
(
"hotels"
)));
}
}
spring-boot-samples/spring-boot-sample-data-rest/src/test/java/sample/data/jpa/service/CityRepositoryIntegrationTests.java
0 → 100644
View file @
2845b101
/*
* Copyright 2012-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
sample
.
data
.
jpa
.
service
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.test.SpringApplicationConfiguration
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.PageRequest
;
import
org.springframework.test.context.junit4.SpringJUnit4ClassRunner
;
import
sample.data.jpa.SampleDataRestApplication
;
import
sample.data.jpa.domain.City
;
import
static
org
.
hamcrest
.
Matchers
.
greaterThan
;
import
static
org
.
hamcrest
.
Matchers
.
is
;
import
static
org
.
junit
.
Assert
.
assertThat
;
/**
* Integration tests for {@link CityRepository}.
*
* @author Oliver Gierke
*/
@RunWith
(
SpringJUnit4ClassRunner
.
class
)
@SpringApplicationConfiguration
(
classes
=
SampleDataRestApplication
.
class
)
public
class
CityRepositoryIntegrationTests
{
@Autowired
CityRepository
repository
;
@Test
public
void
findsFirstPageOfCities
()
{
Page
<
City
>
cities
=
this
.
repository
.
findAll
(
new
PageRequest
(
0
,
10
));
assertThat
(
cities
.
getTotalElements
(),
is
(
greaterThan
(
20L
)));
}
}
spring-boot-samples/spring-boot-sample-data-rest/src/test/resources/application-scratch.properties
0 → 100644
View file @
2845b101
spring.datasource.url
:
jdbc:hsqldb:mem:restdb
spring-boot-starters/spring-boot-starter-parent/pom.xml
View file @
2845b101
...
@@ -72,6 +72,11 @@
...
@@ -72,6 +72,11 @@
<artifactId>
spring-boot-starter-data-mongodb
</artifactId>
<artifactId>
spring-boot-starter-data-mongodb
</artifactId>
<version>
${spring-boot.version}
</version>
<version>
${spring-boot.version}
</version>
</dependency>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-data-rest
</artifactId>
<version>
${spring-boot.version}
</version>
</dependency>
<dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-integration
</artifactId>
<artifactId>
spring-boot-starter-integration
</artifactId>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment