Wed, 31 Dec 2014 07:22:50 +0100
Correct previous dual key logic pending first delivery installment.
1 /* Any copyright is dedicated to the Public Domain.
2 http://creativecommons.org/publicdomain/zero/1.0/ */
4 package org.mozilla.gecko.background.testhelpers;
6 import java.io.IOException;
7 import java.util.HashMap;
9 import org.json.simple.parser.ParseException;
10 import org.mozilla.gecko.sync.EngineSettings;
11 import org.mozilla.gecko.sync.NonObjectJSONException;
12 import org.mozilla.gecko.sync.SyncConfiguration;
13 import org.mozilla.gecko.sync.SyncConfigurationException;
14 import org.mozilla.gecko.sync.crypto.KeyBundle;
15 import org.mozilla.gecko.sync.delegates.GlobalSessionCallback;
16 import org.mozilla.gecko.sync.net.BasicAuthHeaderProvider;
17 import org.mozilla.gecko.sync.stage.CompletedStage;
18 import org.mozilla.gecko.sync.stage.GlobalSyncStage;
19 import org.mozilla.gecko.sync.stage.GlobalSyncStage.Stage;
22 public class MockGlobalSession extends MockPrefsGlobalSession {
24 public MockGlobalSession(String username, String password, KeyBundle keyBundle, GlobalSessionCallback callback) throws SyncConfigurationException, IllegalArgumentException, NonObjectJSONException, IOException, ParseException {
25 this(new SyncConfiguration(username, new BasicAuthHeaderProvider(username, password), new MockSharedPreferences(), keyBundle), callback);
26 }
28 public MockGlobalSession(SyncConfiguration config, GlobalSessionCallback callback)
29 throws SyncConfigurationException, IllegalArgumentException, IOException, ParseException, NonObjectJSONException {
30 super(config, callback, null, null);
31 }
33 @Override
34 public boolean isEngineRemotelyEnabled(String engine, EngineSettings engineSettings) {
35 return false;
36 }
38 @Override
39 protected void prepareStages() {
40 super.prepareStages();
41 HashMap<Stage, GlobalSyncStage> newStages = new HashMap<Stage, GlobalSyncStage>(this.stages);
43 for (Stage stage : this.stages.keySet()) {
44 newStages.put(stage, new MockServerSyncStage());
45 }
47 // This signals that the global session is complete.
48 newStages.put(Stage.completed, new CompletedStage());
50 this.stages = newStages;
51 }
53 public MockGlobalSession withStage(Stage stage, GlobalSyncStage syncStage) {
54 stages.put(stage, syncStage);
56 return this;
57 }
58 }