1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
#!/usr/bin/env python
# sugar-lint: disable
import os
import xapian
from __init__ import tests
from sugar_network import db
from sugar_network.model import release
from sugar_network.model.release import _fmt_version, Release
from sugar_network.client import IPCConnection
from sugar_network.toolkit import http, coroutine
class ReleaseTest(tests.Test):
def test_fmt_version(self):
self.assertEqual(
xapian.sortable_serialise(eval('1''0000''0000''5''000')),
_fmt_version('1'))
self.assertEqual(
xapian.sortable_serialise(eval('1''0002''0000''5''000')),
_fmt_version('1.2'))
self.assertEqual(
xapian.sortable_serialise(eval('1''0020''0300''5''000')),
_fmt_version('1.20.300'))
self.assertEqual(
xapian.sortable_serialise(eval('1''0020''0300''5''000')),
_fmt_version('1.20.300.4444'))
self.assertEqual(
xapian.sortable_serialise(eval('1''9999''0000''5''000')),
_fmt_version('10001.99999.10000'))
self.assertEqual(
xapian.sortable_serialise(eval('1''0000''0000''3''000')),
_fmt_version('1-pre'))
self.assertEqual(
xapian.sortable_serialise(eval('1''0000''0000''4''000')),
_fmt_version('1-rc'))
self.assertEqual(
xapian.sortable_serialise(eval('1''0000''0000''5''000')),
_fmt_version('1-'))
self.assertEqual(
xapian.sortable_serialise(eval('1''0000''0000''6''000')),
_fmt_version('1-r'))
self.assertEqual(
xapian.sortable_serialise(eval('1''0000''0000''3''001')),
_fmt_version('1-pre1'))
self.assertEqual(
xapian.sortable_serialise(eval('1''0000''0000''4''002')),
_fmt_version('1-rc2'))
self.assertEqual(
xapian.sortable_serialise(eval('1''0000''0000''6''003')),
_fmt_version('1-r3'))
self.assertEqual(
xapian.sortable_serialise(eval('1''0000''0000''6''000')),
_fmt_version('1-r-2-3'))
self.assertEqual(
xapian.sortable_serialise(eval('1''0000''0000''6''001')),
_fmt_version('1-r1.2-3'))
def test_OriginalAuthor(self):
self.start_online_client()
client = IPCConnection()
self.node_volume['context'].create({
'guid': 'context',
'type': 'book',
'title': 'title',
'summary': 'summary',
'description': 'description',
'author': {'fake': None},
})
guid = client.post(['release'], {
'context': 'context',
'license': 'GPLv3+',
'version': '1',
'stability': 'stable',
'notes': '',
})
self.assertEqual([], self.node_volume['release'].get(guid)['layer'])
guid = client.post(['release'], {
'context': 'context',
'license': 'GPLv3+',
'version': '1',
'stability': 'stable',
'notes': '',
'layer': ['foo'],
})
self.assertEqual(['foo'], self.node_volume['release'].get(guid)['layer'])
self.node_volume['context'].update('context', {'author': {tests.UID: None}})
guid = client.post(['release'], {
'context': 'context',
'license': 'GPLv3+',
'version': '1',
'stability': 'stable',
'notes': '',
})
self.assertEqual(['origin'], self.node_volume['release'].get(guid)['layer'])
guid = client.post(['release'], {
'context': 'context',
'license': 'GPLv3+',
'version': '1',
'stability': 'stable',
'notes': '',
'layer': ['foo'],
})
self.assertEqual(
sorted(['foo', 'origin']),
sorted(self.node_volume['release'].get(guid)['layer']))
if __name__ == '__main__':
tests.main()
|