def test_notifications(): try: msg1 = Fake({ "owner": { "name": "El'endia Starman", "id": 1, "is_moderator": False }, "room": { "id": 11540, "_client": { "host": "stackexchange.com" } }, "_client": { "host": "stackexchange.com" } }) msg2 = Fake({ "owner": { "name": "angussidney", "id": 145827, "is_moderator": False }, "room": { "id": 11540, "_client": { "host": "stackexchange.com" } }, "_client": { "host": "stackexchange.com" } }) # User 1 assert chatcommands.allnotificationsites("11540", original_msg=msg1) == \ "You won't get notified for any sites in that room." assert chatcommands.willbenotified("11540", "gaming", original_msg=msg1) == \ "No, you won't be notified for that site in that room." assert chatcommands.notify("11540", "gaming", None, original_msg=msg1) == \ "You'll now get pings from me if I report a post on `gaming`, in room `11540` on `chat.stackexchange.com`" assert chatcommands.notify("11540", "codegolf.stackexchange.com", None, original_msg=msg1) == \ "You'll now get pings from me if I report a post on `codegolf.stackexchange.com`, in room `11540` on " \ "`chat.stackexchange.com`" assert chatcommands.willbenotified("11540", "gaming.stackexchange.com", original_msg=msg1) == \ "Yes, you will be notified for that site in that room." assert chatcommands.willbenotified("11540", "codegolf", original_msg=msg1) == \ "Yes, you will be notified for that site in that room." # User 2 assert chatcommands.allnotificationsites("11540", original_msg=msg2) == \ "You won't get notified for any sites in that room." assert chatcommands.willbenotified("11540", "raspberrypi", original_msg=msg2) == \ "No, you won't be notified for that site in that room." assert chatcommands.notify("11540", "raspberrypi", None, original_msg=msg2) == \ "You'll now get pings from me if I report a post on `raspberrypi`, in room `11540` on `chat.stackexchange.com`" assert chatcommands.notify("11540", "raspberrypi", None, original_msg=msg2) == \ "That notification configuration is already registered." assert chatcommands.willbenotified("11540", "raspberrypi.stackexchange.com", original_msg=msg2) == \ "Yes, you will be notified for that site in that room." # Check for no interaction assert chatcommands.allnotificationsites("11540", original_msg=msg1) == \ "You will get notified for these sites:\r\ncodegolf.stackexchange.com, gaming.stackexchange.com" assert chatcommands.allnotificationsites("11540", original_msg=msg2) == \ "You will get notified for these sites:\r\nraspberrypi.stackexchange.com" # Remove all notifications and check assert chatcommands.unnotify("11540", "gaming.stackexchange.com", original_msg=msg1) == \ "I will no longer ping you if I report a post on `gaming.stackexchange.com`, in room `11540` on " \ "`chat.stackexchange.com`" assert chatcommands.unnotify("11540", "codegolf", original_msg=msg1) == \ "I will no longer ping you if I report a post on `codegolf`, in room `11540` on `chat.stackexchange.com`" assert chatcommands.unnotify("11540", "raspberrypi", original_msg=msg2) == \ "I will no longer ping you if I report a post on `raspberrypi`, in room `11540` on `chat.stackexchange.com`" assert chatcommands.unnotify("11540", "raspberrypi", original_msg=msg2) == \ "That configuration doesn't exist." assert chatcommands.allnotificationsites("11540", original_msg=msg1) == \ "You won't get notified for any sites in that room." assert chatcommands.willbenotified("11540", "raspberrypi", original_msg=msg2) == \ "No, you won't be notified for that site in that room." assert chatcommands.allnotificationsites( "asdf", original_msg=msg1) == "Invalid input type given for an argument" assert chatcommands.notify("11540", "charcoalspam.stackexchange.com", None, original_msg=msg1) == \ "The given SE site does not exist." assert chatcommands.notify("11540", "codegolf", "True", original_msg=msg1) == \ "You'll now get pings from me if I report a post on `codegolf`, in room `11540` on `chat.stackexchange.com`" assert chatcommands.notify("11540", "codegolf", "False", original_msg=msg1) == \ "That notification configuration is already registered." finally: # Cleanup _remove_pickle("notifications.p")
def test_notifications(): try: msg1 = Fake({ "owner": { "name": "El'endia Starman", "id": 1, "is_moderator": False }, "room": { "id": 11540, "_client": { "host": "stackexchange.com" } }, "_client": { "host": "stackexchange.com" } }) msg2 = Fake({ "owner": { "name": "angussidney", "id": 145827, "is_moderator": False }, "room": { "id": 11540, "_client": { "host": "stackexchange.com" } }, "_client": { "host": "stackexchange.com" } }) # User 1 assert chatcommands.allnotificationsites("11540", original_msg=msg1) == \ "You won't get notified for any sites in that room." assert chatcommands.willbenotified("11540", "gaming", original_msg=msg1) == \ "No, you won't be notified for that site in that room." assert chatcommands.notify("11540", "gaming", None, original_msg=msg1) == \ "You'll now get pings from me if I report a post on `gaming`, in room `11540` on `chat.stackexchange.com`" assert chatcommands.notify("11540", "codegolf.stackexchange.com", None, original_msg=msg1) == \ "You'll now get pings from me if I report a post on `codegolf.stackexchange.com`, in room `11540` on " \ "`chat.stackexchange.com`" assert chatcommands.willbenotified("11540", "gaming.stackexchange.com", original_msg=msg1) == \ "Yes, you will be notified for that site in that room." assert chatcommands.willbenotified("11540", "codegolf", original_msg=msg1) == \ "Yes, you will be notified for that site in that room." # User 2 assert chatcommands.allnotificationsites("11540", original_msg=msg2) == \ "You won't get notified for any sites in that room." assert chatcommands.willbenotified("11540", "raspberrypi", original_msg=msg2) == \ "No, you won't be notified for that site in that room." assert chatcommands.notify("11540", "raspberrypi", None, original_msg=msg2) == \ "You'll now get pings from me if I report a post on `raspberrypi`, in room `11540` on `chat.stackexchange.com`" assert chatcommands.notify("11540", "raspberrypi", None, original_msg=msg2) == \ "That notification configuration is already registered." assert chatcommands.willbenotified("11540", "raspberrypi.stackexchange.com", original_msg=msg2) == \ "Yes, you will be notified for that site in that room." # Check for no interaction assert chatcommands.allnotificationsites("11540", original_msg=msg1) == \ "You will get notified for these sites:\r\ncodegolf.stackexchange.com, gaming.stackexchange.com" assert chatcommands.allnotificationsites("11540", original_msg=msg2) == \ "You will get notified for these sites:\r\nraspberrypi.stackexchange.com" # Remove all notifications and check assert chatcommands.unnotify("11540", "gaming.stackexchange.com", original_msg=msg1) == \ "I will no longer ping you if I report a post on `gaming.stackexchange.com`, in room `11540` on " \ "`chat.stackexchange.com`" assert chatcommands.unnotify("11540", "codegolf", original_msg=msg1) == \ "I will no longer ping you if I report a post on `codegolf`, in room `11540` on `chat.stackexchange.com`" assert chatcommands.unnotify("11540", "raspberrypi", original_msg=msg2) == \ "I will no longer ping you if I report a post on `raspberrypi`, in room `11540` on `chat.stackexchange.com`" assert chatcommands.unnotify("11540", "raspberrypi", original_msg=msg2) == \ "That configuration doesn't exist." assert chatcommands.allnotificationsites("11540", original_msg=msg1) == \ "You won't get notified for any sites in that room." assert chatcommands.willbenotified("11540", "raspberrypi", original_msg=msg2) == \ "No, you won't be notified for that site in that room." assert chatcommands.allnotificationsites("asdf", original_msg=msg1) == "Invalid input type given for an argument" assert chatcommands.notify("11540", "charcoalspam.stackexchange.com", None, original_msg=msg1) == \ "The given SE site does not exist." assert chatcommands.notify("11540", "codegolf", "True", original_msg=msg1) == \ "You'll now get pings from me if I report a post on `codegolf`, in room `11540` on `chat.stackexchange.com`" assert chatcommands.notify("11540", "codegolf", "False", original_msg=msg1) == \ "That notification configuration is already registered." finally: # Cleanup _remove_pickle("notifications.p")