~abentley/bzrtools/bzrtools.dev

« back to all changes in this revision

Viewing changes to tests/test_baz_import.py

  • Committer: Robert Collins
  • Date: 2005-09-13 09:54:12 UTC
  • mto: (147.2.6) (364.1.3 bzrtools)
  • mto: This revision was merged to the branch mainline in revision 324.
  • Revision ID: robertc@robertcollins.net-20050913095412-5c033118008f53fe
import symlinks (needs symlink enabled bzr)

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17
17
 
18
18
from bzrlib.selftest import TestCaseInTempDir
 
19
from bzrlib.selftest.blackbox import has_symlinks
19
20
try:
20
21
    import pybaz
21
22
except ImportError:
49
50
        self._archiveroot = os.path.join(self._tmpdir, 'archive')
50
51
 
51
52
        self._archive = pybaz.make_archive('demo@DONOTUSE', str(self._archiveroot))
52
 
        os.mkdir(os.path.join(self._tmpdir, 'tree'))
53
53
        pybaz.set_my_id("Test User<test@example.org>")
54
54
 
55
 
        tree = pybaz.init_tree(os.path.join(self._tmpdir, 'tree'), 'demo@DONOTUSE/c--import--0')
56
 
        msg = tree.log_message()
57
 
        msg["summary"] = "I am importing now"
58
 
        tree.import_(msg)
59
 
        shutil.rmtree(os.path.join(self._tmpdir, 'tree'))
 
55
        self.make_empty_import()
60
56
 
61
57
        self._empty_tag = 'demo@DONOTUSE/c--empty-tag--0'
62
58
        self._empty_tag_bzr = revision_id(self._empty_tag + '--base-0')
92
88
        msg = tree.log_message()
93
89
        msg["summary"] = "merge in a merged tree."
94
90
        tree.commit(msg)
 
91
        shutil.rmtree(os.path.join(self._tmpdir, 'tree'))
 
92
 
 
93
        self.make_import_symlink()
 
94
 
 
95
    def make_import_symlink(self):
 
96
        self._import_symlink = 'demo@DONOTUSE/c--import-symlink--0'
 
97
        self._import_symlink_bzr = revision_id(self._import_symlink + '--base-0')
 
98
        os.mkdir(os.path.join(self._tmpdir, 'tree'))
 
99
        tree = pybaz.init_tree(os.path.join(self._tmpdir, 'tree'),
 
100
                               self._import_symlink)
 
101
        os.symlink('missing-file-name',
 
102
                   os.path.join(self._tmpdir, 'tree', 'alink'))
 
103
        tree.add_tag('alink')
 
104
        id_file = open(os.path.join(tree, '.arch-ids', 'alink.id'), 'w')
 
105
        id_file.write('symlink_tag\n')
 
106
        id_file.close()
 
107
        msg = tree.log_message()
 
108
        msg["summary"] = "Import with a symlink"
 
109
        tree.import_(msg)
 
110
        shutil.rmtree(os.path.join(self._tmpdir, 'tree'))
 
111
 
 
112
    def make_empty_import(self):
 
113
        self._import = 'demo@DONOTUSE/c--import--0'
 
114
        os.mkdir(os.path.join(self._tmpdir, 'tree'))
 
115
        tree = pybaz.init_tree(os.path.join(self._tmpdir, 'tree'), self._import)
 
116
        msg = tree.log_message()
 
117
        msg["summary"] = "I am importing now"
 
118
        tree.import_(msg)
 
119
        shutil.rmtree(os.path.join(self._tmpdir, 'tree'))
95
120
 
96
121
    @classmethod
97
122
    def _makeResource(self):
115
140
        TestCaseInTempDir.tearDown(self)
116
141
        
117
142
    def test_import_empty(self):
118
 
        import_version('output', pybaz.Version('demo@DONOTUSE/c--import--0'))
 
143
        import_version('output', pybaz.Version(self._baz._import))
119
144
        # expected results:
120
145
        # one commit, no files, revision identifier of 'demo@DONOTUSE_c--import--0--base-0'
121
146
        branch = find_branch('output', find_root=False)
261
286
        # this tree should have nothing missing from that tree.   
262
287
        # FIXME there is no code for this right now.
263
288
        # self.assertEqual(branch.missing_revisions(branch3), [])
 
289
        
 
290
    def test_import_symlink(self):
 
291
        import_version('output', pybaz.Version(self._baz._import_symlink))
 
292
        # expected results:
 
293
        # one commit, no files, revision identifier of 'demo@DONOTUSE_c--import--0--base-0'
 
294
        branch = find_branch('output', find_root=False)
 
295
        self.assertEqual(branch.revision_history(),
 
296
                         [self._baz._import_symlink_bzr])
 
297
        rev = branch.get_revision(self._baz._import_symlink_bzr)
 
298
        # and again.
 
299
        import_version('output2', pybaz.Version(self._baz._import_symlink))
 
300
        branch2 = find_branch('output2', find_root=False)
 
301
        self.assertEqual(branch.revision_history(), branch2.revision_history())
 
302
        rev2 = branch2.get_revision(self._baz._import_symlink_bzr)
 
303
        # they must be the same
 
304
        self.assertEqual(rev, rev2)
 
305
 
 
306
        # and we should get some expected values:
 
307
        self.assertEqual(rev.committer, "Test User<test@example.org>")
 
308
        self.assertEqual(rev.message, "Import with a symlink")
 
309
        self.assertEqual(rev.revision_id, self._baz._import_symlink_bzr)
 
310
 
 
311
        # and we want the symlink alink with target 'missing-file-name'
 
312
        inv = branch.get_inventory(rev.inventory_id)
 
313
        self.assertEqual(inv.path2id('alink'), 'x_symlink_tag')
 
314
        entry = inv['x_symlink_tag']
 
315
        self.assertEqual(entry.kind, 'symlink')
 
316
        self.assertEqual(entry.symlink_target, 'missing-file-name')