26 changed files with 0 additions and 989 deletions
@ -1,12 +0,0 @@
@@ -1,12 +0,0 @@
|
||||
plugins { |
||||
id "java" |
||||
id "org.springframework.boot.conventions" |
||||
} |
||||
|
||||
description = "Spring Boot Data Couchbase smoke test" |
||||
|
||||
dependencies { |
||||
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-data-couchbase")) |
||||
|
||||
testImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test")) |
||||
} |
||||
@ -1,51 +0,0 @@
@@ -1,51 +0,0 @@
|
||||
/* |
||||
* Copyright 2012-2022 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 |
||||
* |
||||
* https://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 smoketest.data.couchbase; |
||||
|
||||
import java.util.UUID; |
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired; |
||||
import org.springframework.boot.CommandLineRunner; |
||||
import org.springframework.boot.SpringApplication; |
||||
import org.springframework.boot.autoconfigure.SpringBootApplication; |
||||
|
||||
@SpringBootApplication |
||||
public class SampleCouchbaseApplication implements CommandLineRunner { |
||||
|
||||
@Autowired |
||||
private UserRepository userRepository; |
||||
|
||||
public static void main(String[] args) { |
||||
SpringApplication.run(SampleCouchbaseApplication.class); |
||||
} |
||||
|
||||
@Override |
||||
public void run(String... args) throws Exception { |
||||
this.userRepository.deleteAll(); |
||||
User user = saveUser(); |
||||
System.out.println(this.userRepository.findById(user.getId())); |
||||
} |
||||
|
||||
private User saveUser() { |
||||
User user = new User(); |
||||
user.setId(UUID.randomUUID().toString()); |
||||
user.setFirstName("Alice"); |
||||
user.setLastName("Smith"); |
||||
return this.userRepository.save(user); |
||||
} |
||||
|
||||
} |
||||
@ -1,65 +0,0 @@
@@ -1,65 +0,0 @@
|
||||
/* |
||||
* Copyright 2012-2022 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 |
||||
* |
||||
* https://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 smoketest.data.couchbase; |
||||
|
||||
import org.springframework.data.annotation.Id; |
||||
import org.springframework.data.couchbase.core.mapping.Document; |
||||
import org.springframework.data.couchbase.core.mapping.Field; |
||||
|
||||
@Document |
||||
public class User { |
||||
|
||||
@Id |
||||
private String id; |
||||
|
||||
@Field |
||||
private String firstName; |
||||
|
||||
@Field |
||||
private String lastName; |
||||
|
||||
public String getId() { |
||||
return this.id; |
||||
} |
||||
|
||||
public void setId(String id) { |
||||
this.id = id; |
||||
} |
||||
|
||||
public String getFirstName() { |
||||
return this.firstName; |
||||
} |
||||
|
||||
public void setFirstName(String firstName) { |
||||
this.firstName = firstName; |
||||
} |
||||
|
||||
public String getLastName() { |
||||
return this.lastName; |
||||
} |
||||
|
||||
public void setLastName(String lastName) { |
||||
this.lastName = lastName; |
||||
} |
||||
|
||||
@Override |
||||
public String toString() { |
||||
return "User{id='" + this.id + '\'' + ", firstName='" + this.firstName + '\'' + ", lastName='" + this.lastName |
||||
+ '\'' + '}'; |
||||
} |
||||
|
||||
} |
||||
@ -1,23 +0,0 @@
@@ -1,23 +0,0 @@
|
||||
/* |
||||
* Copyright 2012-2022 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 |
||||
* |
||||
* https://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 smoketest.data.couchbase; |
||||
|
||||
import org.springframework.data.couchbase.repository.CouchbaseRepository; |
||||
|
||||
public interface UserRepository extends CouchbaseRepository<User, String> { |
||||
|
||||
} |
||||
@ -1,8 +0,0 @@
@@ -1,8 +0,0 @@
|
||||
spring.couchbase.connection-string=couchbase://127.0.0.1 |
||||
spring.couchbase.username=admin |
||||
spring.couchbase.password=secret |
||||
|
||||
spring.couchbase.env.timeouts.connect=15s |
||||
|
||||
spring.data.couchbase.auto-index=true |
||||
spring.data.couchbase.bucket-name=default |
||||
@ -1,59 +0,0 @@
@@ -1,59 +0,0 @@
|
||||
/* |
||||
* Copyright 2012-2022 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 |
||||
* |
||||
* https://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 smoketest.data.couchbase; |
||||
|
||||
import com.couchbase.client.core.error.AmbiguousTimeoutException; |
||||
import org.junit.jupiter.api.Test; |
||||
import org.junit.jupiter.api.extension.ExtendWith; |
||||
|
||||
import org.springframework.boot.builder.SpringApplicationBuilder; |
||||
import org.springframework.boot.test.system.CapturedOutput; |
||||
import org.springframework.boot.test.system.OutputCaptureExtension; |
||||
import org.springframework.core.NestedCheckedException; |
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat; |
||||
|
||||
@ExtendWith(OutputCaptureExtension.class) |
||||
class SampleCouchbaseApplicationTests { |
||||
|
||||
@Test |
||||
void testDefaultSettings(CapturedOutput output) { |
||||
try { |
||||
new SpringApplicationBuilder(SampleCouchbaseApplication.class).run("--server.port=0"); |
||||
} |
||||
catch (RuntimeException ex) { |
||||
if (serverNotRunning(ex)) { |
||||
return; |
||||
} |
||||
} |
||||
assertThat(output).contains("firstName='Alice', lastName='Smith'"); |
||||
} |
||||
|
||||
private boolean serverNotRunning(RuntimeException ex) { |
||||
NestedCheckedException nested = new NestedCheckedException("failed", ex) { |
||||
}; |
||||
if (nested.contains(AmbiguousTimeoutException.class)) { |
||||
Throwable root = nested.getRootCause(); |
||||
// This is not ideal, we should have a better way to know what is going on
|
||||
if (root.getMessage().contains("QueryRequest, Reason: TIMEOUT")) { |
||||
return true; |
||||
} |
||||
} |
||||
return false; |
||||
} |
||||
|
||||
} |
||||
@ -1,12 +0,0 @@
@@ -1,12 +0,0 @@
|
||||
plugins { |
||||
id "java" |
||||
id "org.springframework.boot.conventions" |
||||
} |
||||
|
||||
description = "Spring Boot Data Elasticsearch smoke test" |
||||
|
||||
dependencies { |
||||
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-data-elasticsearch")) |
||||
|
||||
testImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test")) |
||||
} |
||||
@ -1,71 +0,0 @@
@@ -1,71 +0,0 @@
|
||||
/* |
||||
* Copyright 2012-2021 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 |
||||
* |
||||
* https://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 smoketest.data.elasticsearch; |
||||
|
||||
import org.springframework.data.annotation.Id; |
||||
import org.springframework.data.elasticsearch.annotations.Document; |
||||
import org.springframework.data.elasticsearch.annotations.Setting; |
||||
|
||||
@Document(indexName = "customer") |
||||
@Setting(shards = 1, replicas = 0, refreshInterval = "-1") |
||||
public class Customer { |
||||
|
||||
@Id |
||||
private String id; |
||||
|
||||
private String firstName; |
||||
|
||||
private String lastName; |
||||
|
||||
public Customer() { |
||||
} |
||||
|
||||
public Customer(String firstName, String lastName) { |
||||
this.firstName = firstName; |
||||
this.lastName = lastName; |
||||
} |
||||
|
||||
public String getId() { |
||||
return this.id; |
||||
} |
||||
|
||||
public void setId(String id) { |
||||
this.id = id; |
||||
} |
||||
|
||||
public String getFirstName() { |
||||
return this.firstName; |
||||
} |
||||
|
||||
public void setFirstName(String firstName) { |
||||
this.firstName = firstName; |
||||
} |
||||
|
||||
public String getLastName() { |
||||
return this.lastName; |
||||
} |
||||
|
||||
public void setLastName(String lastName) { |
||||
this.lastName = lastName; |
||||
} |
||||
|
||||
@Override |
||||
public String toString() { |
||||
return String.format("Customer[id=%s, firstName='%s', lastName='%s']", this.id, this.firstName, this.lastName); |
||||
} |
||||
|
||||
} |
||||
@ -1,29 +0,0 @@
@@ -1,29 +0,0 @@
|
||||
/* |
||||
* Copyright 2012-2019 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 |
||||
* |
||||
* https://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 smoketest.data.elasticsearch; |
||||
|
||||
import java.util.List; |
||||
|
||||
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; |
||||
|
||||
public interface CustomerRepository extends ElasticsearchRepository<Customer, String> { |
||||
|
||||
Customer findByFirstName(String firstName); |
||||
|
||||
List<Customer> findByLastName(String lastName); |
||||
|
||||
} |
||||
@ -1,68 +0,0 @@
@@ -1,68 +0,0 @@
|
||||
/* |
||||
* Copyright 2012-2019 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 |
||||
* |
||||
* https://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 smoketest.data.elasticsearch; |
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired; |
||||
import org.springframework.boot.CommandLineRunner; |
||||
import org.springframework.boot.SpringApplication; |
||||
import org.springframework.boot.autoconfigure.SpringBootApplication; |
||||
|
||||
@SpringBootApplication |
||||
public class SampleElasticsearchApplication implements CommandLineRunner { |
||||
|
||||
@Autowired |
||||
private CustomerRepository repository; |
||||
|
||||
@Override |
||||
public void run(String... args) throws Exception { |
||||
this.repository.deleteAll(); |
||||
saveCustomers(); |
||||
fetchAllCustomers(); |
||||
fetchIndividualCustomers(); |
||||
} |
||||
|
||||
private void saveCustomers() { |
||||
this.repository.save(new Customer("Alice", "Smith")); |
||||
this.repository.save(new Customer("Bob", "Smith")); |
||||
} |
||||
|
||||
private void fetchAllCustomers() { |
||||
System.out.println("Customers found with findAll():"); |
||||
System.out.println("-------------------------------"); |
||||
for (Customer customer : this.repository.findAll()) { |
||||
System.out.println(customer); |
||||
} |
||||
System.out.println(); |
||||
} |
||||
|
||||
private void fetchIndividualCustomers() { |
||||
System.out.println("Customer found with findByFirstName('Alice'):"); |
||||
System.out.println("--------------------------------"); |
||||
System.out.println(this.repository.findByFirstName("Alice")); |
||||
|
||||
System.out.println("Customers found with findByLastName('Smith'):"); |
||||
System.out.println("--------------------------------"); |
||||
for (Customer customer : this.repository.findByLastName("Smith")) { |
||||
System.out.println(customer); |
||||
} |
||||
} |
||||
|
||||
public static void main(String[] args) { |
||||
SpringApplication.run(SampleElasticsearchApplication.class, "--debug").close(); |
||||
} |
||||
|
||||
} |
||||
@ -1 +0,0 @@
@@ -1 +0,0 @@
|
||||
spring.elasticsearch.rest.uris=localhost:9200 |
||||
@ -1,63 +0,0 @@
@@ -1,63 +0,0 @@
|
||||
/* |
||||
* Copyright 2012-2019 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 |
||||
* |
||||
* https://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 smoketest.data.elasticsearch; |
||||
|
||||
import java.net.ConnectException; |
||||
|
||||
import org.junit.jupiter.api.Test; |
||||
import org.junit.jupiter.api.extension.ExtendWith; |
||||
|
||||
import org.springframework.boot.builder.SpringApplicationBuilder; |
||||
import org.springframework.boot.test.system.CapturedOutput; |
||||
import org.springframework.boot.test.system.OutputCaptureExtension; |
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat; |
||||
|
||||
/** |
||||
* Tests for {@link SampleElasticsearchApplication}. |
||||
* |
||||
* @author Artur Konczak |
||||
*/ |
||||
@ExtendWith(OutputCaptureExtension.class) |
||||
class SampleElasticsearchApplicationTests { |
||||
|
||||
@Test |
||||
void testDefaultSettings(CapturedOutput output) { |
||||
try { |
||||
new SpringApplicationBuilder(SampleElasticsearchApplication.class).run(); |
||||
} |
||||
catch (Exception ex) { |
||||
if (!elasticsearchRunning(ex)) { |
||||
return; |
||||
} |
||||
throw ex; |
||||
} |
||||
assertThat(output).contains("firstName='Alice', lastName='Smith'"); |
||||
} |
||||
|
||||
private boolean elasticsearchRunning(Exception ex) { |
||||
Throwable candidate = ex; |
||||
while (candidate != null) { |
||||
if (candidate instanceof ConnectException) { |
||||
return false; |
||||
} |
||||
candidate = candidate.getCause(); |
||||
} |
||||
return true; |
||||
} |
||||
|
||||
} |
||||
@ -1,15 +0,0 @@
@@ -1,15 +0,0 @@
|
||||
plugins { |
||||
id "java" |
||||
id "org.springframework.boot.conventions" |
||||
} |
||||
|
||||
description = "Spring Boot Data MongoDB smoke test" |
||||
|
||||
dependencies { |
||||
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-data-mongodb")) |
||||
|
||||
runtimeOnly("de.flapdoodle.embed:de.flapdoodle.embed.mongo") |
||||
|
||||
testImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test")) |
||||
testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support")) |
||||
} |
||||
@ -1,43 +0,0 @@
@@ -1,43 +0,0 @@
|
||||
/* |
||||
* Copyright 2012-2019 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 |
||||
* |
||||
* https://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 smoketest.data.mongo; |
||||
|
||||
import org.springframework.data.annotation.Id; |
||||
|
||||
public class Customer { |
||||
|
||||
@Id |
||||
private String id; |
||||
|
||||
private String firstName; |
||||
|
||||
private String lastName; |
||||
|
||||
public Customer() { |
||||
} |
||||
|
||||
public Customer(String firstName, String lastName) { |
||||
this.firstName = firstName; |
||||
this.lastName = lastName; |
||||
} |
||||
|
||||
@Override |
||||
public String toString() { |
||||
return String.format("Customer[id=%s, firstName='%s', lastName='%s']", this.id, this.firstName, this.lastName); |
||||
} |
||||
|
||||
} |
||||
@ -1,29 +0,0 @@
@@ -1,29 +0,0 @@
|
||||
/* |
||||
* Copyright 2012-2019 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 |
||||
* |
||||
* https://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 smoketest.data.mongo; |
||||
|
||||
import java.util.List; |
||||
|
||||
import org.springframework.data.mongodb.repository.MongoRepository; |
||||
|
||||
public interface CustomerRepository extends MongoRepository<Customer, String> { |
||||
|
||||
Customer findByFirstName(String firstName); |
||||
|
||||
List<Customer> findByLastName(String lastName); |
||||
|
||||
} |
||||
@ -1,70 +0,0 @@
@@ -1,70 +0,0 @@
|
||||
/* |
||||
* Copyright 2012-2021 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 |
||||
* |
||||
* https://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 smoketest.data.mongo; |
||||
|
||||
import java.util.concurrent.TimeUnit; |
||||
|
||||
import org.springframework.boot.CommandLineRunner; |
||||
import org.springframework.boot.SpringApplication; |
||||
import org.springframework.boot.autoconfigure.SpringBootApplication; |
||||
import org.springframework.boot.autoconfigure.mongo.MongoClientSettingsBuilderCustomizer; |
||||
import org.springframework.context.annotation.Bean; |
||||
|
||||
@SpringBootApplication |
||||
public class SampleMongoApplication { |
||||
|
||||
@Bean |
||||
public CommandLineRunner exampleRunner(CustomerRepository repository) { |
||||
return (args) -> { |
||||
repository.deleteAll(); |
||||
|
||||
// save a couple of customers
|
||||
repository.save(new Customer("Alice", "Smith")); |
||||
repository.save(new Customer("Bob", "Smith")); |
||||
|
||||
// fetch all customers
|
||||
System.out.println("Customers found with findAll():"); |
||||
System.out.println("-------------------------------"); |
||||
for (Customer customer : repository.findAll()) { |
||||
System.out.println(customer); |
||||
} |
||||
System.out.println(); |
||||
|
||||
// fetch an individual customer
|
||||
System.out.println("Customer found with findByFirstName('Alice'):"); |
||||
System.out.println("--------------------------------"); |
||||
System.out.println(repository.findByFirstName("Alice")); |
||||
|
||||
System.out.println("Customers found with findByLastName('Smith'):"); |
||||
System.out.println("--------------------------------"); |
||||
for (Customer customer : repository.findByLastName("Smith")) { |
||||
System.out.println(customer); |
||||
} |
||||
}; |
||||
} |
||||
|
||||
@Bean |
||||
public MongoClientSettingsBuilderCustomizer customizer() { |
||||
return (builder) -> builder.applyToConnectionPoolSettings( |
||||
(connectionPool) -> connectionPool.maxConnectionIdleTime(5, TimeUnit.MINUTES)); |
||||
} |
||||
|
||||
public static void main(String[] args) { |
||||
SpringApplication.run(SampleMongoApplication.class, args); |
||||
} |
||||
|
||||
} |
||||
@ -1,47 +0,0 @@
@@ -1,47 +0,0 @@
|
||||
/* |
||||
* Copyright 2012-2022 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 |
||||
* |
||||
* https://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 smoketest.data.mongo; |
||||
|
||||
import org.junit.jupiter.api.Test; |
||||
import org.junit.jupiter.api.condition.OS; |
||||
import org.junit.jupiter.api.extension.ExtendWith; |
||||
|
||||
import org.springframework.boot.test.context.SpringBootTest; |
||||
import org.springframework.boot.test.system.CapturedOutput; |
||||
import org.springframework.boot.test.system.OutputCaptureExtension; |
||||
import org.springframework.boot.testsupport.junit.DisabledOnOs; |
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat; |
||||
|
||||
/** |
||||
* Tests for {@link SampleMongoApplication}. |
||||
* |
||||
* @author Dave Syer |
||||
* @author Andy Wilkinson |
||||
*/ |
||||
@ExtendWith(OutputCaptureExtension.class) |
||||
@SpringBootTest(properties = "spring.mongodb.embedded.version=3.5.5") |
||||
@DisabledOnOs(os = OS.LINUX, architecture = "aarch64", |
||||
disabledReason = "Embedded Mongo doesn't support Linux aarch64, see https://github.com/flapdoodle-oss/de.flapdoodle.embed.mongo/issues/379") |
||||
class SampleMongoApplicationTests { |
||||
|
||||
@Test |
||||
void testDefaultSettings(CapturedOutput output) { |
||||
assertThat(output).contains("firstName='Alice', lastName='Smith'"); |
||||
} |
||||
|
||||
} |
||||
@ -1,13 +0,0 @@
@@ -1,13 +0,0 @@
|
||||
plugins { |
||||
id "java" |
||||
id "org.springframework.boot.conventions" |
||||
} |
||||
|
||||
description = "Spring Boot Data Neo4j smoke test" |
||||
|
||||
dependencies { |
||||
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-data-neo4j")) |
||||
implementation("org.apiguardian:apiguardian-api") |
||||
|
||||
testImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test")) |
||||
} |
||||
@ -1,47 +0,0 @@
@@ -1,47 +0,0 @@
|
||||
/* |
||||
* Copyright 2012-2020 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 |
||||
* |
||||
* https://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 smoketest.data.neo4j; |
||||
|
||||
import org.springframework.data.neo4j.core.schema.GeneratedValue; |
||||
import org.springframework.data.neo4j.core.schema.Id; |
||||
import org.springframework.data.neo4j.core.schema.Node; |
||||
|
||||
@Node |
||||
public class Customer { |
||||
|
||||
@Id |
||||
@GeneratedValue |
||||
private Long id; |
||||
|
||||
private String firstName; |
||||
|
||||
private String lastName; |
||||
|
||||
public Customer() { |
||||
} |
||||
|
||||
public Customer(String firstName, String lastName) { |
||||
this.firstName = firstName; |
||||
this.lastName = lastName; |
||||
} |
||||
|
||||
@Override |
||||
public String toString() { |
||||
return String.format("Customer[id=%s, firstName='%s', lastName='%s']", this.id, this.firstName, this.lastName); |
||||
} |
||||
|
||||
} |
||||
@ -1,29 +0,0 @@
@@ -1,29 +0,0 @@
|
||||
/* |
||||
* Copyright 2012-2019 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 |
||||
* |
||||
* https://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 smoketest.data.neo4j; |
||||
|
||||
import java.util.List; |
||||
|
||||
import org.springframework.data.neo4j.repository.Neo4jRepository; |
||||
|
||||
public interface CustomerRepository extends Neo4jRepository<Customer, Long> { |
||||
|
||||
Customer findByFirstName(String firstName); |
||||
|
||||
List<Customer> findByLastName(String lastName); |
||||
|
||||
} |
||||
@ -1,62 +0,0 @@
@@ -1,62 +0,0 @@
|
||||
/* |
||||
* Copyright 2012-2019 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 |
||||
* |
||||
* https://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 smoketest.data.neo4j; |
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired; |
||||
import org.springframework.boot.CommandLineRunner; |
||||
import org.springframework.boot.SpringApplication; |
||||
import org.springframework.boot.autoconfigure.SpringBootApplication; |
||||
|
||||
@SpringBootApplication |
||||
public class SampleNeo4jApplication implements CommandLineRunner { |
||||
|
||||
@Autowired |
||||
private CustomerRepository repository; |
||||
|
||||
@Override |
||||
public void run(String... args) throws Exception { |
||||
this.repository.deleteAll(); |
||||
|
||||
// save a couple of customers
|
||||
this.repository.save(new Customer("Alice", "Smith")); |
||||
this.repository.save(new Customer("Bob", "Smith")); |
||||
|
||||
// fetch all customers
|
||||
System.out.println("Customers found with findAll():"); |
||||
System.out.println("-------------------------------"); |
||||
for (Customer customer : this.repository.findAll()) { |
||||
System.out.println(customer); |
||||
} |
||||
System.out.println(); |
||||
|
||||
// fetch an individual customer
|
||||
System.out.println("Customer found with findByFirstName('Alice'):"); |
||||
System.out.println("--------------------------------"); |
||||
System.out.println(this.repository.findByFirstName("Alice")); |
||||
|
||||
System.out.println("Customers found with findByLastName('Smith'):"); |
||||
System.out.println("--------------------------------"); |
||||
for (Customer customer : this.repository.findByLastName("Smith")) { |
||||
System.out.println(customer); |
||||
} |
||||
} |
||||
|
||||
public static void main(String[] args) { |
||||
SpringApplication.run(SampleNeo4jApplication.class, args); |
||||
} |
||||
|
||||
} |
||||
@ -1,56 +0,0 @@
@@ -1,56 +0,0 @@
|
||||
/* |
||||
* Copyright 2012-2019 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 |
||||
* |
||||
* https://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 smoketest.data.neo4j; |
||||
|
||||
import org.junit.jupiter.api.Test; |
||||
import org.junit.jupiter.api.extension.ExtendWith; |
||||
import org.neo4j.driver.exceptions.ServiceUnavailableException; |
||||
|
||||
import org.springframework.boot.test.system.CapturedOutput; |
||||
import org.springframework.boot.test.system.OutputCaptureExtension; |
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat; |
||||
|
||||
/** |
||||
* Tests for {@link SampleNeo4jApplication}. |
||||
* |
||||
* @author Stephane Nicoll |
||||
*/ |
||||
@ExtendWith(OutputCaptureExtension.class) |
||||
class SampleNeo4jApplicationTests { |
||||
|
||||
@Test |
||||
void testDefaultSettings(CapturedOutput output) { |
||||
try { |
||||
SampleNeo4jApplication.main(new String[0]); |
||||
} |
||||
catch (Exception ex) { |
||||
if (!neo4jServerRunning(ex)) { |
||||
return; |
||||
} |
||||
} |
||||
assertThat(output).contains("firstName='Alice', lastName='Smith'"); |
||||
} |
||||
|
||||
private boolean neo4jServerRunning(Throwable ex) { |
||||
if (ex instanceof ServiceUnavailableException) { |
||||
return false; |
||||
} |
||||
return (ex.getCause() == null || neo4jServerRunning(ex.getCause())); |
||||
} |
||||
|
||||
} |
||||
@ -1,12 +0,0 @@
@@ -1,12 +0,0 @@
|
||||
plugins { |
||||
id "java" |
||||
id "org.springframework.boot.conventions" |
||||
} |
||||
|
||||
description = "Spring Boot Data Redis smoke test" |
||||
|
||||
dependencies { |
||||
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-data-redis")) |
||||
|
||||
testImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test")) |
||||
} |
||||
@ -1,47 +0,0 @@
@@ -1,47 +0,0 @@
|
||||
/* |
||||
* Copyright 2012-2019 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 |
||||
* |
||||
* https://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 smoketest.data.redis; |
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired; |
||||
import org.springframework.boot.CommandLineRunner; |
||||
import org.springframework.boot.SpringApplication; |
||||
import org.springframework.boot.autoconfigure.SpringBootApplication; |
||||
import org.springframework.data.redis.core.StringRedisTemplate; |
||||
import org.springframework.data.redis.core.ValueOperations; |
||||
|
||||
@SpringBootApplication |
||||
public class SampleRedisApplication implements CommandLineRunner { |
||||
|
||||
@Autowired |
||||
private StringRedisTemplate template; |
||||
|
||||
@Override |
||||
public void run(String... args) throws Exception { |
||||
ValueOperations<String, String> ops = this.template.opsForValue(); |
||||
String key = "spring.boot.redis.test"; |
||||
if (!this.template.hasKey(key)) { |
||||
ops.set(key, "foo"); |
||||
} |
||||
System.out.println("Found key " + key + ", value=" + ops.get(key)); |
||||
} |
||||
|
||||
public static void main(String[] args) { |
||||
// Close the context so it doesn't stay awake listening for redis
|
||||
SpringApplication.run(SampleRedisApplication.class, args).close(); |
||||
} |
||||
|
||||
} |
||||
@ -1,57 +0,0 @@
@@ -1,57 +0,0 @@
|
||||
/* |
||||
* Copyright 2012-2019 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 |
||||
* |
||||
* https://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 smoketest.data.redis; |
||||
|
||||
import org.junit.jupiter.api.Test; |
||||
import org.junit.jupiter.api.extension.ExtendWith; |
||||
|
||||
import org.springframework.boot.test.system.CapturedOutput; |
||||
import org.springframework.boot.test.system.OutputCaptureExtension; |
||||
import org.springframework.data.redis.RedisConnectionFailureException; |
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat; |
||||
|
||||
/** |
||||
* Tests for {@link SampleRedisApplication}. |
||||
* |
||||
* @author Dave Syer |
||||
*/ |
||||
@ExtendWith(OutputCaptureExtension.class) |
||||
class SampleRedisApplicationTests { |
||||
|
||||
@Test |
||||
void testDefaultSettings(CapturedOutput output) { |
||||
try { |
||||
SampleRedisApplication.main(new String[0]); |
||||
} |
||||
catch (Exception ex) { |
||||
if (!redisServerRunning(ex)) { |
||||
return; |
||||
} |
||||
} |
||||
assertThat(output).contains("Found key spring.boot.redis.test"); |
||||
} |
||||
|
||||
private boolean redisServerRunning(Throwable ex) { |
||||
System.out.println(ex.getMessage()); |
||||
if (ex instanceof RedisConnectionFailureException) { |
||||
return false; |
||||
} |
||||
return (ex.getCause() == null || redisServerRunning(ex.getCause())); |
||||
} |
||||
|
||||
} |
||||
Loading…
Reference in new issue