def testTwoPrivatePrimaryPublic(self): data = [ { 'prio': '10', 'host': 'test.com', 'ip': '200.200.23.31', 'connection_type': 'INET' }, { 'prio': '20', 'host': 'test.com', 'ip': '192.168.23.31', 'connection_type': 'INET' }, { 'prio': '30', 'host': 'test.com', 'ip': '192.168.24.31', 'connection_type': 'INET' }, ] self.p.setInput('MXRecord', {'mx_record': data}) r = runTestPlugin(self.p, self.domain) status = r.getFinalStatus() self.assertEqual(status, Plugin.STATUS_WARNING)
def test2Duplicate(self): data = [ { 'prio': '10', 'host': 'test.com', 'ip': '192.168.1.2', 'connection_type': 'INET' }, { 'prio': '20', 'host': 'test2.com', 'ip': '192.168.1.3', 'connection_type': 'INET' }, { 'prio': '10', 'host': 'test3.com', 'ip': '192.168.1.2', 'connection_type': 'INET' }, ] self.p.setInput('MXRecord', {'mx_record': data}) r = runTestPlugin(self.p, self.domain) status = r.getFinalStatus() self.assertEqual(status, Plugin.STATUS_WARNING)
def testMixedIP(self): data = [ { 'prio': '10', 'host': 'test.com', 'ip': '2001:0db8:85a3:08d3:1319:8a2e:0370:7348', 'connection_type': 'INET6' }, { 'prio': '20', 'host': 'test.com', 'ip': '200.200.23.31', 'connection_type': 'INET' }, { 'prio': '30', 'host': 'test.com', 'ip': '10.10.23.31', 'connection_type': 'INET' }, ] self.p.setInput('MXRecord', {'mx_record': data}) r = runTestPlugin(self.p, self.domain) status = r.getFinalStatus() self.assertEqual(status, Plugin.STATUS_WARNING)
def test(self): data = [{"prio": "10", "host": "njord.sunet.se", "ip": "192.36.125.194", "connection_type": "INET"}] self.p.setInput("MXRecord", {"mx_record": data}) r = runTestPlugin(self.p, self.domain) status = r.getFinalStatus() self.assertEqual(status, Plugin.STATUS_OK)
def test(self): data = {'mx_record': [{'connection_type': 'INET', 'ip': '109.228.153.253', 'host': 'maple.lonn.org', 'prio': '10'}]} self.p.setInput('MXRecord', data) r = runTestPlugin(self.p, self.domain) status = r.getFinalStatus() self.assertEqual(status, Plugin.STATUS_OK)
def testCNAME(self): data = [ {'prio': '10', 'host': 'njord.sunet.se', 'ip': '192.36.125.194', 'connection_type': 'INET'}, ] self.p.setInput('MXRecord', {'mx_record': data}) r = runTestPlugin(self.p, self.domain) status = r.getFinalStatus() self.assertEqual(status, Plugin.STATUS_OK)
def testOpenRelay(self): data = [["10", "lonn.org", "213.136.43.225", "INET"]] self.p.setInput("MXRecord", data) self.p.setInput("email", "*****@*****.**") r = runTestPlugin(self.p, self.domain) status = r.getFinalStatus()[2] print r self.assertEqual(status, Plugin.STATUS_OK)
def testFailiure(self): data = {'mx_record': [{'connection_type': 'INET', 'ip': '109.228.153.253', 'host': 'maple.lonn.org', 'prio': '10'}]} self.p.setInput('MXRecord', data) self.email = '*****@*****.**' r = runTestPlugin(self.p, self.domain, self.email) status = r.getFinalStatus() self.assertEqual(status, Plugin.STATUS_WARNING)
def testDuplicate(self): data = [ {'prio': '10', 'host': 'test.com', 'ip': '192.168.1.2', 'connection_type': 'INET'}, {'prio': '20', 'host': 'test2.com', 'ip': '192.168.1.2', 'connection_type': 'INET'}, ] self.p.setInput('MXRecord', {'mx_record': data}) r = runTestPlugin(self.p, self.domain) status = r.getFinalStatus() self.assertEqual(status, Plugin.STATUS_WARNING)
def testOpenRelay(self): data = [ ['10', 'lonn.org', '213.136.43.225', 'INET'], ] self.p.setInput('MXRecord', data) self.p.setInput('email', '*****@*****.**') r = runTestPlugin(self.p, self.domain) status = r.getFinalStatus()[2] print r self.assertEqual(status, Plugin.STATUS_OK)
def test(): from engine.plugins.common import runTestPlugin #data = [['10', 'lonn.org', '213.136.43.225', 'INET']] data = [{'prio': '10', 'host': 'lonn.org', 'ip': '192.168.3.2', 'connection_type': 'INET'}] email = '*****@*****.**' s = SPF() s.isChild = 0 s.setInput('MXRecord', {'mx_record': data}) s.setInput('email', email) r = runTestPlugin(s, 'gatorhole.com') print r
def testLowPortConnection(self): data = { 'mx_record': [{ 'connection_type': 'INET', 'ip': '109.228.153.253', 'host': 'maple.lonn.org', 'prio': '10' }] } self.p.setInput('MXRecord', data) r = runTestPlugin(self.p, self.domain) status = r.getFinalStatus() self.assertEqual(status, Plugin.STATUS_OK)
def testCNAME(self): data = [ { 'prio': '10', 'host': 'njord.sunet.se', 'ip': '192.36.125.194', 'connection_type': 'INET' }, ] self.p.setInput('MXRecord', {'mx_record': data}) r = runTestPlugin(self.p, self.domain) status = r.getFinalStatus() self.assertEqual(status, Plugin.STATUS_OK)
def testPrivateIPV6(self): data = [ { 'prio': '10', 'host': 'test.com', 'ip': 'fc00:0db8:85a3:08d3:1319:8a2e:0370:7348', 'connection_type': 'INET6' }, ] self.p.setInput('MXRecord', {'mx_record': data}) r = runTestPlugin(self.p, self.domain) status = r.getFinalStatus() self.assertEqual(status, Plugin.STATUS_ERROR)
def testOnePrivate(self): data = [ { 'prio': '10', 'host': 'test.com', 'ip': '192.168.23.31', 'connection_type': 'INET' }, ] self.p.setInput('MXRecord', {'mx_record': data}) r = runTestPlugin(self.p, self.domain) status = r.getFinalStatus() self.assertEqual(status, Plugin.STATUS_ERROR)
def testFailiure(self): data = { 'mx_record': [{ 'connection_type': 'INET', 'ip': '109.228.153.253', 'host': 'maple.lonn.org', 'prio': '10' }] } self.p.setInput('MXRecord', data) self.email = '*****@*****.**' r = runTestPlugin(self.p, self.domain, self.email) status = r.getFinalStatus() self.assertEqual(status, Plugin.STATUS_WARNING)
def test(): from engine.plugins.common import runTestPlugin #data = [['10', 'lonn.org', '213.136.43.225', 'INET']] data = [{ 'prio': '10', 'host': 'lonn.org', 'ip': '192.168.3.2', 'connection_type': 'INET' }] email = '*****@*****.**' s = SPF() s.isChild = 0 s.setInput('MXRecord', {'mx_record': data}) s.setInput('email', email) r = runTestPlugin(s, 'gatorhole.com') print r
message = 'Only IPv6 addresses found, this might cause delivery problems' code = Plugin.STATUS_WARNING self.result.warning(message) elif len(records) == 1 and self.isChild == 0: message = 'Only one record found, two or more is recommended' code = Plugin.STATUS_OK self.result.info(message) else: message = 'Multiple MX-records found' code = Plugin.STATUS_OK self.result.info(message) self.result.extra('more info mx record', type='adv') self.result.info('Finished MX record lookup against %s', (domain)) # Output if len(records) == 0: self.result.setOutput(None) else: self.result.setOutput({'mx_record': records}, persist=True) self.result.setTestStatus(code) if __name__ == '__main__': from engine.plugins.common import runTestPlugin plugin = MXRecord() db, result = runTestPlugin(plugin, 'gatorhole.com')
def test(self): r = runTestPlugin(self.p, self.domain) status = r.getFinalStatus() self.assertEqual(status, Plugin.STATUS_OK)
message = 'Only IPv6 addresses found, this might cause delivery problems' code = Plugin.STATUS_WARNING self.result.warning(message) elif len(records) == 1 and self.isChild == 0: message = 'Only one record found, two or more is recommended' code = Plugin.STATUS_OK self.result.info(message) else: message = 'Multiple MX-records found' code = Plugin.STATUS_OK self.result.info(message) self.result.extra('more info mx record', type='adv') self.result.info('Finished MX record lookup against %s', (domain)) # Output if len(records) == 0: self.result.setOutput(None) else: self.result.setOutput({'mx_record': records}, persist=True) self.result.setTestStatus(code) if __name__ == '__main__': from engine.plugins.common import runTestPlugin plugin = MXRecord() db, result = runTestPlugin(plugin, 'gatorhole.com')
def test(self): r = runTestPlugin(self.p, self.domain) status = r.getFinalStatus() self.assertEqual(status, Plugin.STATUS_OK)