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
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())
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()
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 )
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()
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()
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)
def test_sendMail_BadArgs2(): testList = test_objects.icingaUserGen(200, True, True, 120).generateList() for i in testList: assert sending.sendMail(213, MIMEMultipart(), i) == 1