https://github.com/yandex-qatools/embedded-services
Embedded MongoDB/PostgreSQL for your tests
https://github.com/yandex-qatools/embedded-services
Last synced: 5 months ago
JSON representation
Embedded MongoDB/PostgreSQL for your tests
- Host: GitHub
- URL: https://github.com/yandex-qatools/embedded-services
- Owner: yandex-qatools
- License: other
- Created: 2015-04-08T11:09:10.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2016-04-12T10:35:37.000Z (over 9 years ago)
- Last Synced: 2025-04-08T15:49:37.328Z (6 months ago)
- Language: Java
- Size: 84 KB
- Stars: 39
- Watchers: 11
- Forks: 8
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Embedded services
[](https://maven-badges.herokuapp.com/maven-central/ru.yandex.qatools.embed/embedded-services) [](http://sonar.qatools.ru/dashboard/index/887)This project allows you to easily start your project with the embedded database (PostgreSQL, MongoDB) services and connect
them with the embedded ElasticSearch instance for full text indexing and search.## Why?
It's very easy to incorporate the embedded MongoDB/PostgreSQL within your test process.
### Maven
Add the following dependency to your pom.xml:
```xml
ru.yandex.qatools.embed
embedded-services
1.21
```
## How to run embedded MongoDB with ElasticSearch```java
// Starting the embedded services within temporary dir
MongoEmbeddedService mongo = new MongoEmbeddedService(
"localhost:27017", "dbname", "username", "password", "localreplica"
);
mongo.start();
ElasticMongoIndexingService elastic = new ElasticMongoIndexingService(
"localhost:27017", "dbname", "username", "password"
);
elastic.start();
// Indexing collection `posts`
elastic.addToIndex("posts");
// Searching within collection `posts` using Elastic (IndexingResult contains id of each post)
List posts = elastic.search("posts", "body:(lorem AND NOT ipsum)")
```## How to run embedded PostgreSQL with ElasticSearch
```java
// Starting the embedded services within temporary dir
PostgresEmbeddedService postgres = new PostgresEmbeddedService(
"localhost", 5429, "username", "password", "dbname"
);
postgres.start();
ElasticPostgresIndexingService elastic = new ElasticPostgresIndexingService(
Driver.class, "postgresql", "", "localhost", 5429, "username", "password", "dbname"
);
elastic.start();
// Indexing table `posts`
elastic.addToIndex("posts");
// Searching within table `posts` using Elastic (IndexingResult contains id of each post)
List posts = elastic.search("posts", "body:(lorem AND NOT ipsum)")
```