def test_push_design_documents():
server = BootstrapServer("http://test.test:5984")
tempdir = tempfile.mkdtemp()
try:
test_db_path = os.path.join(tempdir, "test")
os.mkdir(test_db_path)
hidden_db_path = os.path.join(tempdir, ".test")
os.mkdir(hidden_db_path)
views_path = os.path.join(test_db_path, "views")
os.mkdir(views_path)
test_view_path = os.path.join(views_path, "test")
os.mkdir(test_view_path)
map_path = os.path.join(test_view_path, "map.js")
with open(map_path, "w+") as f:
f.write("test")
hidden_map_path = os.path.join(test_view_path, ".test.js")
with open(hidden_map_path, "w+") as f:
f.write("test")
httpretty.register_uri(
httpretty.HEAD, "http://test.test:5984/test"
)
def create_design_doc(request, uri, headers):
obj = {
"_id": "_design/openag",
"views": {
"test": {
"map": "test"
}
}
}
if json.loads(request.body) == obj:
return 200, headers, json.dumps({
"id": "_design/openag",
"rev": "a"
})
else:
return 500, headers, ""
httpretty.register_uri(
httpretty.HEAD, "http://test.test:5984/test/_design/openag",
status=404
)
httpretty.register_uri(
httpretty.PUT, "http://test.test:5984/test/_design/openag",
body=create_design_doc, content_type="application/json"
)
server.push_design_documents(tempdir)
finally:
shutil.rmtree(tempdir)
评论列表
文章目录