Exemplo n.º 1
0
    def test_from_json(self):
        d = EnvVarDict.from_json({
            'initial': {
                'foo': 'fooval',
                'bar': 'barval'
            },
            'current': {
                'foo': 'foochange',
                'bar': 'barval',
                'baz': 'bazval'
            },
        })
        self.assertEqual(d, {
            'foo': 'foochange',
            'bar': 'barval',
            'baz': 'bazval'
        })
        self.assertEqual(d.initial, {'foo': 'fooval', 'bar': 'barval'})
        self.assertEqual(d.changes, {'foo': 'foochange', 'baz': 'bazval'})

        d = EnvVarDict.from_json({
            'initial': {
                'foo': 'fooval',
                'bar': 'barval'
            },
            'current': {
                'bar': 'barval',
                'baz': 'bazval'
            },
        })
        self.assertEqual(d, {'bar': 'barval', 'baz': 'bazval'})
        self.assertEqual(d.initial, {'foo': 'fooval', 'bar': 'barval'})
        self.assertEqual(d.changes, {'foo': None, 'baz': 'bazval'})
Exemplo n.º 2
0
    def test_popitem(self):
        d = EnvVarDict(foo='fooval')
        self.assertEqual(d.popitem(), ('foo', 'fooval'))
        self.assertEqual(d, {})
        self.assertEqual(d.initial, {'foo': 'fooval'})
        self.assertEqual(d.changes, {'foo': None})

        with self.assertRaises(KeyError):
            self.assertEqual(d.popitem())
Exemplo n.º 3
0
    def test_setitem(self):
        d = EnvVarDict()
        d['foo'] = 'fooval'
        self.assertEqual(d, {'foo': 'fooval'})
        self.assertEqual(d.initial, {})
        self.assertEqual(d.changes, {'foo': 'fooval'})

        d = EnvVarDict(foo='fooval', bar='barval')
        d['foo'] = 'foochange'
        self.assertEqual(d, {'foo': 'foochange', 'bar': 'barval'})
        self.assertEqual(d.initial, {'foo': 'fooval', 'bar': 'barval'})
        self.assertEqual(d.changes, {'foo': 'foochange'})

        with self.assertRaises(TypeError):
            d['foo'] = None
Exemplo n.º 4
0
 def test_to_json(self):
     d = EnvVarDict(foo='fooval', bar='barval')
     d.update(foo='foochange', baz='bazval')
     self.assertEqual(
         d.to_json(), {
             'initial': {
                 'foo': 'fooval',
                 'bar': 'barval'
             },
             'current': {
                 'foo': 'foochange',
                 'bar': 'barval',
                 'baz': 'bazval'
             },
         })
Exemplo n.º 5
0
 def test_reset(self):
     d = EnvVarDict(foo='fooval', bar='barval')
     d.update(foo='foochange', baz='bazval')
     d.reset()
     self.assertEqual(d, {'foo': 'fooval', 'bar': 'barval'})
     self.assertEqual(d.initial, {'foo': 'fooval', 'bar': 'barval'})
     self.assertEqual(d.changes, {})
Exemplo n.º 6
0
def make_env(platform=None, clear_variables=False, variables={}):
    args = (abspath('bfgdir'), None, None, abspath('srcdir'),
            abspath('builddir'))
    if platform:
        with unittest.mock.patch('bfg9000.platforms.core.platform_name',
                                 return_value=platform):
            env = Environment(*args)
    else:
        env = Environment(*args)
    env.finalize({InstallRoot.prefix: abspath('prefix')}, (False, False))

    if clear_variables:
        env.variables = EnvVarDict()
    env.variables.update(variables)
    return env
Exemplo n.º 7
0
    def test_setdefault(self):
        d = EnvVarDict()
        self.assertEqual(d.setdefault('foo', 'fooval'), 'fooval')
        self.assertEqual(d, {'foo': 'fooval'})
        self.assertEqual(d.initial, {})
        self.assertEqual(d.changes, {'foo': 'fooval'})

        self.assertEqual(d.setdefault('foo', 'foo2'), 'fooval')
        self.assertEqual(d, {'foo': 'fooval'})
        self.assertEqual(d.initial, {})
        self.assertEqual(d.changes, {'foo': 'fooval'})

        with self.assertRaises(TypeError):
            d.setdefault('bar', None)
Exemplo n.º 8
0
    def test_pop(self):
        d = EnvVarDict(foo='fooval', bar='barval')
        self.assertEqual(d.pop('foo'), 'fooval')
        self.assertEqual(d, {'bar': 'barval'})
        self.assertEqual(d.initial, {'foo': 'fooval', 'bar': 'barval'})
        self.assertEqual(d.changes, {'foo': None})

        self.assertEqual(d.pop('foo', 'default'), 'default')
        self.assertEqual(d, {'bar': 'barval'})
        self.assertEqual(d.initial, {'foo': 'fooval', 'bar': 'barval'})
        self.assertEqual(d.changes, {'foo': None})

        with self.assertRaises(KeyError):
            self.assertEqual(d.pop('foo'))

        self.assertEqual(d.pop('bar', 'default'), 'barval')
        self.assertEqual(d, {})
        self.assertEqual(d.initial, {'foo': 'fooval', 'bar': 'barval'})
        self.assertEqual(d.changes, {'foo': None, 'bar': None})
Exemplo n.º 9
0
 def test_clear(self):
     d = EnvVarDict(foo='fooval', bar='barval')
     d.clear()
     self.assertEqual(d, {})
     self.assertEqual(d.initial, {'foo': 'fooval', 'bar': 'barval'})
     self.assertEqual(d.changes, {'foo': None, 'bar': None})
Exemplo n.º 10
0
 def test_delitem(self):
     d = EnvVarDict(foo='fooval', bar='barval')
     del d['foo']
     self.assertEqual(d, {'bar': 'barval'})
     self.assertEqual(d.initial, {'foo': 'fooval', 'bar': 'barval'})
     self.assertEqual(d.changes, {'foo': None})