1a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craik#! /usr/bin/env python
2a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craik# Copyright 2016 The Chromium Authors. All rights reserved.
3a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craik# Use of this source code is governed by a BSD-style license that can be
4a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craik# found in the LICENSE file.
5a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craik
6a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craikimport os
7a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craikimport tempfile
8a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craikimport unittest
9a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craik
10a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craikfrom devil.android import device_blacklist
11a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craik
12a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craik
13a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craikclass DeviceBlacklistTest(unittest.TestCase):
14a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craik
15a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craik  def testBlacklistFileDoesNotExist(self):
16a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craik    with tempfile.NamedTemporaryFile() as blacklist_file:
17a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craik      # Allow the temporary file to be deleted.
18a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craik      pass
19a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craik
20a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craik    test_blacklist = device_blacklist.Blacklist(blacklist_file.name)
21a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craik    self.assertEquals({}, test_blacklist.Read())
22a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craik
23a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craik  def testBlacklistFileIsEmpty(self):
24a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craik    try:
25a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craik      with tempfile.NamedTemporaryFile(delete=False) as blacklist_file:
26a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craik        # Allow the temporary file to be closed.
27a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craik        pass
28a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craik
29a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craik      test_blacklist = device_blacklist.Blacklist(blacklist_file.name)
30a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craik      self.assertEquals({}, test_blacklist.Read())
31a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craik
32a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craik    finally:
33a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craik      if os.path.exists(blacklist_file.name):
34a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craik        os.remove(blacklist_file.name)
35a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craik
36a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craik
37a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craikif __name__ == '__main__':
38a23c9e9f6fc22fe5611def685e1984062b13b560Chris Craik  unittest.main()
39