# Copyright (c) 2011 The Chromium OS Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import cellular_system_error class AirStateVerifierPermissive(object): """An abstraction for verifying the air-side cellular state. This version is for commercial networks where we can't verify anything, so it's a no-op.""" def AssertDataStatusIn(self, states): """Assert that the device's status is in states. Arguments: states: Collection of states Raises: Error on failure. """ # This base class is for commercial networks. It can't verify, so # it doesn't pass def IsDataStatusIn(self, expected): return True class AirStateVerifierBasestation(object): """An abstraction for verifying the air-side cellular state. This version checks with the base station emulator. """ def __init__(self, base_station): self.base_station = base_station def IsDataStatusIn(self, expected): actual = self.base_station.GetUeDataStatus() return actual in expected def AssertDataStatusIn(self, expected): actual = self.base_station.GetUeDataStatus() if actual not in expected: raise cellular_system_error.BadState( 'expected UE in status %s, got %s' % (expected, actual))