コード例 #1
0
ファイル: test_events.py プロジェクト: romainkotarba/shellbot
    def test_event_queue(self):

        data = {u'hello': u'wörld', 'number': 123, 'weird': None}
        before = Event(attributes=data)
        my_queue = Queue()
        my_queue.put(str(before))
        after = Event(my_queue.get())
        self.assertEqual(after.attributes, data)
コード例 #2
0
ファイル: test_events.py プロジェクト: romainkotarba/shellbot
    def test_event___str__(self):

        event = Event()
        self.assertEqual(str(event), '{"type": "event"}')

        data = {u'hellô': u'wörld', 'number': 123}
        event = Event(attributes=json.dumps(data))
        data.update({'type': 'event'})
        self.assertEqual(json.loads(str(event)), data)
        self.assertEqual(yaml.safe_load(str(event)), data)
コード例 #3
0
ファイル: test_events.py プロジェクト: romainkotarba/shellbot
    def test_event___setattr__(self):

        data = {'personEmail': '*****@*****.**'}
        event = Event(attributes=data)

        with self.assertRaises(AttributeError):
            value = event.person_name

        event.person_name = event.personEmail
        self.assertEqual(event.person_name, '*****@*****.**')
コード例 #4
0
ファイル: test_events.py プロジェクト: romainkotarba/shellbot
    def test_event___getattr__(self):

        event = Event()
        with self.assertRaises(AttributeError):
            value = event.unknown

        data = {u'hello': u'wörld', 'number': 123, 'weird': None}

        event = Event(attributes=data)
        self.assertEqual(event.hello, u'wörld')
        self.assertEqual(event.number, 123)
        self.assertEqual(event.weird, None)

        event = Event(attributes=json.dumps(data))
        self.assertEqual(event.hello, u'wörld')
        self.assertEqual(event.number, 123)
        self.assertEqual(event.weird, None)
コード例 #5
0
ファイル: test_events.py プロジェクト: romainkotarba/shellbot
    def test_event_init(self):

        event = Event()
        self.assertEqual(event.type, 'event')
        self.assertEqual(event.attributes, {})

        event = Event(None)
        self.assertEqual(event.attributes, {})

        event = Event('')
        self.assertEqual(event.attributes, {})

        event = Event(attributes=None)
        self.assertEqual(event.attributes, {})

        event = Event(attributes='')
        self.assertEqual(event.attributes, {})

        data = {u'hellô': 'b', u'wörld': 123}
        event = Event(attributes=json.dumps(data))
        self.assertEqual(event.attributes, data)

        data = {u'hellô': 'b', u'wörld': 123}
        event = Event(attributes=data)
        self.assertEqual(event.attributes, data)
コード例 #6
0
ファイル: test_space.py プロジェクト: romainkotarba/shellbot
    def test_format(self):

        logging.info('***** format')

        space = mock.Mock()
        speaker = mock.Mock()
        u = SpaceUpdater(space=space, speaker=speaker)

        inbound = Event({
            'who_cares': 'no attribute will be used anayway',
        })
        outbound = u.format(inbound)
        self.assertEqual(outbound, u'an unknown event has been received')

        inbound = Message({
            'from_label': '*****@*****.**',
            'text': 'my message',
        })
        outbound = u.format(inbound)
        self.assertEqual(outbound, '[email protected]: my message')

        inbound = Message({
            'from_label': '*****@*****.**',
            'text': 'my message',
            'content': '<p>my message</p>',
        })
        outbound = u.format(inbound)
        self.assertEqual(outbound.text, '[email protected]: my message')
        self.assertEqual(outbound.content, '[email protected]: <p>my message</p>')

        inbound = Join({
            'actor_label': '*****@*****.**',
        })
        outbound = u.format(inbound)
        self.assertEqual(outbound, u'[email protected] has joined')

        inbound = Leave({
            'actor_label': '*****@*****.**',
        })
        outbound = u.format(inbound)
        self.assertEqual(outbound, u'[email protected] has left')
コード例 #7
0
ファイル: test_events.py プロジェクト: romainkotarba/shellbot
    def test_event___repr__(self):

        event = Event()
        self.assertEqual(repr(event), 'Event({})')
コード例 #8
0
ファイル: test_events.py プロジェクト: romainkotarba/shellbot
    def test_event_get(self):

        event = Event()
        with self.assertRaises(AttributeError):
            value = event.unknown
        self.assertEqual(event.get('unknown'), None)
        self.assertEqual(event.get('unknown', 'hye'), 'hye')

        data = {u'hellô': u'wörld', 'number': 123, 'weird': None}

        event = Event(attributes=data)
        self.assertEqual(event.get(u'hellô'), u'wörld')
        self.assertEqual(event.get('number'), 123)
        self.assertEqual(event.get('weird'), None)
        self.assertEqual(event.get('weird', []), [])

        event = Event(attributes=json.dumps(data))
        self.assertEqual(event.get(u'hellô'), u'wörld')
        self.assertEqual(event.get('number'), 123)
        self.assertEqual(event.get('weird'), None)
        self.assertEqual(event.get('weird', []), [])
コード例 #9
0
ファイル: test_events.py プロジェクト: romainkotarba/shellbot
    def test_event___eq__(self):

        a = Event({"hello": "world"})
        b = Event({"hello": "world"})
        self.assertEqual(a, b)

        a = Event({"hello": "world"})
        b = Event({"hello": "world"})
        self.assertTrue(a.__eq__(b))
        self.assertTrue(b.__eq__(a))

        a = Event({"hello": "world"})
        b = Event({"hello": "moon"})
        self.assertFalse(a.__eq__(b))
        self.assertFalse(b.__eq__(a))

        a = Event({"hello": "world"})
        b = Message({"hello": "world"})
        self.assertFalse(a.__eq__(b))
        self.assertFalse(b.__eq__(a))

        a = Event({"hello": "world"})
        b = {"hello": "world"}
        self.assertFalse(a.__eq__(b))
コード例 #10
0
my_event = Event({
    "id":
    "1_lzY29zcGFyazovL3VzL01FU1NBR0UvOTJkYjNiZTAtNDNiZC0xMWU2LThhZTktZGQ1YjNkZmM1NjVk",
    "channel_id":
    "Y2lzY29zcGFyazovL3VzL1JPT00vYmJjZWIxYWQtNDNmMS0zYjU4LTkxNDctZjE0YmIwYzRkMTU0",
    "roomType":
    "group",
    "toPersonId":
    "Y2lzY29zcGFyazovL3VzL1BFT1BMRS9mMDZkNzFhNS0wODMzLTRmYTUtYTcyYS1jYzg5YjI1ZWVlMmX",
    "toPersonEmail":
    "*****@*****.**",
    "text":
    "The PM for this project is Mike C. and the Engineering Manager is Jane W.",
    "markdown":
    "**PROJECT UPDATE** A new project plan has been published [on Box](http://box.com/s/lf5vj). The PM for this project is <@personEmail:[email protected]> and the Engineering Manager is <@personEmail:[email protected]>.",
    "files": ["http://www.example.com/images/media.png"],
    "personId":
    "Y2lzY29zcGFyazovL3VzL1BFT1BMRS9mNWIzNjE4Ny1jOGRkLTQ3MjctOGIyZi1mOWM0NDdmMjkwNDY",
    "personEmail":
    "*****@*****.**",
    "stamp":
    "2015-10-18T14:26:16+00:00",
    "mentionedPeople": [
        "Y2lzY29zcGFyazovL3VzL1BFT1BMRS8yNDlmNzRkOS1kYjhhLTQzY2EtODk2Yi04NzllZDI0MGFjNTM",
        "Y2lzY29zcGFyazovL3VzL1BFT1BMRS83YWYyZjcyYy0xZDk1LTQxZjAtYTcxNi00MjlmZmNmYmM0ZDg"
    ],
    "from_id":
    "Y2lzY29zcGFyazovL3VzL1BFT1BMRS9mNWIzNjE4Ny1jOGRkLTQ3MjctOGIyZi1mOWM0NDdmMjkwNDY",
    "mentioned_ids": [
        "Y2lzY29zcGFyazovL3VzL1BFT1BMRS8yNDlmNzRkOS1kYjhhLTQzY2EtODk2Yi04NzllZDI0MGFjNTM",
        "Y2lzY29zcGFyazovL3VzL1BFT1BMRS83YWYyZjcyYy0xZDk1LTQxZjAtYTcxNi00MjlmZmNmYmM0ZDg"
    ],
})