Пример #1
0
    async def test_list_versions_skip_versions_without_digit(
            self, fake_future):
        svn = MagicMock()
        svn.ls.return_value = fake_future(["1.0/", "1.1/", "trunk/"])

        workspace = SubversionWorkspace(workdir="/tmp/foo",
                                        subversion=svn,
                                        repository="https://svn.test.com/")

        versions = await workspace.list_versions()

        self.assertEqual(versions, ["1.0", "1.1"])
Пример #2
0
    async def test_flat_does_not_alter_repo(self, loop):

        svn = Subversion(loop=loop, svn_base_dir="/temp/")
        svn.ls = lambda p: fake_future(['1.0/', '1.1/'], loop=loop)

        workspace = SubversionWorkspace(workdir="/tmp/foo",
                                        subversion=svn,
                                        repository="https://svn.example.com/")
        self.assertEqual(workspace.repository, "https://svn.example.com/")

        await workspace.prepare()

        self.assertEqual(workspace.repository, "https://svn.example.com/")
Пример #3
0
    async def test_classic_structure(self, loop):

        svn = Subversion(loop=loop, svn_base_dir="/temp/")
        svn.ls = lambda p: fake_future(['tags/', 'trunk/', 'branches/'],
                                       loop=loop)

        workspace = SubversionWorkspace(workdir="/tmp/foo",
                                        subversion=svn,
                                        repository="https://svn.example.com/")
        self.assertEqual(workspace.repository, "https://svn.example.com/")

        await workspace.prepare()

        svn.ls = lambda p: fake_future(['1.2/', '2.0/', '2.1/'], loop=loop)
        self.assertEqual(workspace.repository, "https://svn.example.com/tags/")
        self.assertEqual(["1.2", "2.0", "2.1"], await
                         workspace.list_versions())
Пример #4
0
    async def test_checkout_and_switch(self, fake_future):
        svn = MagicMock()
        svn.checkout.return_value = fake_future(None)
        svn.switch.return_value = fake_future(None)

        workspace = SubversionWorkspace(workdir="/tmp/foo",
                                        subversion=svn,
                                        repository="https://svn.example.com/")

        await workspace.to_version("1.0")

        svn.checkout.assert_called_with("https://svn.example.com/1.0",
                                        workdir="/tmp/foo")
        svn.reset_mock()

        await workspace.to_version("1.1")

        svn.switch.assert_called_with("https://svn.example.com/1.1",
                                      workdir="/tmp/foo")