~andreserl/maas/lp1665143

« back to all changes in this revision

Viewing changes to src/maastesting/tests/test_fixtures.py

Merged specify_scripts_commissioning into test_api.

Show diffs side-by-side

added added

removed removed

Lines of Context:
12
12
from unittest.mock import call
13
13
 
14
14
from fixtures import EnvironmentVariable
15
 
from maastesting import root
 
15
from maastesting import (
 
16
    fixtures as fixtures_module,
 
17
    root,
 
18
)
16
19
from maastesting.factory import factory
17
20
from maastesting.fixtures import (
18
21
    CaptureStandardIO,
256
259
 
257
260
    def setUp(self):
258
261
        super(TestMAASRootFixture, self).setUp()
259
 
        self.maasroot = os.path.join(root, "run-skel")
260
 
        self.useFixture(EnvironmentVariable("MAAS_ROOT", self.maasroot))
 
262
        self.skel = os.path.join(root, "run-skel")
 
263
        self.useFixture(EnvironmentVariable("MAAS_ROOT", "/"))
261
264
 
262
265
    def test_creates_populates_and_removes_new_directory(self):
263
266
        fixture = MAASRootFixture()
264
267
        with fixture:
265
268
            self.assertThat(fixture.path, PathExists())
266
 
            self.assertThat(fixture.path, Not(SamePath(self.maasroot)))
267
 
            files_expected = set(listdirs(self.maasroot))
 
269
            self.assertThat(fixture.path, Not(SamePath(self.skel)))
 
270
            files_expected = set(listdirs(self.skel))
268
271
            files_observed = set(listdirs(fixture.path))
269
272
            self.assertThat(files_observed, Equals(files_expected))
270
273
        self.assertThat(fixture.path, Not(PathExists()))
271
274
 
272
275
    def test_updates_MAAS_ROOT_in_the_environment(self):
273
 
        self.assertThat(os.environ["MAAS_ROOT"], SamePath(self.maasroot))
 
276
        self.assertThat(os.environ["MAAS_ROOT"], Not(SamePath(self.skel)))
274
277
        with MAASRootFixture() as fixture:
275
278
            self.assertThat(os.environ["MAAS_ROOT"], SamePath(fixture.path))
276
 
        self.assertThat(os.environ["MAAS_ROOT"], SamePath(self.maasroot))
277
 
 
278
 
    def test_breaks_when_MAAS_ROOT_is_not_defined(self):
279
 
        fixture = MAASRootFixture()
280
 
        del os.environ["MAAS_ROOT"]
281
 
        error = self.assertRaises(NotADirectoryError, fixture._setUp)
282
 
        self.assertThat(str(error), Equals("MAAS_ROOT is not defined."))
 
279
        self.assertThat(os.environ["MAAS_ROOT"], Not(SamePath(self.skel)))
283
280
 
284
281
    def test_breaks_when_MAAS_ROOT_is_not_a_directory(self):
 
282
        self.patch(fixtures_module, "root", self.make_file())
285
283
        fixture = MAASRootFixture()
286
 
        os.environ["MAAS_ROOT"] = self.make_file()
287
284
        error = self.assertRaises(NotADirectoryError, fixture._setUp)
288
285
        self.assertThat(str(error), DocTestMatches(
289
 
            "MAAS_ROOT (...) is not a directory."))
 
286
            "Skeleton MAAS_ROOT (...) is not a directory."))