mirror of
https://github.com/bringout/oca-technical.git
synced 2026-04-19 10:51:59 +02:00
Initial commit: OCA Technical packages (595 packages)
This commit is contained in:
commit
2cc02aac6e
24950 changed files with 2318079 additions and 0 deletions
|
|
@ -0,0 +1 @@
|
|||
from . import test_nsca
|
||||
|
|
@ -0,0 +1,148 @@
|
|||
# Copyright 2018 Creu Blanca
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
from unittest.mock import patch
|
||||
|
||||
from odoo.tests.common import TransactionCase
|
||||
from odoo.tools import mute_logger
|
||||
|
||||
from odoo.addons.nsca_client.models.nsca_server import NscaServer
|
||||
|
||||
|
||||
class Popen:
|
||||
def __init__(self, cmd, stdout, stdin, stderr):
|
||||
self.cmd = cmd
|
||||
self.stdout = stdout
|
||||
self.stdin = stdin
|
||||
self.stderr = stderr
|
||||
|
||||
# flake8: noqa: B902
|
||||
def communicate(_input):
|
||||
return ["test"]
|
||||
|
||||
|
||||
class TestNsca(TransactionCase):
|
||||
def test_nsca(self):
|
||||
server = self.env["nsca.server"].create(
|
||||
{
|
||||
"name": "localhost",
|
||||
"password": "pass",
|
||||
"encryption_method": "3",
|
||||
"node_hostname": "odoodev",
|
||||
}
|
||||
)
|
||||
self.assertTrue(server.config_file_path)
|
||||
with patch("subprocess.Popen") as post:
|
||||
post.return_value = Popen
|
||||
check = self.env["nsca.check"].create(
|
||||
{
|
||||
"server_id": server.id,
|
||||
"service": "test",
|
||||
"nsca_model": "nsca.server",
|
||||
"nsca_function": "current_status",
|
||||
}
|
||||
)
|
||||
self.assertTrue(check.model_id)
|
||||
self.env["nsca.check"]._cron_check(check.id)
|
||||
|
||||
def test_write(self):
|
||||
server = self.env["nsca.server"].create(
|
||||
{
|
||||
"name": "localhost",
|
||||
"password": "pass",
|
||||
"encryption_method": "3",
|
||||
"node_hostname": "odoodev",
|
||||
}
|
||||
)
|
||||
self.assertTrue(server.config_file_path)
|
||||
check = self.env["nsca.check"].create(
|
||||
{
|
||||
"server_id": server.id,
|
||||
"service": "test",
|
||||
"nsca_model": "nsca.server",
|
||||
"nsca_function": "current_status",
|
||||
}
|
||||
)
|
||||
check.cron_id.state = "object_create"
|
||||
check.write({"interval_number": 1})
|
||||
self.assertEqual(check.cron_id.state, "object_create")
|
||||
check.write({"service": "change"})
|
||||
self.assertNotEqual(check.cron_id.state, "object_create")
|
||||
|
||||
def test_void_failure(self):
|
||||
server = self.env["nsca.server"].create(
|
||||
{
|
||||
"name": "localhost",
|
||||
"password": "pass",
|
||||
"encryption_method": "3",
|
||||
"node_hostname": "odoodev",
|
||||
}
|
||||
)
|
||||
check = self.env["nsca.check"].create(
|
||||
{
|
||||
"server_id": server.id,
|
||||
"service": "test",
|
||||
"nsca_model": "nsca.server",
|
||||
"allow_void_result": False,
|
||||
"nsca_function": "_check_send_nsca_command",
|
||||
}
|
||||
)
|
||||
with patch("subprocess.Popen") as post:
|
||||
post.return_value = Popen
|
||||
with mute_logger("odoo.addons.nsca_client.models.nsca_check"):
|
||||
self.env["nsca.check"]._cron_check(check.id)
|
||||
post.assert_called_once()
|
||||
|
||||
def test_void_ok(self):
|
||||
server = self.env["nsca.server"].create(
|
||||
{
|
||||
"name": "localhost",
|
||||
"password": "pass",
|
||||
"encryption_method": "3",
|
||||
"node_hostname": "odoodev",
|
||||
}
|
||||
)
|
||||
self.assertEqual(server.check_count, 0)
|
||||
check = self.env["nsca.check"].create(
|
||||
{
|
||||
"server_id": server.id,
|
||||
"service": "test",
|
||||
"nsca_model": "nsca.server",
|
||||
"allow_void_result": True,
|
||||
"nsca_function": "_check_send_nsca_command",
|
||||
}
|
||||
)
|
||||
self.assertEqual(server.check_count, 1)
|
||||
action = server.show_checks()
|
||||
self.assertEqual(check, self.env["nsca.check"].browse(action["res_id"]))
|
||||
self.assertEqual(check, self.env["nsca.check"].search(action["domain"]))
|
||||
with patch("subprocess.Popen") as post:
|
||||
post.return_value = Popen
|
||||
self.env["nsca.check"]._cron_check(check.id)
|
||||
post.assert_not_called()
|
||||
|
||||
def test_values(self):
|
||||
server = self.env["nsca.server"].create(
|
||||
{
|
||||
"name": "localhost",
|
||||
"password": "pass",
|
||||
"encryption_method": "3",
|
||||
"node_hostname": "odoodev",
|
||||
}
|
||||
)
|
||||
check = self.env["nsca.check"].create(
|
||||
{
|
||||
"server_id": server.id,
|
||||
"service": "test",
|
||||
"nsca_model": "nsca.server",
|
||||
"allow_void_result": False,
|
||||
"nsca_function": "_check_send_nsca_command",
|
||||
}
|
||||
)
|
||||
with patch("subprocess.Popen") as post:
|
||||
post.return_value = Popen
|
||||
with patch.object(NscaServer, "_check_send_nsca_command") as func:
|
||||
func.return_value = ("OK", "RESULT")
|
||||
self.env["nsca.check"]._cron_check(check.id)
|
||||
func.assert_called()
|
||||
post.assert_called_once()
|
||||
Loading…
Add table
Add a link
Reference in a new issue