| # 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)) |