def test_remove_on_emtpy(logger, mongodb): """Test a remove sdf on an empty db causes no problems. """ assert document.all() == [] example_sdf = [ { "type": "delete", "id": "1246", "version": 2 } ] rc = document.load(example_sdf) assert rc['status'] == 'ok' assert rc['adds'] == 0 assert rc['deletes'] == 1 assert rc['error'] == '' assert rc['warning'] == '' found = document.all() assert len(found) == 0 report = document.report() assert len(report['documents_removed']) == 0 assert len(report['documents']) == 0
def test_document_add(logger, mongodb): """Test mongo document API. """ assert document.all() == [] doc = { "designer": "98", "price": 1195, "retailer": "", "brand_id": [ 7017 ], "size": [], "category": "", "name": "Pro Quad Clamp Purple", "colour": [], "brand": "98", "created_at": 1376391294 } example_sdf = [ { "lang": "en", "fields": doc, "version": 1376497963, "type": "add", "id": 1246 } ] rc = document.load(example_sdf) assert rc['status'] == 'ok' assert rc['adds'] == 1 assert rc['deletes'] == 0 assert rc['error'] == '' assert rc['warning'] == '' found = document.all() assert len(found) == 1 assert found[0]['id'] == '1246' assert found[0]['_id'] == '1246' assert found[0]['lang'] == 'en' # type should have been stripped: assert 'type' not in found[0] assert found[0]['version'] == '1376497963' assert found[0]['fields']['name'] == "Pro Quad Clamp Purple" document.remove_all() assert len(document.all()) == 0
def test_search_with_no_content(logger, mongodb, elastic): """Test search an empty system doesn't raise exceptions. """ assert document.all() == [] results = document.search() assert results['hits']['found'] == 0
def test_document_add(logger, elastic, mongodb): """Test mongo document API. """ assert document.all() == [] doc = { "designer": "98", "price": 1195, "retailer": "", "brand_id": [7017], "size": [], "category": "", "name": "Pro Quad Clamp Purple", "colour": [], "brand": "98", "created_at": 1376391294 } example_sdf = [{ "lang": "en", "fields": doc, "version": 1376497963, "type": "add", "id": 1246 }] rc = document.load(example_sdf) assert rc['status'] == 'ok' assert rc['adds'] == 1 assert rc['deletes'] == 0 assert rc['error'] == '' assert rc['warning'] == '' found = document.all() assert len(found) == 1 assert found[0]['id'] == '1246' assert found[0]['_id'] == '1246' assert found[0]['lang'] == 'en' # type should have been stripped: assert 'type' not in found[0] assert found[0]['version'] == '1376497963' assert found[0]['fields']['name'] == "Pro Quad Clamp Purple" document.remove_all() assert len(document.all()) == 0
def test_remove_on_emtpy(logger, mongodb): """Test a remove sdf on an empty db causes no problems. """ assert document.all() == [] example_sdf = [{"type": "delete", "id": "1246", "version": 2}] rc = document.load(example_sdf) assert rc['status'] == 'ok' assert rc['adds'] == 0 assert rc['deletes'] == 1 assert rc['error'] == '' assert rc['warning'] == '' found = document.all() assert len(found) == 0 report = document.report() assert len(report['documents_removed']) == 0 assert len(report['documents']) == 0
def test_basic_search(logger, mongodb, elastic): """Test searching the documents stored in mongodb. """ assert document.all() == [] doc = { "designer": "GearPro", "price": 12.60, "retailer": "MyShoppe", "brand_id": [7017], "size": [], "category": "", "name": "Pro Quad Clamp Purple", "colour": [], "brand": "98", "created_at": 1376391294 } doc2 = { "designer": "GearPro", "price": 12.60, "retailer": "MyShoppe", "brand_id": [7016], "size": [], "category": "", "name": "Bike Pump Purple", "colour": [], "brand": "98", "created_at": 1376391294 } example_sdf = [{ "lang": "en", "fields": doc, "version": 1376497963, "type": "add", "id": 1246 }, { "lang": "en", "fields": doc2, "version": 1376497963, "type": "add", "id": 1247 }] rc = document.load(example_sdf) assert rc['status'] == 'ok' assert rc['adds'] == 2 # return all: results = document.search() assert results['hits']['found'] == 2 c = [{'id': '1247'}, {'id': '1246'}] c.sort() results['hits']['hit'].sort() assert results['hits']['hit'] == c # return a specific one: query = dict(q="pro") results = document.search(query) assert results['hits']['found'] == 1 assert results['hits']['hit'] == [{'id': '1246'}] query = dict(q="myshop") results = document.search(query) assert results['hits']['found'] == 2 c.sort() results['hits']['hit'].sort() assert results['hits']['hit'] == c query = dict(q="not in any string") results = document.search(query) assert results['hits']['found'] == 0
def test_basic_search(logger, mongodb, elastic): """Test searching the documents stored in mongodb. """ assert document.all() == [] doc = { "designer": "GearPro", "price": 12.60, "retailer": "MyShoppe", "brand_id": [ 7017 ], "size": [], "category": "", "name": "Pro Quad Clamp Purple", "colour": [], "brand": "98", "created_at": 1376391294 } doc2 = { "designer": "GearPro", "price": 12.60, "retailer": "MyShoppe", "brand_id": [ 7016 ], "size": [], "category": "", "name": "Bike Pump Purple", "colour": [], "brand": "98", "created_at": 1376391294 } example_sdf = [ { "lang": "en", "fields": doc, "version": 1376497963, "type": "add", "id": 1246 }, { "lang": "en", "fields": doc2, "version": 1376497963, "type": "add", "id": 1247 } ] rc = document.load(example_sdf) assert rc['status'] == 'ok' assert rc['adds'] == 2 # return all: results = document.search() assert results['hits']['found'] == 2 expected = [ {'id': '1246', 'fields': doc}, {'id': '1247', 'fields': doc2}, ] assert results['hits']['hit'] == expected # return a specific one: query = dict(q="pro") results = document.search(query) assert results['hits']['found'] == 1 assert results['hits']['hit'] == [{'id': '1246', 'fields': doc}] # this should return two results for the text MyShoppe: query = dict(q="myshop") results = document.search(query) assert results['hits']['found'] == 2 assert results['hits']['hit'] == expected query = dict(q="not in any string") results = document.search(query) assert results['hits']['found'] == 0 # return in sdk format query = dict(q="pro", format="sdk") results = document.search(query) for key, value in doc.items(): if not isinstance(value, list): doc[key] = [value] assert results['hits']['found'] == 1 assert results['hits']['hit'] == [{'id': '1246', 'fields': doc}]
def test_add_remove(logger, mongodb): """Test add and removing of documents via the batch upload sdf. """ assert document.all() == [] doc = { "designer": "98", "price": 1195, "retailer": "", "brand_id": [7017], "size": [], "category": "", "name": "Pro Quad Clamp Purple", "colour": [], "brand": "98", "created_at": 1376391294 } example_add_sdf = [{ "lang": "en", "fields": doc, "version": 1376497963, "type": "add", "id": 1246 }] rc = document.load(example_add_sdf) assert rc['status'] == 'ok' assert rc['adds'] == 1 assert rc['deletes'] == 0 assert rc['error'] == '' assert rc['warning'] == '' report = document.report() assert len(report['documents_removed']) == 0 assert len(report['documents']) == 1 doc = report['documents'][0] assert doc["fields"]["name"] == "Pro Quad Clamp Purple" # Now remove the document from the store: # example_remove_sdf = [{"type": "delete", "id": "1246", "version": 2}] rc = document.load(example_remove_sdf) assert rc['status'] == 'ok' assert rc['adds'] == 0 assert rc['deletes'] == 1 assert rc['error'] == '' assert rc['warning'] == '' found = document.all() assert len(found) == 0 report = document.report() assert len(report['documents_removed']) == 1 assert len(report['documents']) == 0 doc = report['documents_removed'][0] assert doc["fields"]["name"] == "Pro Quad Clamp Purple" # Clear out the remove and delete record of all documents: # document.remove_all() report = document.report() assert len(document.all()) == 0 assert len(report['documents_removed']) == 0 assert len(report['documents']) == 0
def test_remove_then_search(logger, mongodb): """Test search after a removal of a document. """ assert document.all() == [] doc = { "designer": "98", "price": 1195, "retailer": "", "brand_id": [7017], "size": [], "category": "", "name": "Pro Quad Clamp Purple", "colour": [], "brand": "98", "created_at": 1376391294 } example_add_sdf = [{ "lang": "en", "fields": doc, "version": 1376497963, "type": "add", "id": 1246 }] rc = document.load(example_add_sdf) assert rc['status'] == 'ok' assert rc['adds'] == 1 assert rc['deletes'] == 0 assert rc['error'] == '' assert rc['warning'] == '' report = document.report() assert len(report['documents_removed']) == 0 assert len(report['documents']) == 1 doc = report['documents'][0] assert doc["fields"]["name"] == "Pro Quad Clamp Purple" # Now remove the document from the store: # example_remove_sdf = [{"type": "delete", "id": "1246", "version": 2}] rc = document.load(example_remove_sdf) assert rc['status'] == 'ok' assert rc['adds'] == 0 assert rc['deletes'] == 1 assert rc['error'] == '' assert rc['warning'] == '' found = document.all() assert len(found) == 0 report = document.report() assert len(report['documents_removed']) == 1 assert len(report['documents']) == 0 doc = report['documents_removed'][0] assert doc["fields"]["name"] == "Pro Quad Clamp Purple" # Now search for the document: # found = document.search({'q': 'Pro Quad Clamp Purple'}) hits = found['hits'] assert hits['found'] == 0
def test_add_remove(logger, mongodb): """Test add and removing of documents via the batch upload sdf. """ assert document.all() == [] doc = { "designer": "98", "price": 1195, "retailer": "", "brand_id": [ 7017 ], "size": [], "category": "", "name": "Pro Quad Clamp Purple", "colour": [], "brand": "98", "created_at": 1376391294 } example_add_sdf = [ { "lang": "en", "fields": doc, "version": 1376497963, "type": "add", "id": 1246 } ] rc = document.load(example_add_sdf) assert rc['status'] == 'ok' assert rc['adds'] == 1 assert rc['deletes'] == 0 assert rc['error'] == '' assert rc['warning'] == '' report = document.report() print report assert len(report['documents_removed']) == 0 assert len(report['documents']) == 1 doc = report['documents'][0] assert doc["fields"]["name"] == "Pro Quad Clamp Purple" # Now remove the document from the store: # example_remove_sdf = [ { "type": "delete", "id": "1246", "version": 2 } ] rc = document.load(example_remove_sdf) assert rc['status'] == 'ok' assert rc['adds'] == 0 assert rc['deletes'] == 1 assert rc['error'] == '' assert rc['warning'] == '' found = document.all() assert len(found) == 0 report = document.report() assert len(report['documents_removed']) == 1 assert len(report['documents']) == 0 doc = report['documents_removed'][0] assert doc["fields"]["name"] == "Pro Quad Clamp Purple" # Clear out the remove and delete record of all documents: # document.remove_all() report = document.report() assert len(document.all()) == 0 assert len(report['documents_removed']) == 0 assert len(report['documents']) == 0