def test__build_image_repost_attachment_multi_match(self):
     agent = DiscordAgent(name='discord', hook='test.com')
     r = agent._build_image_repost_attachment(
         self._get_image_search_results_multi_match())
     self.assertEqual(3, len(r))
     self.assertEqual('Found a repost with 2 matches.', r['description'])
     self.assertIn('fields', r)
     self.assertEqual(3, len(r['fields']))
 def test__build_payload_with_subject(self):
     agent = DiscordAgent(name='discord',
                          hook='test.com',
                          include_subject=True)
     r = agent._build_payload('this is a test message',
                              subject='this is a subject')
     self.assertIn('content', r)
     self.assertEqual('**this is a subject**\r\nthis is a test message',
                      r['content'])
 def test__build_image_repost_attachment_fields_single_match(self):
     agent = DiscordAgent(name='discord', hook='test.com')
     r = agent._build_image_repost_attachment(
         self._get_image_search_results_one_match())
     self.assertIn('fields', r)
     self.assertEqual(2, len(r['fields']))
     self.assertEqual('Offender', r['fields'][0]['name'])
     self.assertEqual('[View](https://redd.it/abc123)',
                      r['fields'][0]['value'])
     self.assertEqual('Match', r['fields'][1]['name'])
     self.assertEqual('[View - 68.75%](https://redd.it/abc123)',
                      r['fields'][1]['value'])
 def test__hex_to_int_invalid(self):
     agent = DiscordAgent(name='discord', hook='test.com', color='#3248')
     self.assertEqual(0, agent.hex_to_int(agent.color))
 def test__build_payload_no_subject(self):
     agent = DiscordAgent(name='discord', hook='test.com')
     r = agent._build_payload('this is a test message')
     self.assertIn('content', r)
     self.assertEqual('this is a test message', r['content'])
 def test_init(self):
     agent = DiscordAgent(name='discord', hook='test.com')
     self.assertEqual('discord', agent.name)
     self.assertEqual('test.com', agent.hook)