コード例 #1
0
 def test_send_change_notification_should_handle_empty_added_list(
         self, mocked_send_markdown):
     added = []
     removed = [
         VkGroupManager("id3", "role3", "name3"),
         VkGroupManager("id4", "role4", "name4")
     ]
     Slack("url").send_change_notification(added, removed)
     expected = "*Removed:* <https://vk.com/idid3|name3> (role3), <https://vk.com/idid4|name4> (role4)"
     mocked_send_markdown.assert_called_once_with(expected)
コード例 #2
0
 def test_send_change_notification_should_handle_empty_removed_list(
         self, mocked_send_markdown):
     added = [
         VkGroupManager("id1", "role1", "name1"),
         VkGroupManager("id2", "role2", "name2")
     ]
     removed = []
     Slack("url").send_change_notification(added, removed)
     expected = "*Added:* <https://vk.com/idid1|name1> (role1), <https://vk.com/idid2|name2> (role2)"
     mocked_send_markdown.assert_called_once_with(expected)
コード例 #3
0
 def test_send_change_notification_should_call_send_markdown_and_include_prefix(
         self, mocked_send_markdown):
     added = [VkGroupManager("id1", "role1", "name1")]
     removed = [VkGroupManager("id2", "role2", "name2")]
     Slack("url").send_change_notification(added,
                                           removed,
                                           prefix="prefix markdown")
     expected = "\n".join([
         "prefix markdown", "*Added:* <https://vk.com/idid1|name1> (role1)",
         "*Removed:* <https://vk.com/idid2|name2> (role2)"
     ])
     mocked_send_markdown.assert_called_once_with(expected)
コード例 #4
0
 def test_send_change_notification_should_call_send_markdown(
         self, mocked_send_markdown):
     added = [
         VkGroupManager("id1", "role1", "name1"),
         VkGroupManager("id2", "role2", "name2")
     ]
     removed = [
         VkGroupManager("id3", "role3", "name3"),
         VkGroupManager("id4", "role4", "name4")
     ]
     Slack("url").send_change_notification(added, removed)
     expected = "\n".join([
         "*Added:* <https://vk.com/idid1|name1> (role1), <https://vk.com/idid2|name2> (role2)",
         "*Removed:* <https://vk.com/idid3|name3> (role3), <https://vk.com/idid4|name4> (role4)"
     ])
     mocked_send_markdown.assert_called_once_with(expected)
コード例 #5
0
 def test_get_group_managers_oneshot_should_return_managers(self, mocked):
     mocked.return_value = {
         "items": [{
             "id": "id1",
             "role": "role1"
         }, {
             "id": "id2",
             "role": "role2"
         }]
     }
     managers = Vk("token").get_group_managers_oneshot("gid")
     expected = [
         VkGroupManager("id1", "role1"),
         VkGroupManager("id2", "role2")
     ]
     self.assertEqual([vars(m) for m in managers],
                      [vars(e) for e in expected])
コード例 #6
0
 def test_get_group_managers_should_return_managers(self, mocked):
     mocked.side_effect = [[
         VkGroupManager("id1", "role1"),
         VkGroupManager("id2", "role2")
     ], [VkGroupManager("id3", "role3")], []]
     managers = Vk("token").get_group_managers("gid")
     expected = [
         VkGroupManager("id1", "role1"),
         VkGroupManager("id2", "role2"),
         VkGroupManager("id3", "role3")
     ]
     self.assertEqual([vars(m) for m in managers],
                      [vars(e) for e in expected])
コード例 #7
0
 def test_get_group_managers_should_call_oneshot_method_with_pagination(
         self, mocked):
     mocked.side_effect = [[VkGroupManager("id", "role")], []]
     Vk("token").get_group_managers("gid")
     mocked.assert_has_calls([mock.call("gid", 0), mock.call("gid", 1)])
コード例 #8
0
 def test_init_should_validate_args(self):
     with self.assertRaises(ValueError):
         VkGroupManager("", "role")
     with self.assertRaises(ValueError):
         VkGroupManager("id", "")
コード例 #9
0
 def test_deserialize_should_restore_serialized_objects(self):
     manager = VkGroupManager("id", "role", "display name")
     serialized = manager.serialize()
     deserialized = VkGroupManager.deserialize(serialized)
     self.assertEqual(vars(manager), vars(deserialized))
コード例 #10
0
 def test_add_user_details_should_add_user_details(self):
     manager = VkGroupManager("id", "role")
     user = VkUser("id", "First", "Last")
     manager.add_user_details(user)
     self.assertEqual(manager.display_name, user.display_name)
コード例 #11
0
 def test_is_admin_should_check_if_manager_is_in_admin_role(self):
     self.assertTrue(VkGroupManager("id", "creator").is_admin)
     self.assertTrue(VkGroupManager("id", "administrator").is_admin)
     self.assertFalse(VkGroupManager("id", "moderator").is_admin)