1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/mobile/android/tests/background/junit3/src/testhelpers/MockGlobalSession.java Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,58 @@ 1.4 +/* Any copyright is dedicated to the Public Domain. 1.5 + http://creativecommons.org/publicdomain/zero/1.0/ */ 1.6 + 1.7 +package org.mozilla.gecko.background.testhelpers; 1.8 + 1.9 +import java.io.IOException; 1.10 +import java.util.HashMap; 1.11 + 1.12 +import org.json.simple.parser.ParseException; 1.13 +import org.mozilla.gecko.sync.EngineSettings; 1.14 +import org.mozilla.gecko.sync.NonObjectJSONException; 1.15 +import org.mozilla.gecko.sync.SyncConfiguration; 1.16 +import org.mozilla.gecko.sync.SyncConfigurationException; 1.17 +import org.mozilla.gecko.sync.crypto.KeyBundle; 1.18 +import org.mozilla.gecko.sync.delegates.GlobalSessionCallback; 1.19 +import org.mozilla.gecko.sync.net.BasicAuthHeaderProvider; 1.20 +import org.mozilla.gecko.sync.stage.CompletedStage; 1.21 +import org.mozilla.gecko.sync.stage.GlobalSyncStage; 1.22 +import org.mozilla.gecko.sync.stage.GlobalSyncStage.Stage; 1.23 + 1.24 + 1.25 +public class MockGlobalSession extends MockPrefsGlobalSession { 1.26 + 1.27 + public MockGlobalSession(String username, String password, KeyBundle keyBundle, GlobalSessionCallback callback) throws SyncConfigurationException, IllegalArgumentException, NonObjectJSONException, IOException, ParseException { 1.28 + this(new SyncConfiguration(username, new BasicAuthHeaderProvider(username, password), new MockSharedPreferences(), keyBundle), callback); 1.29 + } 1.30 + 1.31 + public MockGlobalSession(SyncConfiguration config, GlobalSessionCallback callback) 1.32 + throws SyncConfigurationException, IllegalArgumentException, IOException, ParseException, NonObjectJSONException { 1.33 + super(config, callback, null, null); 1.34 + } 1.35 + 1.36 + @Override 1.37 + public boolean isEngineRemotelyEnabled(String engine, EngineSettings engineSettings) { 1.38 + return false; 1.39 + } 1.40 + 1.41 + @Override 1.42 + protected void prepareStages() { 1.43 + super.prepareStages(); 1.44 + HashMap<Stage, GlobalSyncStage> newStages = new HashMap<Stage, GlobalSyncStage>(this.stages); 1.45 + 1.46 + for (Stage stage : this.stages.keySet()) { 1.47 + newStages.put(stage, new MockServerSyncStage()); 1.48 + } 1.49 + 1.50 + // This signals that the global session is complete. 1.51 + newStages.put(Stage.completed, new CompletedStage()); 1.52 + 1.53 + this.stages = newStages; 1.54 + } 1.55 + 1.56 + public MockGlobalSession withStage(Stage stage, GlobalSyncStage syncStage) { 1.57 + stages.put(stage, syncStage); 1.58 + 1.59 + return this; 1.60 + } 1.61 +}