34
34
self.assertEqual('', t.get_bytes(name))
36
def test_allocate_trivial(self):
37
t = self.get_transport()
38
names = FileNames(t, 'index')
40
name = names.allocate()
41
self.assertEqual('0', name)
42
self.assertFalse(t.has('index'))
43
name = names.allocate()
44
self.assertEqual('1', name)
45
self.assertFalse(t.has('index'))
47
def test_allocate_overrun(self):
36
def test_allocate_name_does_not_error(self):
37
t = self.get_transport()
38
names = FileNames(t, 'index')
41
self.assertFalse(t.has('index'))
43
def test_allocate_two_names_succeeds(self):
44
t = self.get_transport()
45
names = FileNames(t, 'index')
49
self.assertFalse(t.has('index'))
51
def test_exceeding_the_allocation_cap_errors(self):
48
52
t = self.get_transport()
49
53
names = FileNames(t, 'index')
52
56
for number in xrange(5):
53
name = names.allocate()
54
self.assertRaises(errors.BzrError, names.allocate)
57
name = names.allocate(str(number))
58
self.assertRaises(errors.BzrError, names.allocate, '6')
56
60
def test_load(self):
57
61
t = self.get_transport()
58
62
names = FileNames(t, 'index')
63
67
names = FileNames(t, 'index')
77
81
t = self.get_transport()
78
82
names = FileNames(t, 'index')
82
86
self.assertEqual(set(['0', '1']), names.names())
84
88
def test_names_on_unlistable_works(self):
85
89
t = self.get_transport()
86
90
names = FileNames(t, 'index')
92
96
get_transport('unlistable+' + self.get_url()), 'index')
97
101
t = self.get_transport()
98
102
names = FileNames(t, 'index')
99
103
names.initialise()
100
name1 = names.allocate()
101
name2 = names.allocate()
103
self.assertEqual(set([name2]), names.names())
107
self.assertEqual(set(['1']), names.names())
109
def test_roundtrip_hash_name(self):
110
t = self.get_transport()
111
names = FileNames(t, 'index')
113
names.allocate('0123456789abcdef0123456789abcdef')
115
names = FileNames(t, 'index')
117
self.assertEqual(set(['0123456789abcdef0123456789abcdef']),