Example #1
0
    def testNumberedAttrsWithSubKeys(self):

        d1 = Driver('d1')

        d1.add_attr(key='foo', value='bar1', number=True, subkey='one')
        d1.add_attr(key='foo', value='bar2', number=True, subkey='two')

        self.assertEqual(d1.attr_items(), [(('foo', 0, 'one'), 'bar1'),
                                           (('foo', 1, 'two'), 'bar2')])
Example #2
0
    def testAttributeGetValueAfterAdd(self):

        d1 = Driver('d1')

        d1.add_attr('foo', 2)
        self.assertEqual(d1.attr_items('foo'), [(('foo', None, None), 2)])
        d1.add_attr('bar', 3)
        self.assertEqual(d1.attr_items('foo'), [(('foo', None, None), 2)])
        self.assertEqual(d1.attr_items('bar'), [(('bar', None, None), 3)])
Example #3
0
    def testAttributeGetValueAfterAdd(self):

        d1 = Driver('d1')

        d1.add_attr('foo', 2)
        self.assertEqual(d1.attr_items('foo'), [(('foo', None, None), 2)])
        d1.add_attr('bar', 3)
        self.assertEqual(d1.attr_items('foo'), [(('foo', None, None), 2)])
        self.assertEqual(d1.attr_items('bar'), [(('bar', None, None), 3)])
Example #4
0
    def testSubKeyAttrs(self):

        d1 = Driver('d1')

        d1.add_attr('foo', 'bar', subkey='subfoo')
        d1.add_attr('foo', 'caz', subkey='subbar')

        self.assertEqual(sorted(d1.attr_key_tuples()),
                         sorted([('foo', None, 'subfoo'),
                                 ('foo', None, 'subbar')]))
Example #5
0
    def testSubKeyAttrs(self):

        d1 = Driver('d1')

        d1.add_attr('foo', 'bar', subkey='subfoo')
        d1.add_attr('foo', 'caz', subkey='subbar')

        self.assertEqual(
            sorted(d1.attr_key_tuples()),
            sorted([('foo', None, 'subfoo'), ('foo', None, 'subbar')]))
Example #6
0
    def testNumberedAttrsWithSubKeys(self):

        d1 = Driver('d1')

        d1.add_attr(key='foo', value='bar1', number=True, subkey='one')
        d1.add_attr(key='foo', value='bar2', number=True, subkey='two')

        self.assertEqual(d1.attr_items(),
                         [(('foo', 0, 'one'), 'bar1'),
                          (('foo', 1, 'two'), 'bar2')])
Example #7
0
    def testGettingAttrs(self):

        d1 = Driver('d1')

        d1.add_attr('foo', 'bar')
        d1.add_attr('foo', 'bar1', number=0)

        self.assertEqual(sorted(d1.attr_items()),
                         [(('foo', None, None), 'bar'),
                          (('foo', 0, None), 'bar1')])

        self.assertEqual(d1.attr_items(number=True),
                         [(('foo', 0, None), 'bar1')])
Example #8
0
    def testGettingAttrs(self):

        d1 = Driver('d1')

        d1.add_attr('foo', 'bar')
        d1.add_attr('foo', 'bar1', number=0)

        self.assertEqual(sorted(d1.attr_items()),
                         [(('foo', None, None), 'bar'),
                          (('foo', 0, None), 'bar1')])

        self.assertEqual(d1.attr_items(number=True),
                         [(('foo', 0, None), 'bar1')])
Example #9
0
    def testAutoNumberedAttrs(self):
        d1 = Driver('d1')

        d1.add_attr('foo', 'bar')

        d1.add_attr('foo', 'bar1', number=True)
        d1.add_attr('foo', 'bar2', number=True)

        clusto.flush()

        self.assertEqual(
            sorted(d1.attr_items()),
            sorted([(('foo', None, None), 'bar'), (('foo', 0, None), 'bar1'),
                    (('foo', 1, None), 'bar2')]))

        self.assertEqual(
            sorted(d1.attr_items(number=True)),
            sorted([(('foo', 0, None), 'bar1'), (('foo', 1, None), 'bar2')]))
Example #10
0
    def testAutoNumberedAttrs(self):
        d1 = Driver('d1')

        d1.add_attr('foo', 'bar')

        d1.add_attr('foo', 'bar1', number=True)
        d1.add_attr('foo', 'bar2', number=True)

        clusto.flush()

        self.assertEqual(sorted(d1.attr_items()),
                         sorted([(('foo', None, None), 'bar'),
                                 (('foo', 0, None), 'bar1'),
                                 (('foo', 1, None), 'bar2')]))

        self.assertEqual(sorted(d1.attr_items(number=True)),
                         sorted([(('foo', 0, None), 'bar1'),
                                 (('foo', 1, None), 'bar2')]))
Example #11
0
    def testSetAttrs(self):

        d1 = Driver('d1')
        d1.set_attr('foo', 'bar')

        self.assertEqual(d1.attr_items(), [(('foo', None, None), 'bar')])

        d1.set_attr('foo', 'bar2')
        self.assertEqual(d1.attr_items(), [(('foo', None, None), 'bar2')])

        d1.add_attr('foo', 'bar3')

        self.assertEqual(
            sorted(d1.attr_items()),
            sorted([(('foo', None, None), 'bar2'),
                    (('foo', None, None), 'bar3')]))

        self.assertRaises(DriverException, d1.set_attr, 'foo', 'bar4')

        d2 = Driver('d2')
        d2.add_attr('a', number=0, subkey='foo', value='bar1')
        d2.add_attr('a', number=1, subkey='foo', value='bar1')
        d2.add_attr('a', number=2, subkey='foo', value='bar1')

        d2.set_attr('a', 't1')

        self.assertEqual(
            sorted(d2.attr_items()),
            sorted([(('a', 0, 'foo'), 'bar1'), (('a', 1, 'foo'), 'bar1'),
                    (('a', 2, 'foo'), 'bar1'), (('a', None, None), 't1')]))
Example #12
0
    def testSetAttrs(self):

        d1 = Driver('d1')
        d1.set_attr('foo', 'bar')

        self.assertEqual(d1.attr_items(),
                         [(('foo', None, None), 'bar')])

        d1.set_attr('foo', 'bar2')
        self.assertEqual(d1.attr_items(),
                         [(('foo', None, None), 'bar2')])

        d1.add_attr('foo', 'bar3')

        self.assertEqual(sorted(d1.attr_items()),
                         sorted([(('foo', None, None), 'bar2'),
                                 (('foo', None, None), 'bar3')]))

        self.assertRaises(DriverException, d1.set_attr, 'foo', 'bar4')

        d2 = Driver('d2')
        d2.add_attr('a', number=0, subkey='foo', value='bar1')
        d2.add_attr('a', number=1, subkey='foo', value='bar1')
        d2.add_attr('a', number=2, subkey='foo', value='bar1')

        d2.set_attr('a', 't1')

        self.assertEqual(sorted(d2.attr_items()),
                         sorted([(('a', 0, 'foo'), 'bar1'),
                                 (('a', 1, 'foo'), 'bar1'),
                                 (('a', 2, 'foo'), 'bar1'),
                                 (('a', None, None), 't1')]))
Example #13
0
    def testHasAttr(self):

        d1 = Driver('d1')

        d1.add_attr(key='foo', value='bar1', number=True, subkey='one')
        d1.add_attr(key='foo', value='bar2', number=True, subkey='two')
        d1.add_attr(key='foo', value='bar3', number=True, subkey='three')
        d1.add_attr(key='foo', value='bar4', number=True, subkey='four')

        self.assertFalse(d1.has_attr(key='foo', number=False))
        self.assertTrue(d1.has_attr(key='foo', number=True))
        self.assertTrue(d1.has_attr(key='foo', number=1, subkey='two'))
Example #14
0
    def testHiddenAttrs(self):

        d1 = Driver('d1')

        d1.add_attr(key='foo', value='bar1', number=True, subkey='one')
        d1.add_attr(key='foo', value='bar2', number=True, subkey='two')
        d1.add_attr(key='_foo', value='bar3', number=True, subkey='three')
        d1.add_attr(key='_foo', value='bar4', number=True, subkey='four')

        self.assertEqual(d1.attr_items(ignore_hidden=True),
                         [(('foo', 0, 'one'), 'bar1'),
                          (('foo', 1, 'two'), 'bar2')])
Example #15
0
    def testHasAttr(self):

        d1 = Driver('d1')

        d1.add_attr(key='foo', value='bar1', number=True, subkey='one')
        d1.add_attr(key='foo', value='bar2', number=True, subkey='two')
        d1.add_attr(key='foo', value='bar3', number=True, subkey='three')
        d1.add_attr(key='foo', value='bar4', number=True, subkey='four')

        self.assertFalse(d1.has_attr(key='foo', number=False))
        self.assertTrue(d1.has_attr(key='foo', number=True))
        self.assertTrue(d1.has_attr(key='foo', number=1, subkey='two'))
Example #16
0
    def testHiddenAttrs(self):

        d1 = Driver('d1')

        d1.add_attr(key='foo', value='bar1', number=True, subkey='one')
        d1.add_attr(key='foo', value='bar2', number=True, subkey='two')
        d1.add_attr(key='_foo', value='bar3', number=True, subkey='three')
        d1.add_attr(key='_foo', value='bar4', number=True, subkey='four')

        self.assertEqual(d1.attr_items(ignore_hidden=True),
                         [(('foo', 0, 'one'), 'bar1'),
                          (('foo', 1, 'two'), 'bar2')])
Example #17
0
    def testGettingAttrsWithSpecificValues(self):

        d1 = Driver('d1')

        d1.add_attr(key='foo', value='bar1', number=True, subkey='one')
        d1.add_attr(key='foo', value='bar2', number=True, subkey='two')
        d1.add_attr(key='foo', value='bar3', number=True, subkey='three')
        d1.add_attr(key='foo', value='bar4', number=True, subkey='four')

        self.assertEqual(list(d1.attr_items(value='bar3')),
                         [(('foo', 2, 'three'), 'bar3')])

        self.assertEqual(list(d1.attr_items(value='bar1')),
                         [(('foo', 0, 'one'), 'bar1')])
Example #18
0
    def testGettingAttrsWithSpecificValues(self):

        d1 = Driver('d1')

        d1.add_attr(key='foo', value='bar1', number=True, subkey='one')
        d1.add_attr(key='foo', value='bar2', number=True, subkey='two')
        d1.add_attr(key='foo', value='bar3', number=True, subkey='three')
        d1.add_attr(key='foo', value='bar4', number=True, subkey='four')

        self.assertEqual(list(d1.attr_items(value='bar3')),
                         [(('foo', 2, 'three'), 'bar3')])

        self.assertEqual(list(d1.attr_items(value='bar1')),
                         [(('foo', 0, 'one'), 'bar1')])
Example #19
0
    def testGettingAttrsMultipleTimes(self):
        d1 = Driver('d1')
        d2 = Driver('d2')

        d1.add_attr('foo', 'bar')
        d1.add_attr('foo0', 'bar1')
        d2.add_attr('d1', d1)

        clusto.flush()

        d = clusto.get_by_name('d1')

        self.assertEqual(len(d.references()), 1)
        self.assertEqual(len(d.attrs()), 2)
Example #20
0
    def testGettingAttrValues(self):
        d1 = Driver('d1')
        d2 = Driver('d2')

        d1.add_attr('foo', 'bar')
        d1.add_attr('foo0', 'bar1')
        d2.add_attr('d1', d1)

        clusto.flush()

        self.assertEqual(sorted(['bar', 'bar1']),
                         sorted(d1.attr_values('foo.*', regex=True)))

        self.assertEqual([d1], d2.attr_values())
Example #21
0
    def testGettingAttrValues(self):
        d1 = Driver('d1')
        d2 = Driver('d2')

        d1.add_attr('foo', 'bar')
        d1.add_attr('foo0', 'bar1')
        d2.add_attr('d1', d1)

        clusto.flush()

        self.assertEqual(sorted(['bar', 'bar1']),
                         sorted(d1.attr_values('foo.*', regex=True)))

        self.assertEqual([d1], d2.attr_values())
Example #22
0
    def testGettingAttrsMultipleTimes(self):
        d1 = Driver('d1')
        d2 = Driver('d2')

        d1.add_attr('foo', 'bar')
        d1.add_attr('foo0', 'bar1')
        d2.add_attr('d1', d1)

        clusto.flush()

        d = clusto.get_by_name('d1')

        self.assertEqual(len(d.references()), 1)
        self.assertEqual(len(d.attrs()), 2)
Example #23
0
    def testAttrCount(self):

        d1 = Driver('d1')

        d1.add_attr(key='foo', value='bar1', number=True, subkey='one')
        d1.add_attr(key='foo', value='bar2', number=True, subkey='two')
        d1.add_attr(key='foo', value='bar3', number=True, subkey='three')
        d1.add_attr(key='foo', value='bar4', number=True, subkey='four')

        self.assertEqual(d1.attr_query(key='foo', number=2, count=True), 1)

        self.assertEqual(d1.attr_query(key='foo', number=0, count=True), 1)

        self.assertEqual(d1.attr_query(key='foo', number=False, count=True), 0)
        self.assertEqual(d1.attr_query(key='foo', count=True), 4)

        self.assertEqual(d1.attr_query(subkey='four', count=True), 1)

        d1.del_attrs(key='foo', value='bar1', number=True, subkey='one')
        d1.add_attr(key='foo', value='bar5', number=True, subkey='five')
        self.assertEqual(d1.attr_query(key='foo', number=0, count=True), 0)
        self.assertEqual(d1.attr_query(key='foo', number=4, count=True), 1)
Example #24
0
    def testAttrCount(self):

        d1 = Driver('d1')

        d1.add_attr(key='foo', value='bar1', number=True, subkey='one')
        d1.add_attr(key='foo', value='bar2', number=True, subkey='two')
        d1.add_attr(key='foo', value='bar3', number=True, subkey='three')
        d1.add_attr(key='foo', value='bar4', number=True, subkey='four')

        self.assertEqual(d1.attr_query(key='foo', number=2, count=True), 1)

        self.assertEqual(d1.attr_query(key='foo', number=0, count=True), 1)

        self.assertEqual(d1.attr_query(key='foo', number=False, count=True), 0)
        self.assertEqual(d1.attr_query(key='foo', count=True), 4)

        self.assertEqual(d1.attr_query(subkey='four', count=True), 1)

        d1.del_attrs(key='foo', value='bar1', number=True, subkey='one')
        d1.add_attr(key='foo', value='bar5', number=True, subkey='five')
        self.assertEqual(d1.attr_query(key='foo', number=0, count=True), 0)
        self.assertEqual(d1.attr_query(key='foo', number=4, count=True), 1)
Example #25
0
    def testGetByAttr(self):

        d1 = Driver('d1')
        d1.add_attr('foo', 1)

        d2 = Driver('d2')
        d2.add_attr('foo', 2)

        d3 = Driver('d3')
        d3.add_attr('bar', 3)

        clusto.flush()

        result = Driver.get_by_attr('foo', 2)

        self.assertEqual(result, [d2])
Example #26
0
    def testGetByAttr(self):

        d1 = Driver('d1')
        d1.add_attr('foo', 1)

        d2 = Driver('d2')
        d2.add_attr('foo', 2)

        d3 = Driver('d3')
        d3.add_attr('bar', 3)

        clusto.flush()

        result = Driver.get_by_attr('foo', 2)

        self.assertEqual(result, [d2])
Example #27
0
    def testDelAttrs(self):
        d1 = Driver('d1')

        d1.add_attr(key='foo', value='bar1', number=True, subkey='one')
        d1.add_attr(key='foo', value='bar2', number=True, subkey='two')
        d1.add_attr(key='foo', value='bar3', number=True, subkey='three')
        d1.add_attr(key='foo', value='bar4', number=True, subkey='four')

        d1.del_attrs(key='foo', value='bar4')

        self.assertEqual(list(d1.attr_items(value='bar4')), [])

        self.assertEqual(list(d1.attr_items(value='bar3')),
                         [(('foo', 2, 'three'), 'bar3')])

        d1.del_attrs(key='foo', subkey='three', number=2)
        self.assertEqual(list(d1.attr_items(value='bar3')), [])
Example #28
0
    def testDelAttrs(self):
        d1 = Driver('d1')

        d1.add_attr(key='foo', value='bar1', number=True, subkey='one')
        d1.add_attr(key='foo', value='bar2', number=True, subkey='two')
        d1.add_attr(key='foo', value='bar3', number=True, subkey='three')
        d1.add_attr(key='foo', value='bar4', number=True, subkey='four')

        d1.del_attrs(key='foo', value='bar4')

        self.assertEqual(list(d1.attr_items(value='bar4')),
                         [])

        self.assertEqual(list(d1.attr_items(value='bar3')),
                         [(('foo', 2, 'three'), 'bar3')])

        d1.del_attrs(key='foo', subkey='three', number=2)
        self.assertEqual(list(d1.attr_items(value='bar3')),
                         [])
Example #29
0
    def data(self):

        d1 = Driver('d1')
        d2 = Driver('d2')
        d3 = Driver('d3')

        d1.add_attr('_foo', 'bar1')
        d1.add_attr('car', 'baz')
        d1.add_attr('car', 'baz')
        d1.add_attr('d', 'dee', number=True)
        d1.add_attr('d', 'dee', number=True)
        d1.add_attr('a', 1)
        d1.add_attr('a', 1, subkey='t')
        d1.add_attr('a', 1, subkey='g')
        d1.add_attr('a', 1, subkey='z', number=4)
        d1.add_attr('a', 1, subkey='z', number=5)
        d1.add_attr('a', 1, subkey='z', number=6)

        d1.set_attr('d2', d2)
        d1.set_attr('d3', d3)

        d2.set_attr('aaa', 1)
        d2.set_attr('aab', 2)
        d2.set_attr('aac', 3)
Example #30
0
    def data(self):

        d1 = Driver('d1')
        d2 = Driver('d2')
        d3 = Driver('d3')

        d1.add_attr('_foo', 'bar1')
        d1.add_attr('car', 'baz')
        d1.add_attr('car', 'baz')
        d1.add_attr('d', 'dee', number=True)
        d1.add_attr('d', 'dee', number=True)
        d1.add_attr('a', 1)
        d1.add_attr('a', 1, subkey='t')
        d1.add_attr('a', 1, subkey='g')
        d1.add_attr('a', 1, subkey='z', number=4)
        d1.add_attr('a', 1, subkey='z', number=5)
        d1.add_attr('a', 1, subkey='z', number=6)

        d1.set_attr('d2', d2)
        d1.set_attr('d3', d3)

        d2.set_attr('aaa', 1)
        d2.set_attr('aab', 2)
        d2.set_attr('aac', 3)