def test_carousel(self): mock_console = MockConsoleBotClient() renderer = JSONRenderer(mock_console) self.assertIsNotNone(renderer) texts = '<carousel><card><image>http://servusai.com/aiml.png</image><title>Servusai</title><subtitle>Home of ProgramY</subtitle>' + \ '<button><text>Hello</text><url>http://click.me</url></button></card></carousel>' renderer.render("testuser", texts) self.assertIsNotNone(mock_console._response) self.assertEqual( { 'cards': [{ 'buttons': [{ 'postback': None, 'text': 'Hello', 'type': 'button', 'url': 'http://click.me' }], 'image': 'http://servusai.com/aiml.png', 'subtitle': 'Home of ProgramY', 'title': 'Servusai', 'type': 'card' }], 'type': 'carousel' }, mock_console._response)
def __init__(self, argument_parser=None): EventBotClient.__init__(self, "Socket", argument_parser) print("TCP Socket Client server now listening on %s:%d" % (self._host, self._port)) self._server_socket = self.create_socket_connection(self._host, self._port, self._queue, self._max_buffer) self._renderer = JSONRenderer(self)
def __init__(self, argument_parser=None): self._host = None self._port = None self._queue = None self._max_buffer = None self._server_socket = None self._client_connection = None EventBotClient.__init__(self, "Socket", argument_parser) if self._host is not None and \ self._port is not None and \ self._queue is not None: outputLog( self, "TCP Socket Client server now listening on %s:%d" % (self._host, self._port)) self._server_socket = self.create_socket_connection( self._host, self._port, self._queue, self._max_buffer) self._renderer = JSONRenderer(self) else: outputLog( self, "TCP Socket Client configuration not defined, unable to create socket!" )
def test_split(self): mock_console = MockConsoleBotClient() renderer = JSONRenderer(mock_console) self.assertIsNotNone(renderer) renderer.render("testuser", "<split />") data = mock_console._response self.assertTrue('split' in data)
def test_reply_without_postback(self): mock_console = MockConsoleBotClient() renderer = JSONRenderer(mock_console) self.assertIsNotNone(renderer) renderer.render("testuser", "<reply><text>Hello</text></reply>") data = mock_console._response self.assertTrue('reply' in data)
def test_reply_with_postback(self): mock_console = MockConsoleBotClient() renderer = JSONRenderer(mock_console) self.assertIsNotNone(renderer) renderer.render("testuser", "<reply><text>Hello</text><postback>HELLO</postback></reply>") self.assertIsNotNone(mock_console._response) self.assertEqual({'postback': 'HELLO', 'text': 'Hello', 'type': 'reply'}, mock_console._response)
def test_video(self): mock_console = MockConsoleBotClient() renderer = JSONRenderer(mock_console) self.assertIsNotNone(renderer) renderer.render("testuser", "<video>http://servusai.com/aiml.mov</video>") self.assertIsNotNone(mock_console._response) self.assertEqual({'type': 'video', 'url': 'http://servusai.com/aiml.mov'}, mock_console._response)
def test_image(self): mock_console = MockConsoleBotClient() renderer = JSONRenderer(mock_console) self.assertIsNotNone(renderer) renderer.render("testuser", "<image>http://servusai.com/aiml.png</image>") self.assertIsNotNone(mock_console._response) self.assertEqual({'type': 'image', 'url': 'http://servusai.com/aiml.png'}, mock_console._response)
def test_link(self): mock_console = MockConsoleBotClient() renderer = JSONRenderer(mock_console) self.assertIsNotNone(renderer) renderer.render("testuser", "<link><text>Hello</text><url>http://click.me</url></link>") self.assertIsNotNone(mock_console._response) self.assertEqual({'text': 'Hello', 'type': 'link', 'url': 'http://click.me'}, mock_console._response)
def test_postback_button(self): mock_console = MockConsoleBotClient() renderer = JSONRenderer(mock_console) self.assertIsNotNone(renderer) renderer.render("testuser", "<button><text>Hello</text><postback>HELLO</postback></button>") self.assertIsNotNone(mock_console._response) self.assertEqual({'postback': 'HELLO', 'text': 'Hello', 'type': 'button', 'url': None}, mock_console._response)
def test_url_button(self): mock_console = MockConsoleBotClient() renderer = JSONRenderer(mock_console) self.assertIsNotNone(renderer) renderer.render("testuser", "<button><text>Hello</text><url>http://click.me</url></button>") self.assertIsNotNone(mock_console._response) self.assertEqual({'postback': None, 'text': 'Hello', 'type': 'button', 'url': 'http://click.me'}, mock_console._response)
def test_text_only(self): mock_console = MockConsoleBotClient() renderer = JSONRenderer(mock_console) self.assertIsNotNone(renderer) renderer.render("testuser", "Hello world") self.assertIsNotNone(mock_console._response) self.assertEqual({'text': 'Hello world', 'type': 'text'}, mock_console._response)
def test_olist(self): mock_console = MockConsoleBotClient() renderer = JSONRenderer(mock_console) self.assertIsNotNone(renderer) renderer.render("testuser", "<olist><item>Item1</item><item>Item2</item></olist>") self.assertIsNotNone(mock_console._response) self.assertEqual({'items': [{'text': 'Item1', 'type': 'text'}, {'text': 'Item2', 'type': 'text'}], 'type': 'list'}, mock_console._response)
def test_delay(self): mock_console = MockConsoleBotClient() renderer = JSONRenderer(mock_console) self.assertIsNotNone(renderer) renderer.render("testuser", "<delay><seconds>0</seconds></delay>") self.assertIsNotNone(mock_console._response) self.assertEqual({'seconds': '0', 'type': 'delay'}, mock_console._response)
def test_location(self): mock_console = MockConsoleBotClient() renderer = JSONRenderer(mock_console) self.assertIsNotNone(renderer) renderer.render("testuser", "<location />") self.assertIsNotNone(mock_console._response) self.assertEqual({'type': 'location'}, mock_console._response)
def test_delay(self): mock_console = MockConsoleBotClient() renderer = JSONRenderer(mock_console) self.assertIsNotNone(renderer) renderer.render("testuser", "<delay><seconds>0</seconds></delay>") data = mock_console._response self.assertTrue('delay' in data)
def test_location(self): mock_console = MockConsoleBotClient() renderer = JSONRenderer(mock_console) self.assertIsNotNone(renderer) renderer.render("testuser", "<location />") data = mock_console._response self.assertTrue('location' in data)
def test_split(self): mock_console = MockConsoleBotClient() renderer = JSONRenderer(mock_console) self.assertIsNotNone(renderer) renderer.render("testuser", "<split />") self.assertIsNotNone(mock_console._response) self.assertEqual({'type': 'split'}, mock_console._response)
def test_text_only(self): mock_console = MockConsoleBotClient() renderer = JSONRenderer(mock_console) self.assertIsNotNone(renderer) renderer.render("testuser", "Hello world") data = mock_console._response self.assertTrue('text' in data) self.assertEquals(data['text'], "Hello world")
def test_video(self): mock_console = MockConsoleBotClient() renderer = JSONRenderer(mock_console) self.assertIsNotNone(renderer) renderer.render("testuser", "<video>http://servusai.com/aiml.mov</video>") data = mock_console._response self.assertTrue('video' in data)
def test_image(self): mock_console = MockConsoleBotClient() renderer = JSONRenderer(mock_console) self.assertIsNotNone(renderer) renderer.render("testuser", "<image>http://servusai.com/aiml.png</image>") data = mock_console._response self.assertTrue('image' in data)
def test_olist(self): mock_console = MockConsoleBotClient() renderer = JSONRenderer(mock_console) self.assertIsNotNone(renderer) renderer.render("testuser", "<olist><item>Item1</item><item>Item2</item></olist>") data = mock_console._response self.assertTrue('olist' in data)
def test_link(self): mock_console = MockConsoleBotClient() renderer = JSONRenderer(mock_console) self.assertIsNotNone(renderer) renderer.render( "testuser", "<link><text>Hello</text><url>http://click.me</url></link>") data = mock_console._response self.assertTrue('link' in data)
def test_postback_button(self): mock_console = MockConsoleBotClient() renderer = JSONRenderer(mock_console) self.assertIsNotNone(renderer) renderer.render( "testuser", "<button><text>Hello</text><postback>HELLO</postback></button>") data = mock_console._response self.assertTrue('button' in data)
def test_carousel(self): mock_console = MockConsoleBotClient() renderer = JSONRenderer(mock_console) self.assertIsNotNone(renderer) renderer.render( "testuser", "<carousel><card><image>http://servusai.com/aiml.png</image><title>Servusai</title><subtitle>Home of ProgramY</subtitle><button><text>Hello</text><url>http://click.me</url></button></card></carousel>" ) data = mock_console._response self.assertTrue('carousel' in data)