File: test_env.py

package info (click to toggle)
testpath 0.6.0%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 216 kB
  • sloc: python: 509; makefile: 151; sh: 2
file content (58 lines) | stat: -rw-r--r-- 2,145 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import os
import unittest

import testpath


class EnvironmentUtilsTests(unittest.TestCase):
    def setUp(self):
        # We're actually using this for its specified purpose, rather than
        # explicitly testing it.
        self.addCleanup(testpath.make_env_restorer())

    def test_temporary_env(self):
        os.environ['abc123'] = '4'
        os.environ['def567'] = '8'

        with testpath.temporary_env({'abc123': '9'}):
            self.assertEqual(os.environ['abc123'], '9')
            self.assertNotIn('def567', os.environ)
            os.environ['foo951'] = 'bar'

        self.assertEqual(os.environ['abc123'], '4')
        self.assertEqual(os.environ['def567'], '8')
        self.assertNotIn('foo951', os.environ)

    def test_modified_env(self):
        os.environ['abc123'] = '4'
        os.environ['def567'] = '8'
        os.environ['ghi789'] = '10'
        os.environ.pop('foo951', None)

        with testpath.modified_env({'abc123': '9', 'def567': None}):
            self.assertEqual(os.environ['abc123'], '9')
            self.assertNotIn('def567', os.environ)
            self.assertEqual(os.environ['ghi789'], '10') # Not affected
            os.environ['foo951'] = 'bar'

        self.assertEqual(os.environ['abc123'], '4')
        self.assertEqual(os.environ['def567'], '8')
        self.assertEqual(os.environ['ghi789'], '10') # Not affected
        self.assertNotIn('foo951', os.environ)

    def test_modified_env_nosnapshot(self):
        os.environ['abc123'] = '4'
        os.environ['def567'] = '8'
        os.environ['ghi789'] = '10'
        os.environ.pop('foo951', None)

        with testpath.modified_env({'abc123': '9', 'def567': None}, snapshot=False):
            self.assertEqual(os.environ['abc123'], '9')
            self.assertNotIn('def567', os.environ)
            self.assertEqual(os.environ['ghi789'], '10') # Not affected
            os.environ['foo951'] = 'bar'

        self.assertEqual(os.environ['abc123'], '4')
        self.assertEqual(os.environ['def567'], '8')
        self.assertEqual(os.environ['ghi789'], '10')
        self.assertEqual(os.environ['foo951'], 'bar') # Not reset