Example #1
0
    def test_writable_stream_creates_missing_directories(self):
        x_store = m.working_directory() / 'missing directory' / 'test-file'

        # create empty file
        with x_store.writable_stream():
            pass

        x_read = m.working_directory() / 'missing directory' / 'test-file'
        self.assertEqual(b'', x_read.content)
Example #2
0
    def test_children_returns_list_of_externals_for_children(self):
        x_tempdir = m.working_directory()
        (x_tempdir / 'a').content = b'a content'
        (x_tempdir / 'b').content = b'b content'
        os.mkdir('c')

        x_test = m.working_directory()

        def name(x):
            return x.name
        children = sorted(x_test.children(), key=name)

        self.assertEqual(3, len(children))
        self.assertEqual(
            ['a', 'b', 'c'],
            [name(child) for child in children])
Example #3
0
    def test_add_a_path_wrapped_in_slashes(self):
        x_tempdir = m.working_directory()
        # file dir-a/dir-b/file
        (x_tempdir / 'dir-a' / 'dir-b' / 'file').content = b'child'

        self.assertEqual(
            b'child',
            (x_tempdir / '/dir-a/dir-b/file/').content)
Example #4
0
    def test_set_content_creates_missing_directories_and_a_file(self):
        x_tempdir = m.working_directory()
        x_a = x_tempdir / 'a'
        x_ab = x_a / 'b'
        x_file = x_ab / 'c'

        x_file.content = b'content'

        with open('a/b/c', 'rb') as f:
            self.assertEqual(b'content', f.read())
Example #5
0
    def test_writable_stream_returns_an_open_file(self):
        x_tempdir = m.working_directory()

        x_store = x_tempdir / 'test-file'
        with x_store.writable_stream() as stream:
            stream.write(b's')
            stream.write(b'o')
            stream.write(b'mething4')

        x_read = x_tempdir / 'test-file'
        self.assertEqual(b'something4', x_read.content)
Example #6
0
    def test_directory_with_subdir_is_deleted(self):
        x_tempdir = m.working_directory()
        x_a = x_tempdir / 'a'
        x_ab = x_a / 'b'
        x_file = x_ab / 'c'

        x_file.content = b'content'

        x_a.delete()

        self.assertFalse(x_ab.exists())
Example #7
0
    def test_external_is_an_iterable_returning_children(self):
        x_tempdir = m.working_directory()
        (x_tempdir / 'a').content = b'a content'
        (x_tempdir / 'b').content = b'b content'
        os.mkdir('c')

        x_test = m.working_directory()
        children_list = []
        # iterate over the external
        for child in x_test:
            children_list.append(child)

        def name(x):
            return x.name
        children = sorted(x_test.children(), key=name)

        self.assertEqual(3, len(children))
        self.assertEqual(
            ['a', 'b', 'c'],
            [name(child) for child in children])
Example #8
0
 def _get_external(self):
     with in_temp_dir():
         x = m.working_directory() / 'temporary file'
         x.content = b'something smallish'
         yield x
Example #9
0
 def test_working_directory_is_absolute(self):
     with in_temp_dir():
         x1 = m.working_directory()
         with in_temp_dir():
             x2 = m.working_directory()
             self.assertNotEqual(x1.path, x2.path)
Example #10
0
 def test_working_directory_is_an_fspath(self):
     self.assertIsInstance(m.working_directory(), m.File)
Example #11
0
    def test_adding_a_string_to_an_external_means_asking_for_a_child(self):
        x_tempdir = m.working_directory()
        (x_tempdir / 'a').content = b'child'

        self.assertEqual(b'child', (x_tempdir / 'a').content)