35
42
def test_empty_submission(self):
36
43
xmlrpc = self.get_xmlrpc()
37
out = xmlrpc.xmlrpc_submit('')
38
self.assertEqual("Error: 'No From specified'", out)
44
out = self.assertRaises(Fault, xmlrpc.xmlrpc_submit, '')
45
self.assertEqual("'No From specified'", out.faultString)
40
47
def test_valid_submission(self):
48
# Tests that a valid message (i.e. one with a From and Subject line)
49
# receives the appropriate message from XMLRPC.
41
50
xmlrpc = self.get_xmlrpc()
42
51
msg = (sample_message_template %
43
52
('star-merge baz baz',))
44
out = xmlrpc.xmlrpc_submit(msg)
45
self.assertEqual('Success!', out)
53
self.assertTrue(xmlrpc.xmlrpc_submit(msg))
46
54
queuedir = xmlrpc.pqminfo.queuedir
47
patches = [f for f in os.listdir(queuedir) if f.startswith('patch.')]
48
self.assertEqual(1, len(patches)) # We should have only one patch
55
patches = self.assertQueueLength(queuedir, 1)
49
56
self.assertFileEqual(msg, os.path.join(queuedir, patches[0]))
51
58
def test_invalid_submission(self):
59
# Tests that a meaningless message receives an appropriate response
52
61
xmlrpc = self.get_xmlrpc()
53
out = xmlrpc.xmlrpc_submit(sample_message_bad)
54
self.assertEqual("Error: 'Sender not authorised to commit to branch"
62
out = self.assertRaises(Fault, xmlrpc.xmlrpc_submit, sample_message_bad)
63
self.assertEqual("'Sender not authorised to commit to branch"
55
64
" http://www.example.com/foo/unregistered'",
57
66
queuedir = xmlrpc.pqminfo.queuedir
58
patches = [f for f in os.listdir(queuedir) if f.startswith('patch.')]
59
self.assertEqual(0, len(patches))
67
self.assertQueueLength(queuedir, 0)
61
69
def test_invalid_target(self):
62
70
xmlrpc = self.get_xmlrpc()
63
71
msg = (sample_message_template %
64
72
('star-merge baz http://www.example.com/foo/unregistered',))
65
out = xmlrpc.xmlrpc_submit(msg)
66
self.assertEqual("Error: 'Sender not authorised to commit to branch"
73
out = self.assertRaises(Fault, xmlrpc.xmlrpc_submit, msg)
74
self.assertEqual("'Sender not authorised to commit to branch"
67
75
" http://www.example.com/foo/unregistered'",
69
77
queuedir = xmlrpc.pqminfo.queuedir
70
patches = [f for f in os.listdir(queuedir) if f.startswith('patch.')]
71
self.assertEqual(0, len(patches))
78
self.assertQueueLength(queuedir, 0)
73
80
def test_invalid_source(self):
74
81
xmlrpc = self.get_xmlrpc()
75
msg = (sample_message_template %
76
('star-merge fluff baz',))
77
out = xmlrpc.xmlrpc_submit(msg)
78
self.assertEqual("Error: 'fluff is not a branch'", out)
82
msg = (sample_message_template % ('star-merge fluff baz',))
83
out = self.assertRaises(Fault, xmlrpc.xmlrpc_submit, msg)
84
self.assertEqual("'fluff is not a branch'", out.faultString)
79
85
queuedir = xmlrpc.pqminfo.queuedir
80
patches = [f for f in os.listdir(queuedir) if f.startswith('patch.')]
81
self.assertEqual(0, len(patches))
86
self.assertQueueLength(queuedir, 0)