knowledge/document_url_google_drive/tests/test_document_url.py

77 lines
2.8 KiB
Python

# Copyright (C) 2023 Cetmix OÜ
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo.tests import common
class TestDocumentUrl(common.TransactionCase):
@classmethod
def setUpClass(cls):
super().setUpClass()
cls.wizard_add_url = cls.env["ir.attachment.add_url"]
cls.config_settings = cls.env["ir.config_parameter"].sudo()
cls.users = cls.env["res.users"]
def test_add_google_drive_url_attachment(self):
self.wizard_add_url.add_attachment_google_drive(
"http://www.odoodemouser.com",
"Demo User (Website)",
"res.users",
[self.env.ref("base.user_demo").id],
)
domain = [
("type", "=", "url"),
("name", "=", "Demo User (Website)"),
("url", "=", "http://www.odoodemouser.com"),
("res_model", "=", "res.users"),
("res_id", "=", self.env.ref("base.user_demo").id),
]
attachment_added_count = self.env["ir.attachment"].search_count(domain)
self.assertEqual(attachment_added_count, 1)
attachment = self.env["ir.attachment"].search(domain)
self.assertEqual(attachment.mimetype, "application/link")
def test_get_google_picker_params_is_active(self):
self.config_settings.set_param("is_active_google_api", True)
self.config_settings.set_param("google_picker_api_key", "test_api_key")
self.config_settings.set_param("google_picker_app_id", "test_app_id")
self.config_settings.set_param("google_picker_client_id", "test_client_id")
user = self.users.with_context(no_reset_password=True).create(
{
"name": "Test User",
"login": "test_user",
"google_picker_scope": "test_scope",
"google_picker_access_token": "test_access_token",
"google_picker_mime_types": "test_mime_types",
"google_picker_expires_date": 0,
}
)
params = user.get_google_picker_params()
self.assertEqual(
params,
{
"client_id": "test_client_id",
"api_key": "test_api_key",
"scope": "test_scope",
"app_id": "test_app_id",
"access_token": "test_access_token",
"expires_date": 0,
"mime_types": "test_mime_types",
},
)
def test_get_google_picker_params_not_is_active(self):
self.config_settings.set_param("is_active_google_api", False)
user = self.users.with_context(no_reset_password=True).create(
{
"name": "Test User",
"login": "test_user",
}
)
params = user.get_google_picker_params()
self.assertEqual(
params,
{},
)