def test_init_values(self): putcommand = PutCommand(path='/a/path/here', file_data=six.b("some file data"), offset=5, truncate=True) et = putcommand.get_etree() self.assertEqual(et.tag, 'put_file') self.assertEqual('/a/path/here', et.get('path')) self.assertEqual('5', et.get('offset', None)) self.assertEqual('true', et.get('truncate')) self.assertEqual(1, len(list(et))) data = et.find('./data') self.assertEqual(base64.b64encode(six.b("some file data")), six.b(data.text))
def test_init_server_file(self): putcommand = PutCommand(path='/a/path/here', server_file='/a/file/on/server') et = putcommand.get_etree() self.assertEqual(et.tag, 'put_file') self.assertEqual('/a/path/here', et.get('path')) self.assertEqual(None, et.get('offset', None)) self.assertEqual('false', et.get('truncate')) self.assertEqual(1, len(list(et))) server_file = et.find('./file') self.assertEqual('/a/file/on/server', server_file.text)
def test_parse_error(self): errinfo = PutCommand.parse_response( ET.fromstring(ERROR_BLOCK.format(command='put_file', errno=1, errtext="error text"))) self.assertEqual(errinfo.errno, 1) self.assertEqual(errinfo.message, "error text")
def test_parse(self): self.assertIsNone(PutCommand.parse_response(ET.fromstring('<put_file />')))