5 new revisions:
Revision: 5dd55bcf2451
Author: Mikko Korpela <[email protected]>
Date: Thu Nov 10 02:28:20 2011
Log: Json tests
http://code.google.com/p/robotframework/source/detail?r=5dd55bcf2451
Revision: 7e8f071acd1e
Author: Mikko Korpela <[email protected]>
Date: Thu Nov 10 02:39:00 2011
Log: test_jsoning: test_times
http://code.google.com/p/robotframework/source/detail?r=7e8f071acd1e
Revision: d91d0f30ad04
Author: Mikko Korpela <[email protected]>
Date: Thu Nov 10 22:18:26 2011
Log: order
http://code.google.com/p/robotframework/source/detail?r=d91d0f30ad04
Revision: 35c72566a7a0
Author: Mikko Korpela <[email protected]>
Date: Thu Nov 10 22:19:37 2011
Log: Automated merge with https://code.google.com/p/robotframework/
http://code.google.com/p/robotframework/source/detail?r=35c72566a7a0
Revision: e788ebec0e37
Author: Mikko Korpela <[email protected]>
Date: Thu Nov 10 23:55:37 2011
Log: keyword jsoning test
http://code.google.com/p/robotframework/source/detail?r=e788ebec0e37
==============================================================================
Revision: 5dd55bcf2451
Author: Mikko Korpela <[email protected]>
Date: Thu Nov 10 02:28:20 2011
Log: Json tests
http://code.google.com/p/robotframework/source/detail?r=5dd55bcf2451
Added:
/utest/result/test_jsoning.py
=======================================
--- /dev/null
+++ /utest/result/test_jsoning.py Thu Nov 10 02:28:20 2011
@@ -0,0 +1,42 @@
+import unittest
+from robot import utils
+from robot.model.message import Message
+from robot.output.loggerhelper import LEVELS
+from robot.reporting.parsingcontext import Context
+from robot.result.datamodel import DatamodelVisitor
+from robot.result.jsondatamodelhandlers import _Handler
+from robot.utils.asserts import assert_equals
+
+
+class TestJsoning(unittest.TestCase, DatamodelVisitor):
+
+ def setUp(self):
+ self._elements = []
+ self._context = Context()
+ self._elements.append(_Handler(self._context))
+
+ def test_html_message_to_json(self):
+ message = Message(message='<b>Great danger!</b>',
+ level='WARN',
+ html=True,
+ timestamp='20121212 12:12:12.121')
+ message.visit(self)
+ self._verify_message(self.datamodel[0], message)
+
+ def test_non_html_message_to_json(self):
+ message = Message(message='This is an html mark --> <html>',
+ level='INFO',
+ html=False,
+ timestamp='19991211 12:12:12.821')
+ message.visit(self)
+ message.message = utils.html_escape(message.message)
+ self._verify_message(self.datamodel[0], message)
+
+ def _verify_message(self, message_json, message):
+ assert_equals(message_json[0],
self._context.timestamp(message.timestamp))
+ assert_equals(message_json[1], LEVELS[message.level])
+ assert_equals(message_json[2],
self._context.get_id(message.message))
+
+
+if __name__ == '__main__':
+ unittest.main()
==============================================================================
Revision: 7e8f071acd1e
Author: Mikko Korpela <[email protected]>
Date: Thu Nov 10 02:39:00 2011
Log: test_jsoning: test_times
http://code.google.com/p/robotframework/source/detail?r=7e8f071acd1e
Modified:
/utest/result/test_jsoning.py
=======================================
--- /utest/result/test_jsoning.py Thu Nov 10 02:28:20 2011
+++ /utest/result/test_jsoning.py Thu Nov 10 02:39:00 2011
@@ -26,12 +26,17 @@
def test_non_html_message_to_json(self):
message = Message(message='This is an html mark --> <html>',
level='INFO',
- html=False,
timestamp='19991211 12:12:12.821')
message.visit(self)
message.message = utils.html_escape(message.message)
self._verify_message(self.datamodel[0], message)
+ def test_times(self):
+ for timestamp in ['20110531 12:48:09.020','N/A','20110531
12:48:09.010','20110531 12:48:19.035']:
+ Message(timestamp=timestamp).visit(self)
+ for index, millis in enumerate([0, None, -10, 10015]):
+ assert_equals(self.datamodel[index][0], millis)
+
def _verify_message(self, message_json, message):
assert_equals(message_json[0],
self._context.timestamp(message.timestamp))
assert_equals(message_json[1], LEVELS[message.level])
==============================================================================
Revision: d91d0f30ad04
Author: Mikko Korpela <[email protected]>
Date: Thu Nov 10 22:18:26 2011
Log: order
http://code.google.com/p/robotframework/source/detail?r=d91d0f30ad04
Modified:
/utest/result/test_jsoning.py
=======================================
--- /utest/result/test_jsoning.py Thu Nov 10 02:39:00 2011
+++ /utest/result/test_jsoning.py Thu Nov 10 22:18:26 2011
@@ -23,6 +23,11 @@
message.visit(self)
self._verify_message(self.datamodel[0], message)
+ def _verify_message(self, message_json, message):
+ assert_equals(message_json[0],
self._context.timestamp(message.timestamp))
+ assert_equals(message_json[1], LEVELS[message.level])
+ assert_equals(message_json[2],
self._context.get_id(message.message))
+
def test_non_html_message_to_json(self):
message = Message(message='This is an html mark --> <html>',
level='INFO',
@@ -37,11 +42,6 @@
for index, millis in enumerate([0, None, -10, 10015]):
assert_equals(self.datamodel[index][0], millis)
- def _verify_message(self, message_json, message):
- assert_equals(message_json[0],
self._context.timestamp(message.timestamp))
- assert_equals(message_json[1], LEVELS[message.level])
- assert_equals(message_json[2],
self._context.get_id(message.message))
-
if __name__ == '__main__':
unittest.main()
==============================================================================
Revision: 35c72566a7a0
Author: Mikko Korpela <[email protected]>
Date: Thu Nov 10 22:19:37 2011
Log: Automated merge with https://code.google.com/p/robotframework/
http://code.google.com/p/robotframework/source/detail?r=35c72566a7a0
==============================================================================
Revision: e788ebec0e37
Author: Mikko Korpela <[email protected]>
Date: Thu Nov 10 23:55:37 2011
Log: keyword jsoning test
http://code.google.com/p/robotframework/source/detail?r=e788ebec0e37
Modified:
/utest/result/test_jsoning.py
=======================================
--- /utest/result/test_jsoning.py Thu Nov 10 22:18:26 2011
+++ /utest/result/test_jsoning.py Thu Nov 10 23:55:37 2011
@@ -1,10 +1,11 @@
import unittest
from robot import utils
+from robot.result.keyword import Keyword
from robot.model.message import Message
from robot.output.loggerhelper import LEVELS
from robot.reporting.parsingcontext import Context
from robot.result.datamodel import DatamodelVisitor
-from robot.result.jsondatamodelhandlers import _Handler
+from robot.result.jsondatamodelhandlers import _Handler, KeywordHandler,
_StatusHandler
from robot.utils.asserts import assert_equals
@@ -26,14 +27,19 @@
def _verify_message(self, message_json, message):
assert_equals(message_json[0],
self._context.timestamp(message.timestamp))
assert_equals(message_json[1], LEVELS[message.level])
- assert_equals(message_json[2],
self._context.get_id(message.message))
+ message_text = message.message
+ if not message.html:
+ message_text = utils.html_escape(message_text)
+ self._assert_text(message_json[2], message_text)
+
+ def _assert_text(self, text_index, text):
+ assert_equals(text_index, self._context.get_id(text))
def test_non_html_message_to_json(self):
message = Message(message='This is an html mark --> <html>',
level='INFO',
timestamp='19991211 12:12:12.821')
message.visit(self)
- message.message = utils.html_escape(message.message)
self._verify_message(self.datamodel[0], message)
def test_times(self):
@@ -42,6 +48,46 @@
for index, millis in enumerate([0, None, -10, 10015]):
assert_equals(self.datamodel[index][0], millis)
+ def test_keyword_jsoning(self):
+ self._context.start_suite()
+ keyword = Keyword(name='Keyword Name',
+ doc='Documentation for <b>a keyword</b>',
+ args=['${first}', '${second}', '${third}'],
+ type='setup',
+ timeout='2 seconds',
+ status='PASS',
+ starttime='20110101 16:16:16.100',
+ endtime='20110101 16:16:18.161')
+ keyword.messages.create(message='keyword message',
+ level='INFO',
+ timestamp='20110101 16:16:16.161')
+ keyword.keywords.create(name='No Operation',
+ type='kw',
+ status='PASS')
+ keyword.visit(self)
+ self._verify_keyword(self.datamodel[0], keyword)
+
+ def _verify_keyword(self, keyword_json, keyword):
+ assert_equals(keyword_json[0], KeywordHandler._types[keyword.type])
+ self._assert_text(keyword_json[1], keyword.name)
+ self._assert_text(keyword_json[2], keyword.timeout)
+ self._assert_html_text(keyword_json[3], keyword.doc)
+ self._assert_text(keyword_json[4], ', '.join(keyword.args))
+ assert_equals(keyword_json[-3][0],
_StatusHandler._statuses[keyword.status])
+ assert_equals(keyword_json[-3][1], self._millis(keyword.starttime))
+ if keyword.starttime != 'N/A':
+ assert_equals(keyword_json[-3][2],
self._millis(keyword.endtime)-self._millis(keyword.starttime))
+ for index, message in enumerate(keyword.messages):
+ self._verify_message(keyword_json[-1][index], message)
+ for index, kw in enumerate(keyword.keywords):
+ self._verify_keyword(keyword_json[-2][index], kw)
+
+ def _millis(self, timestamp):
+ return self._context.timestamp(timestamp)
+
+ def _assert_html_text(self, text_index, text):
+ self._assert_text(text_index, utils.html_escape(text))
+
if __name__ == '__main__':
unittest.main()