def test_sendMail_BadArgs3():
    assert (
        sending.sendMail(
            {"a": "b"}, MIMEMultipart(), test_objects.icingaUserGen(1, False).generateOne()
        )
        == 1
    )
def test_sendMail_process1(mock_SMTP):
    mock_SMTP.return_value = 0
    assert (
        sending.sendMail(
            {"a": "b"}, MIMEMultipart(), test_objects.icingaUserGen(1, False).generateOne()
        )
        == 1
    )
def test_sendCall_BadArgs5():
    callModemObj = OrderedDict(
        [("host", "undefined"), ("sshkey", "/usr/ltts"), ("cmd", "/bin/false")]
    )
    u = test_objects.icingaUserGen(1, False).generateOne()
    p = u["pager"]
    t = int(round(time.time() * 1000)) - 1900000

    assert sending.sendCall({p: t}, u, callModemObj)[0] == 1
def test_sendCall_BadArgs9(mock_run):
    callModemObj = OrderedDict([("host", "LOCAL"), ("sshkey", None), ("cmd", "/bin/false")])
    u = test_objects.icingaUserGen(1, False).generateOne()
    p = u["pager"]
    t = int(round(time.time() * 1000)) - 1900000

    mock_run.return_value.run.return_value = 1

    assert sending.sendCall({p: t}, u, callModemObj)[0] == 1
示例#5
0
def test_handleNotifications_BadArgs4():
    u = test_objects.icingaUserGen(10, False).generateOne()
    u["vars"].pop("notification_options")
    uo = {"testuser": u}
    us = "TestUser"
    l = test_objects.icingaNotifGen().getObj("list")

    (r, lc) = handling.handleNotifications(l, uo, us, None, None, None, None, None, None)
    assert r == 1
    assert lc == None
def test_sendCall_BadArgs7(mock_SSHClient):
    callModemObj = OrderedDict(
        [
            ("host", "undefined"),
            ("sshkey", "/dev/null"),
            ("cmd", "/bin/false"),
            ("user", "test"),
        ]
    )
    u = test_objects.icingaUserGen(1, False).generateOne()
    p = u["pager"]
    t = int(round(time.time() * 1000)) - 1900000

    mock_SSHClient.return_value.side_effect = Exception(SSHException)
    assert sending.sendCall({p: t}, u, callModemObj)[0] == 1
def test_sendMail_process2(mock_SMTP):

    # Build args we expect
    sender = socket.gethostname() + "@" + socket.getfqdn().split(".", 1)[-1]
    u = test_objects.icingaUserGen(1, False).generateOne()

    message = MIMEMultipart()
    umail = u["email"]

    message["From"] = sender
    message["To"] = umail
    message["Subject"] = "Icinga Notifications from " + socket.gethostname()
    message.attach(MIMEText("test", "plain"))

    sending.sendMail({"a": "b"}, message, u)
    mock_SMTP.return_value.sendmail.assert_called_once_with(sender, umail, message.as_string())
示例#8
0
def test_handleNotifications_BadArgs5(
    mock_parseNotifications, mock_sendSlackMessage, mock_sendCall, mock_sendMail, mock_sendSMS
):
    u = test_objects.icingaUserGen(10, False).generateOne()
    u["vars"]["notification_options"] = {"sms": ["ok"], "email": ["ok"], "call": ["ok"]}
    uo = {"testuser": u}
    us = "TestUser"
    l = test_objects.icingaNotifGen().getObj("list")

    mock_parseNotifications.return_value = "Testing_output"
    mock_sendSMS.return_value = 1
    mock_sendCall.return_value = (1, dict())
    mock_sendMail.return_value = 1
    mock_sendSlackMessage.return_value = 1

    (r, lc) = handling.handleNotifications(l, uo, us, None, None, None, None, None, None)
    assert r >= 1
    assert lc == dict()
示例#9
0
def test_handleNotifications_BadArgs2_call():
    # args: try some wrong data types
    # prepare test data
    lst = {"pershing": test_objects.icingaUserGen(1).generateOne()}
    for e in ["email", "sms"]:
        lst["pershing"]["vars"]["notification_options"].pop(e)

    assert (
        handling.handleNotifications(
            test_objects.icingaNotifGen().getObj("list"),
            lst,
            "pershing",
            {"bad": "modemdict"},
            "mailserver.something",
            ["this should be dict"],
            ["this should be dict"],
            ["this should be dict"],
            None
        )[0]
        == 1
    )
示例#10
0
def test_sendCall_BadArgs6(mock_SSHClient, mock_RSAkey, mock_exec_command):
    callModemObj = OrderedDict(
        [
            ("host", "undefined"),
            ("sshkey", "/dev/null"),
            ("cmd", "/bin/false"),
            ("user", "test"),
        ]
    )
    u = test_objects.icingaUserGen(1, False).generateOne()
    p = u["pager"]
    t = int(round(time.time() * 1000)) - 1900000

    mock_RSAkey.from_private_key_file.return_value = 0
    mock_exec_command.return_value.exec_command.return_value = (
        readDummy(),
        readDummy(),
        readDummy(),
    )

    sending.sendCall({p: t}, u, callModemObj)
    mock_exec_command.assert_called()
示例#11
0
def test_handleNotifications_OKArgs1(
    mock_parseNotifications, mock_sendSlackMessage, mock_sendCall, mock_sendMail, mock_sendSMS
):

    # try some correct things
    l = test_objects.icingaNotifGen().getObj("list")
    u = test_objects.icingaUserGen(10, False).generateOne()
    uo = {"testuser": u}
    us = "TestUser"

    mock_parseNotifications.return_value = "Testing_output"
    mock_sendSMS.return_value = 1
    mock_sendCall.return_value = (1, dict())
    mock_sendMail.return_value = 1
    mock_sendSlackMessage.return_value = 1

    (r, lc) = handling.handleNotifications(l, uo, us, None, None, None, None, None, None)
    assert r >= 2
    assert lc == dict()

    mock_parseNotifications.assert_called()
    mock_sendSMS.assert_called()
    mock_sendCall.assert_called()
    mock_sendMail.assert_called()
示例#12
0
def test_sendCall_BadArgs3():
    callModemObj = OrderedDict(
        [("host", "undefined"), ("sshkey", "/usr/ltts"), ("cmd", "/bin/false")]
    )
    u = test_objects.icingaUserGen(1, False).generateOne()
    assert sending.sendCall(None, u, callModemObj) == (1, None)
示例#13
0
def test_sendMail_BadArgs2():
    testList = test_objects.icingaUserGen(200, True, True, 120).generateList()
    for i in testList:
        assert sending.sendMail(213, MIMEMultipart(), i) == 1