Example #1
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 #2
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 #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 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 #5
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 #6
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 #7
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 #8
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 #9
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 #10
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 #11
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 #12
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 #13
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 #14
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 #15
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 #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')])