Android Open Source - couchbase-lite-android Mock Checkpoint Get 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;
/ / f r o m w w w . j a v a 2 s . c o m
import com.couchbase.lite.Manager;
import com.squareup.okhttp.mockwebserver.MockResponse;
import com.squareup.okhttp.mockwebserver.RecordedRequest;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/*
Mock response to calling GET on a checkpoint where it returns a valid lastSequence
(as opposed to returning a 404)
{
"_id":"_local/7d3186e30a82a3312fc2c54098a25ce568cd7dfb",
"ok":true,
"_rev":"0-1",
"lastSequence":"2"
}
*/
public class MockCheckpointGet implements SmartMockResponse {
private String id;
private String ok;
private String rev;
private String lastSequence;
private boolean sticky;
private boolean is404;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getOk() {
return ok;
}
public void setOk(String ok) {
this.ok = ok;
}
public String getRev() {
return rev;
}
public void setRev(String rev) {
this.rev = rev;
}
public String getLastSequence() {
return lastSequence;
}
public void setLastSequence(String lastSequence) {
this.lastSequence = lastSequence;
}
private Map<String, Object> generateMap() {
Map<String, Object> docMap = new HashMap<String, Object>();
docMap.put("_id" , getId());
docMap.put("ok" , getOk());
docMap.put("_rev" , getRev());
docMap.put("lastSequence" , getLastSequence());
return docMap;
}
private String generateBody() {
Map documentMap = generateMap();
try {
return Manager.getObjectMapper().writeValueAsString(documentMap);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
@Override
public MockResponse generateMockResponse(RecordedRequest request) {
if (!request.getMethod().equals("GET" )) {
throw new RuntimeException("Expected GET, but was not a GET" );
}
MockResponse mockResponse = new MockResponse();
if (is404) {
MockHelper.set404NotFoundJson(mockResponse);
return mockResponse;
}
// extract id from request
// /db/_local/e11a8567a2ecaf27c52d02899fa82258a343d720 -> _local/e11a8567a2ecaf27c52d02899fa82258a343d720
String path = request.getPath();
String localDocId = "" ;
Pattern pattern = Pattern.compile("/db/_local/(.*)" );
Matcher matcher = pattern.matcher(path);
if (matcher.find()) {
localDocId = matcher.group(1);
} else {
throw new RuntimeException(String.format("Could not extract local doc id from: %s" , path));
}
// call setId
setId(String.format("_local/%s" , localDocId));
mockResponse.setBody(generateBody());
MockHelper.set200OKJson(mockResponse);
return mockResponse;
}
@Override
public boolean isSticky() {
return this.sticky;
}
@Override
public long delayMs() {
return 0;
}
public void setSticky(boolean sticky) {
this.sticky = sticky;
}
public void set404(boolean is404) {
this.is404 = is404;
}
}
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