/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to breezy/tests/test_smart.py

  • Committer: Jelmer Vernooij
  • Date: 2018-06-15 13:10:28 UTC
  • mto: (6973.12.2 python3-k)
  • mto: This revision was merged to the branch mainline in revision 6993.
  • Revision ID: jelmer@jelmer.uk-20180615131028-abolpmqrid8th0cd
More bees.

Show diffs side-by-side

added added

removed removed

Lines of Context:
175
175
        self.assertRaises(
176
176
            errors.PathNotChild, request.translate_client_path, b'bar/')
177
177
        self.assertEqual('./baz', request.translate_client_path(b'foo/baz'))
178
 
        e_acute = u'\N{LATIN SMALL LETTER E WITH ACUTE}'.encode('utf-8')
179
 
        self.assertEqual('./' + urlutils.escape(e_acute),
180
 
                         request.translate_client_path(b'foo/' + e_acute))
 
178
        e_acute = u'\N{LATIN SMALL LETTER E WITH ACUTE}'
 
179
        self.assertEqual(u'./' + urlutils.escape(e_acute),
 
180
                         request.translate_client_path(b'foo/' + e_acute.encode('utf-8')))
181
181
 
182
182
    def test_translate_client_path_vfs(self):
183
183
        """VfsRequests receive escaped paths rather than raw UTF-8."""
184
184
        transport = self.get_transport()
185
 
        request = vfs.VfsRequest(transport, 'foo/')
186
 
        e_acute = u'\N{LATIN SMALL LETTER E WITH ACUTE}'.encode('utf-8')
187
 
        escaped = urlutils.escape('foo/' + e_acute)
188
 
        self.assertEqual('./' + urlutils.escape(e_acute),
 
185
        request = vfs.VfsRequest(transport, b'foo/')
 
186
        e_acute = u'\N{LATIN SMALL LETTER E WITH ACUTE}'
 
187
        escaped = urlutils.escape(u'foo/' + e_acute)
 
188
        self.assertEqual(b'./' + urlutils.escape(e_acute).encode('utf-8'),
189
189
                         request.translate_client_path(escaped))
190
190
 
191
191
    def test_transport_from_client_path(self):
924
924
        request = smart_branch.SmartServerBranchGetConfigFile(backing)
925
925
        branch = self.make_branch('.')
926
926
        # there should be no file by default
927
 
        content = ''
 
927
        content = b''
928
928
        self.assertEqual(smart_req.SmartServerResponse((b'ok', ), content),
929
929
            request.execute(b''))
930
930
 
1103
1103
 
1104
1104
    def test_set_null_to_null(self):
1105
1105
        """An empty branch can have its last revision set to 'null:'."""
1106
 
        self.assertRequestSucceeds('null:', 0)
 
1106
        self.assertRequestSucceeds(b'null:', 0)
1107
1107
 
1108
1108
    def test_NoSuchRevision(self):
1109
1109
        """If the revision_id is not present, the verb returns NoSuchRevision.
1267
1267
            smart_req.FailedSmartServerResponse((b'Diverged',)),
1268
1268
            self.set_last_revision('child-1', 2))
1269
1269
        # The branch tip was not changed.
1270
 
        self.assertEqual('child-2', self.tree.branch.last_revision())
 
1270
        self.assertEqual(b'child-2', self.tree.branch.last_revision())
1271
1271
 
1272
1272
    def test_allow_diverged(self):
1273
1273
        """If allow_diverged is passed, then setting a divergent history
1486
1486
        branch = self.make_branch('.')
1487
1487
        root = self.get_transport().clone('/')
1488
1488
        path = urlutils.relative_url(root.base, self.get_transport().base)
1489
 
        response = request.execute(path)
 
1489
        response = request.execute(path.encode('utf-8'))
1490
1490
        error_name, lock_str, why_str = response.args
1491
1491
        self.assertFalse(response.is_successful())
1492
 
        self.assertEqual('LockFailed', error_name)
 
1492
        self.assertEqual(b'LockFailed', error_name)
1493
1493
 
1494
1494
 
1495
1495
class TestSmartServerBranchRequestGetPhysicalLockStatus(TestLockedBranch):
1598
1598
        write_group_tokens = tree.branch.repository.suspend_write_group()
1599
1599
        self.assertEqual(None, request.execute(b'', write_token,
1600
1600
            b'rev1', *write_group_tokens))
1601
 
        response = request.do_body('somesignature')
 
1601
        response = request.do_body(b'somesignature')
1602
1602
        self.assertTrue(response.is_successful())
1603
1603
        self.assertEqual(response.args[0], b'ok')
1604
1604
        write_group_tokens = response.args[1:]
1605
1605
        tree.branch.repository.resume_write_group(write_group_tokens)
1606
1606
        tree.branch.repository.commit_write_group()
1607
1607
        tree.unlock()
1608
 
        self.assertEqual("somesignature",
1609
 
            tree.branch.repository.get_signature_text("rev1"))
 
1608
        self.assertEqual(b"somesignature",
 
1609
            tree.branch.repository.get_signature_text(b"rev1"))
1610
1610
 
1611
1611
 
1612
1612
class TestSmartServerRepositoryAllRevisionIds(
1670
1670
        # Note that it returns a body that is bzipped.
1671
1671
        self.assertEqual(
1672
1672
            smart_req.SuccessfulSmartServerResponse((b'ok', ), bz2.compress(b'')),
1673
 
            request.do_body('\n\n0\n'))
 
1673
            request.do_body(b'\n\n0\n'))
1674
1674
 
1675
1675
    def test_trivial_include_missing(self):
1676
1676
        backing = self.get_transport()
1702
1702
        # order coming out of a dict, so sort both our test and response
1703
1703
        lines = sorted([b' '.join([r2, r1]), r1])
1704
1704
        response = request.execute(b'', b'')
1705
 
        response.body = '\n'.join(sorted(response.body.split('\n')))
 
1705
        response.body = b'\n'.join(sorted(response.body.split(b'\n')))
1706
1706
 
1707
1707
        self.assertEqual(
1708
1708
            smart_req.SmartServerResponse((b'ok', ), b'\n'.join(lines)), response)
1791
1791
        tree = self.make_branch_and_memory_tree('.', format='2a')
1792
1792
        tree.lock_write()
1793
1793
        tree.add('')
1794
 
        tree.commit('1st commit', rev_id="rev1")
1795
 
        tree.commit('2nd commit', rev_id="rev2")
 
1794
        tree.commit('1st commit', rev_id=b"rev1")
 
1795
        tree.commit('2nd commit', rev_id=b"rev2")
1796
1796
        tree.unlock()
1797
1797
 
1798
1798
        self.assertIs(None, request.execute(b''))
1799
 
        response = request.do_body("rev1\nrev2")
 
1799
        response = request.do_body(b"rev1\nrev2")
1800
1800
        self.assertTrue(response.is_successful())
1801
1801
        # Format 2a uses serializer format 10
1802
1802
        self.assertEqual(response.args, (b"ok", b"10"))
1808
1808
 
1809
1809
        contents = b"".join(response.body_stream)
1810
1810
        self.assertTrue(contents in (
1811
 
            "".join([entries[0], entries[1]]),
1812
 
            "".join([entries[1], entries[0]])))
 
1811
            b"".join([entries[0], entries[1]]),
 
1812
            b"".join([entries[1], entries[0]])))
1813
1813
 
1814
1814
    def test_missing(self):
1815
1815
        backing = self.get_transport()
2676
2676
        inv = repository.revision_tree(revid).root_inventory
2677
2677
        inv_delta = inv._make_delta(base_inv)
2678
2678
        serializer = inventory_delta.InventoryDeltaSerializer(True, False)
2679
 
        return "".join(serializer.delta_to_lines(base_revid, revid, inv_delta))
 
2679
        return b"".join(serializer.delta_to_lines(base_revid, revid, inv_delta))
2680
2680
 
2681
2681
    def test_single(self):
2682
2682
        backing = self.get_transport()