object_store_creator_test.py revision c2e0dbddbe15c98d52c4786dac06cb8952a8ae6d
1#!/usr/bin/env python
2# Copyright 2013 The Chromium Authors. All rights reserved.
3# Use of this source code is governed by a BSD-style license that can be
4# found in the LICENSE file.
5
6import unittest
7
8from test_object_store import TestObjectStore
9from object_store_creator import ObjectStoreCreator
10
11class _FooClass(object):
12  def __init__(self): pass
13
14class ObjectStoreCreatorTest(unittest.TestCase):
15  def setUp(self):
16    self.creator = ObjectStoreCreator(_FooClass,
17                                      '3-0',
18                                      'test',
19                                      store_type=TestObjectStore)
20
21  def testVanilla(self):
22    store = self.creator.Create()
23    self.assertEqual('3-0/_FooClass@test', store.namespace)
24
25  def testWithCategory(self):
26    store = self.creator.Create(category='cat')
27    self.assertEqual('3-0/_FooClass@test/cat', store.namespace)
28
29  def testIllegalInput(self):
30    self.assertRaises(AssertionError, self.creator.Create, category='5')
31    self.assertRaises(AssertionError, self.creator.Create, category='forty2')
32
33  def testFactoryWithBranch(self):
34    store = ObjectStoreCreator.Factory('3-0', 'dev').Create(
35        _FooClass, store_type=TestObjectStore).Create()
36    self.assertEqual('3-0/_FooClass@dev', store.namespace)
37
38if __name__ == '__main__':
39  unittest.main()
40