Home | History | Annotate | Download | only in integration
      1 // Copyright 2014 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "chrome/browser/sync/test/integration/sync_integration_test_util.h"
      6 
      7 #include "chrome/browser/sync/profile_sync_service.h"
      8 #include "chrome/browser/sync/test/integration/single_client_status_change_checker.h"
      9 #include "chrome/browser/sync/test/integration/updated_progress_marker_checker.h"
     10 
     11 namespace sync_integration_test_util {
     12 
     13 class PassphraseRequiredChecker : public SingleClientStatusChangeChecker {
     14  public:
     15   explicit PassphraseRequiredChecker(ProfileSyncService* service)
     16       : SingleClientStatusChangeChecker(service) {}
     17 
     18   virtual bool IsExitConditionSatisfied() OVERRIDE {
     19     return service()->IsPassphraseRequired();
     20   }
     21 
     22   virtual std::string GetDebugMessage() const OVERRIDE {
     23     return "Passhrase Required";
     24   }
     25 };
     26 
     27 class PassphraseAcceptedChecker : public SingleClientStatusChangeChecker {
     28  public:
     29   explicit PassphraseAcceptedChecker(ProfileSyncService* service)
     30       : SingleClientStatusChangeChecker(service) {}
     31 
     32   virtual bool IsExitConditionSatisfied() OVERRIDE {
     33     return !service()->IsPassphraseRequired() &&
     34         service()->IsUsingSecondaryPassphrase();
     35   }
     36 
     37   virtual std::string GetDebugMessage() const OVERRIDE {
     38     return "Passhrase Accepted";
     39   }
     40 };
     41 
     42 bool AwaitPassphraseRequired(ProfileSyncService* service) {
     43   PassphraseRequiredChecker checker(service);
     44   checker.Wait();
     45   return !checker.TimedOut();
     46 }
     47 
     48 bool AwaitPassphraseAccepted(ProfileSyncService* service) {
     49   PassphraseAcceptedChecker checker(service);
     50   checker.Wait();
     51   return !checker.TimedOut();
     52 }
     53 
     54 bool AwaitCommitActivityCompletion(ProfileSyncService* service) {
     55   UpdatedProgressMarkerChecker checker(service);
     56   checker.Wait();
     57   return !checker.TimedOut();
     58 }
     59 
     60 }  // namespace sync_integration_test_util
     61