Android Open Source - couchbase-lite-android Mock Bulk Docs From Project Back to project page couchbase-lite-android .
License The source code is released under:
Apache License
If you think the Android project couchbase-lite-android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package com.couchbase.lite.mockserver;
/ * w w w . j a v a 2 s . c o m * /
import com.couchbase.lite.Database;
import com.couchbase.lite.Manager;
import com.couchbase.lite.util.Log;
import com.squareup.okhttp.mockwebserver.MockResponse;
import com.squareup.okhttp.mockwebserver.RecordedRequest;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/*
Fake bulk docs response that indicates everything was stored
Given:
{
"new_edits": false,
"docs": [{
"_rev": "2-e776a593-6b61-44ee-b51a-0bdf205c9e13",
"foo": 1,
"_id": "doc1-1384988871931",
"_revisions": {
"start": 2,
"ids": ["e776a593-6b61-44ee-b51a-0bdf205c9e13", "38af0cab-d397-4b68-a59e-67c341f98dc4"]
}
}, {
...
}
}
Return:
[{
"id": "doc1-1384988871931",
"rev": "2-e776a593-6b61-44ee-b51a-0bdf205c9e13"
}, {
...
}]
*/
public class MockBulkDocs implements SmartMockResponse {
private boolean isSticky;
@Override
public MockResponse generateMockResponse(RecordedRequest request) {
if (!request.getMethod().equals("POST" )) {
throw new RuntimeException(String.format("Expected POST, got %s" , request.getMethod()));
}
if (!request.getPath().contains("_bulk_docs" )) {
throw new RuntimeException(String.format("Expected _bulk_docs in path, got %s" , request.getPath()));
}
try {
MockResponse mockResponse = new MockResponse();
Map<String, Object> jsonMap = MockHelper.getJsonMapFromRequest(request.getBody());
List<Map<String, Object>> responseList = new ArrayList<Map<String, Object>>();
ArrayList<Map<String, Object>> docs = (ArrayList) jsonMap.get("docs" );
for (Map<String, Object> doc : docs) {
Map<String, Object> responseListItem = new HashMap<String, Object>();
responseListItem.put("id" , doc.get("_id" ));
responseListItem.put("rev" , doc.get("_rev" ));
Log.d(Database.TAG, "id: " + doc.get("_id" ));
Log.d(Database.TAG, "rev: " + doc.get("_rev" ));
responseList.add(responseListItem);
}
mockResponse.setBody(Manager.getObjectMapper().writeValueAsBytes(responseList));
MockHelper.set200OKJson(mockResponse);
return mockResponse;
} catch (IOException e) {
throw new RuntimeException(e);
}
}
public static Map<String, Object> findDocById(Map<String, Object> bulkDocsJson, String doc4Id) {
List<Map> docs = (List) bulkDocsJson.get("docs" );
for (Map doc : docs) {
String id = (String) doc.get("_id" );
if (id.equals(doc4Id)) {
return doc;
}
}
throw new RuntimeException(String.format("Can't find doc w/ id: %s in %s" , doc4Id, bulkDocsJson));
}
@Override
public boolean isSticky() {
return this.isSticky;
}
@Override
public long delayMs() {
return 0;
}
public void setSticky(boolean isSticky) {
this.isSticky = isSticky;
}
}
Java Source Code List com.couchbase.lite.ApiTest.java com.couchbase.lite.AttachmentsTest.java com.couchbase.lite.AuthTest.java com.couchbase.lite.Base64Test.java com.couchbase.lite.BlobStoreWriterTest.java com.couchbase.lite.CRUDOperationsTest.java com.couchbase.lite.CacheTest.java com.couchbase.lite.ChangesTest.java com.couchbase.lite.CollationTest.java com.couchbase.lite.DatabaseTest.java com.couchbase.lite.DocumentTest.java com.couchbase.lite.LitePerfTestCase.java com.couchbase.lite.LiteTestCase.java com.couchbase.lite.LiteTestContext.java com.couchbase.lite.LocalDocsTest.java com.couchbase.lite.ManagerTest.java com.couchbase.lite.MiscTest.java com.couchbase.lite.MultipartReaderTest.java com.couchbase.lite.RevTreeTest.java com.couchbase.lite.RevisionsTest.java com.couchbase.lite.RouterTest.java com.couchbase.lite.SequenceMapTest.java com.couchbase.lite.ValidationsTest.java com.couchbase.lite.ViewsTest.java com.couchbase.lite.android.AndroidContext.java com.couchbase.lite.android.AndroidLogger.java com.couchbase.lite.android.AndroidNetworkReachabilityManager.java com.couchbase.lite.android.AndroidSQLiteStorageEngineFactory.java com.couchbase.lite.android.AndroidSQLiteStorageEngine.java com.couchbase.lite.mockserver.MockBulkDocs.java com.couchbase.lite.mockserver.MockChangesFeedNoResponse.java com.couchbase.lite.mockserver.MockChangesFeed.java com.couchbase.lite.mockserver.MockCheckpointGet.java com.couchbase.lite.mockserver.MockCheckpointPut.java com.couchbase.lite.mockserver.MockDispatcher.java com.couchbase.lite.mockserver.MockDocumentBulkGet.java com.couchbase.lite.mockserver.MockDocumentGet.java com.couchbase.lite.mockserver.MockDocumentPut.java com.couchbase.lite.mockserver.MockFacebookAuthPost.java com.couchbase.lite.mockserver.MockHelper.java com.couchbase.lite.mockserver.MockPreloadedPullTarget.java com.couchbase.lite.mockserver.MockRevsDiff.java com.couchbase.lite.mockserver.MockSessionGet.java com.couchbase.lite.mockserver.SmartMockResponse.java com.couchbase.lite.mockserver.WrappedSmartMockResponse.java com.couchbase.lite.performance2.Test01_CreateDocs.java com.couchbase.lite.performance2.Test02_CreateDocsUnoptimizedWay.java com.couchbase.lite.performance2.Test03_CreateDocsWithAttachments.java com.couchbase.lite.performance2.Test06_PullReplication.java com.couchbase.lite.performance2.Test07_PushReplication.java com.couchbase.lite.performance2.Test08_DocRevisions.java com.couchbase.lite.performance2.Test09_LoadDB.java com.couchbase.lite.performance2.Test10_DeleteDB.java com.couchbase.lite.performance2.Test11_DeleteDocs.java com.couchbase.lite.performance2.Test12_IndexView.java com.couchbase.lite.performance2.Test13_QueryView.java com.couchbase.lite.performance2.Test14_ReduceView.java com.couchbase.lite.performance2.Test28_KeySizes.java com.couchbase.lite.performance2.Test29_AllDocQuery.java com.couchbase.lite.performance2.Test30_LiveQuery.java com.couchbase.lite.performance2.Test31_CompactDB.java com.couchbase.lite.performance.Test10_DeleteDB.java com.couchbase.lite.performance.Test11_DeleteDocs.java com.couchbase.lite.performance.Test12_IndexView.java com.couchbase.lite.performance.Test13_QueryView.java com.couchbase.lite.performance.Test14_ReduceView.java com.couchbase.lite.performance.Test16_ParallelPushReplication.java com.couchbase.lite.performance.Test1_CreateDocs.java com.couchbase.lite.performance.Test2_CreateDocsUnoptimizedWay.java com.couchbase.lite.performance.Test3_CreateDocsWithAttachments.java com.couchbase.lite.performance.Test6_PushReplication.java com.couchbase.lite.performance.Test7_PullReplication.java com.couchbase.lite.performance.Test8_DocRevisions.java com.couchbase.lite.performance.Test9_LoadDB.java com.couchbase.lite.replicator.BulkDownloaderTest.java com.couchbase.lite.replicator.ChangeTrackerTest.java com.couchbase.lite.replicator.CustomizableMockHttpClient.java com.couchbase.lite.replicator.ReplicationTest.java com.couchbase.lite.replicator.ResponderChain.java com.couchbase.lite.support.BatcherTest.java com.couchbase.lite.support.JsonDocumentTest.java com.couchbase.lite.support.PersistentCookieStoreTest.java com.couchbase.lite.support.RemoteRequestTest.java com.couchbase.touchdb.RevCollator.java com.couchbase.touchdb.TDCollateJSON.java