def handle(self, *args, **options): realm = get_realm(options["domain"]) if options["op"] == "show": for name, url in realm.get_emoji().iteritems(): print(name, url) sys.exit(0) name = options['name'] if name is None: self.print_help("python2.7 manage.py", "realm_emoji") sys.exit(1) if options["op"] == "add": img_url = options['img_url'] if img_url is None: self.print_help("python2.7 manage.py", "realm_emoji") sys.exit(1) do_add_realm_emoji(realm, name, img_url) sys.exit(0) elif options["op"] == "remove": do_remove_realm_emoji(realm, name) sys.exit(0) else: self.print_help("python2.7 manage.py", "realm_emoji") sys.exit(1)
def handle(self, *args, **options): realm = get_realm(options["domain"]) if options["op"] == "show": for name, url in six.iteritems(realm.get_emoji()): print(name, url) sys.exit(0) name = options['name'] if name is None: self.print_help("python2.7 manage.py", "realm_emoji") sys.exit(1) if options["op"] == "add": img_url = options['img_url'] if img_url is None: self.print_help("python2.7 manage.py", "realm_emoji") sys.exit(1) do_add_realm_emoji(realm, name, img_url) sys.exit(0) elif options["op"] == "remove": do_remove_realm_emoji(realm, name) sys.exit(0) else: self.print_help("python2.7 manage.py", "realm_emoji") sys.exit(1)
def test_realm_emoji(self): def emoji_img(name, url): return '<img alt="%s" class="emoji" src="%s" title="%s">' % (name, url, name) zulip_realm = get_realm('zulip.com') url = "https://zulip.com/test_realm_emoji.png" do_add_realm_emoji(zulip_realm, "test", url) # Needs to mock an actual message because that's how bugdown obtains the realm msg = Message(sender=get_user_profile_by_email("*****@*****.**")) converted = bugdown.convert(":test:", "zulip.com", msg) self.assertEqual(converted, '<p>%s</p>' %(emoji_img(':test:', url))) do_remove_realm_emoji(zulip_realm, 'test') converted = bugdown.convert(":test:", "zulip.com", msg) self.assertEqual(converted, '<p>:test:</p>')
def test_realm_emoji(self): def emoji_img(name, url): return '<img alt="%s" class="emoji" src="%s" title="%s">' % ( name, url, name) zulip_realm = get_realm('zulip.com') url = "https://zulip.com/test_realm_emoji.png" do_add_realm_emoji(zulip_realm, "test", url) # Needs to mock an actual message because that's how bugdown obtains the realm msg = Message(sender=get_user_profile_by_email("*****@*****.**")) converted = bugdown.convert(":test:", "zulip.com", msg) self.assertEqual(converted, '<p>%s</p>' % (emoji_img(':test:', url))) do_remove_realm_emoji(zulip_realm, 'test') converted = bugdown.convert(":test:", "zulip.com", msg) self.assertEqual(converted, '<p>:test:</p>')
def test_realm_emoji_events(self): schema_checker = check_dict([ ('type', equals('realm_emoji')), ('op', equals('update')), ('realm_emoji', check_dict([])), ]) events = self.do_test(lambda: do_add_realm_emoji(get_realm("zulip.com"), "my_emoji", "https://realm.com/my_emoji")) error = schema_checker('events[0]', events[0]) self.assert_on_error(error) events = self.do_test(lambda: do_remove_realm_emoji(get_realm("zulip.com"), "my_emoji")) error = schema_checker('events[0]', events[0]) self.assert_on_error(error)