Android Open Source - couchbase-lite-android Mock Revs Diff 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.Manager;
import com.couchbase.lite.util.Log;
import com.squareup.okhttp.mockwebserver.MockResponse;
import com.squareup.okhttp.mockwebserver.RecordedRequest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
/**
*
*
* Eg, given
*/
/*
By default, return a _revs_diff response which says everything is missing.
Given:
{
"doc1-1403051744202":[
"2-3ec9ce8f9d323071505e895ba56ec946"
],
"doc2-1403051744202":[
"2-6aa304118ef11cf427ec90ea9ba7ec09"
]
}
Return:
{
"doc1-1403051744202":{
"missing":[
"2-3ec9ce8f9d323071505e895ba56ec946"
]
},
"doc2-1403051744202":{
"missing":[
"2-6aa304118ef11cf427ec90ea9ba7ec09"
]
}
}
*/
public class MockRevsDiff 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("_revs_diff" )) {
throw new RuntimeException(String.format("Expected _revs_diff in path, got %s" , request.getPath()));
}
try {
MockResponse mockResponse = new MockResponse();
Map<String, Object> jsonMap = MockHelper.getJsonMapFromRequest(request.getBody());
Log.d(Log.TAG, "MockRevsDiff jsonMap: %s" , jsonMap);
Map<String, Object> responseMap = new HashMap<String, Object>();
for (String key : jsonMap.keySet()) {
ArrayList value = (ArrayList) jsonMap.get(key);
Map<String, Object> missingMap = new HashMap<String, Object>();
missingMap.put("missing" , value);
responseMap.put(key, missingMap);
}
mockResponse.setBody(Manager.getObjectMapper().writeValueAsBytes(responseMap));
MockHelper.set200OKJson(mockResponse);
return mockResponse;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
@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