Comments (3)
First of all, you need to have a non-test code snippet that actually calls ES. Do you have it?
from elasticmock.
For example, if you have a prod code snippet like this one:
import elasticsearch
class FooService:
def __init__(self):
self.es = elasticsearch.Elasticsearch(hosts=[{'host': 'localhost', 'port': 9200}])
def create(self, index, body):
object = self.es.index(index, body)
return object.get('_id')
def read(self, index, id):
return self.es.get(index, id)
Than you should be able to test this class by mocking ES using the following test class:
from unittest import TestCase
from elasticmock import elasticmock
from foo.bar import FooService
class FooServiceTest(TestCase):
@elasticmock
def should_create_and_read_object(self):
# Variables used to test
index = 'test-index'
document = {
'foo': 'bar'
}
# Instantiate service
service = FooService()
# Index document on ElasticSearch
id = service.create(index, document)
self.assertIsNotNone(id)
# Retrive dpcument from ElasticSearch
object = service.read(index, id)
self.assertEquals(document, object.get('_source'))
If this example is not sufficient, please reopen this issue :)
I will add it to README as you suggested! Ty!
from elasticmock.
@jeromepin just added this example on README. TY for your suggestion!
from elasticmock.
Related Issues (20)
- Elasticsearch expects 'skipped' key in shards HOT 4
- elasticsearch.helpers.bulk doesn't work
- NotImplementedError: Fake query evaluation not implemented for query type: MATCH_ALL
- FakeSearch ignores attribute _source HOT 2
- Elasticsearch QueryType "should" missing HOT 1
- No `cat` client HOT 1
- elasticmock doesn't support some elasticsearch_dsl features HOT 1
- Some query parameters don't work HOT 1
- Deprecated use of _type in bulk API HOT 2
- If change import style elasticsearch mock fuctionality not working properly HOT 5
- Bulk API not working HOT 2
- prefix query type is not supporting
- Support elasticsearch >=8.0.0 HOT 2
- Question- Any plans to support Opensearch? HOT 1
- Add support for Elasticsearch.create
- Elasticmock does not mock the Elasticsearch client HOT 1
- FakeQueryCondition._evaluate_for_range_query_type tries to isoparse a datetime object HOT 2
- Add support for Elasticsearch.update
- Give more meaningful error messages when functions are not supported
- Interaction with test suites that reset the random package's seed
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from elasticmock.