def test_get_dmarc_record_with_cache(self): """Testing get_dmarc_record with use_cache=True""" self.dmarc_txt_records['_dmarc.example.com'] = 'v=DMARC1; p=reject;' record1 = get_dmarc_record('example.com', use_cache=True) self.assertIsNotNone(record1) self.assertEqual(record1.hostname, 'example.com') self.assertEqual(record1.fields, { 'v': 'DMARC1', 'p': 'reject', }) record2 = get_dmarc_record('example.com', use_cache=True) self.assertEqual(record1, record2) self.assertEqual(len(dns_resolver.query.spy.calls), 1)
def test_get_dmarc_record_with_cache(self): """Testing get_dmarc_record with use_cache=True""" self.dmarc_txt_records['_dmarc.example.com'] = 'v=DMARC1; p=reject;' record1 = get_dmarc_record('example.com', use_cache=True) self.assertIsNotNone(record1) self.assertEqual(record1.hostname, 'example.com') self.assertEqual( record1.fields, { 'v': 'DMARC1', 'p': 'reject', }) record2 = get_dmarc_record('example.com', use_cache=True) self.assertEqual(record1, record2) self.assertEqual(len(dns_resolver.query.spy.calls), 1)
def test_get_dmarc_record_with_version_only(self): """Testing get_dmarc_record with DMARC record containing a DMARC version only """ self.dmarc_txt_records['_dmarc.example.com'] = 'v=DMARC1' record = get_dmarc_record('example.com', use_cache=False) self.assertIsNotNone(record) self.assertEqual(record.hostname, 'example.com') self.assertEqual(record.policy, DmarcPolicy.UNSET) self.assertEqual(record.subdomain_policy, DmarcPolicy.UNSET) self.assertEqual(record.pct, 100) self.assertEqual(record.fields, {'v': 'DMARC1'})
def test_get_dmarc_record_with_version_only(self): """Testing get_dmarc_record with DMARC record containing a DMARC version only """ self.dmarc_txt_records['_dmarc.example.com'] = 'v=DMARC1' record = get_dmarc_record('example.com', use_cache=False) self.assertIsNotNone(record) self.assertEqual(record.hostname, 'example.com') self.assertEqual(record.policy, DmarcPolicy.UNSET) self.assertEqual(record.subdomain_policy, DmarcPolicy.UNSET) self.assertEqual(record.pct, 100) self.assertEqual(record.fields, {'v': 'DMARC1'})
def test_get_dmarc_record_with_p_none(self): """Testing get_dmarc_record with DMARC record with p=none""" self.dmarc_txt_records['_dmarc.example.com'] = 'v=DMARC1; p=none;' record = get_dmarc_record('example.com', use_cache=False) self.assertIsNotNone(record) self.assertEqual(record.hostname, 'example.com') self.assertEqual(record.policy, DmarcPolicy.NONE) self.assertEqual(record.subdomain_policy, DmarcPolicy.UNSET) self.assertEqual(record.pct, 100) self.assertEqual(record.fields, { 'v': 'DMARC1', 'p': 'none', })
def test_get_dmarc_record_with_bad_format(self): """Testing get_dmarc_record with DMARC record with bad format issues""" self.dmarc_txt_records['_dmarc.example.com'] = \ 'v=DMARC1; p=quarantine; ; =value; a=b=c; sp=' record = get_dmarc_record('example.com', use_cache=False) self.assertIsNotNone(record) self.assertEqual(record.hostname, 'example.com') self.assertEqual(record.policy, DmarcPolicy.QUARANTINE) self.assertEqual(record.subdomain_policy, DmarcPolicy.UNSET) self.assertEqual(record.pct, 100) self.assertEqual(record.fields, { 'v': 'DMARC1', 'p': 'quarantine', 'a': 'b=c', })
def test_get_dmarc_record_with_p_none(self): """Testing get_dmarc_record with DMARC record with p=none""" self.dmarc_txt_records['_dmarc.example.com'] = 'v=DMARC1; p=none;' record = get_dmarc_record('example.com', use_cache=False) self.assertIsNotNone(record) self.assertEqual(record.hostname, 'example.com') self.assertEqual(record.policy, DmarcPolicy.NONE) self.assertEqual(record.subdomain_policy, DmarcPolicy.UNSET) self.assertEqual(record.pct, 100) self.assertEqual( record.fields, { 'v': 'DMARC1', 'p': 'none', })
def test_get_dmarc_record_with_p_quarantine(self): """Testing get_dmarc_record with DMARC record with p=quarantine""" self.dmarc_txt_records['_dmarc.example.com'] = \ 'v=DMARC1; p=quarantine; pct=20' record = get_dmarc_record('example.com', use_cache=False) self.assertIsNotNone(record) self.assertEqual(record.hostname, 'example.com') self.assertEqual(record.policy, DmarcPolicy.QUARANTINE) self.assertEqual(record.subdomain_policy, DmarcPolicy.UNSET) self.assertEqual(record.pct, 20) self.assertEqual(record.fields, { 'v': 'DMARC1', 'p': 'quarantine', 'pct': '20', })
def test_get_dmarc_record_with_org_domain(self): """Testing get_dmarc_record with falling back to organizational domain """ self.dmarc_txt_records['_dmarc.example.com'] = 'v=DMARC1; p=reject;' record = get_dmarc_record('mail.corp.example.com', use_cache=False) self.assertIsNotNone(record) self.assertEqual(record.hostname, 'example.com') self.assertEqual(record.policy, DmarcPolicy.REJECT) self.assertEqual(record.subdomain_policy, DmarcPolicy.UNSET) self.assertEqual(record.pct, 100) self.assertEqual(record.fields, { 'v': 'DMARC1', 'p': 'reject', })
def test_get_dmarc_record_with_p_reject(self): """Testing get_dmarc_record with DMARC record with p=reject""" self.dmarc_txt_records['_dmarc.example.com'] = \ 'v=DMARC1; p=reject; pct=100' record = get_dmarc_record('example.com', use_cache=False) self.assertIsNotNone(record) self.assertEqual(record.hostname, 'example.com') self.assertEqual(record.policy, DmarcPolicy.REJECT) self.assertEqual(record.subdomain_policy, DmarcPolicy.UNSET) self.assertEqual(record.pct, 100) self.assertEqual(record.fields, { 'v': 'DMARC1', 'p': 'reject', 'pct': '100', })
def test_get_dmarc_record_with_bad_format(self): """Testing get_dmarc_record with DMARC record with bad format issues""" self.dmarc_txt_records['_dmarc.example.com'] = \ 'v=DMARC1; p=quarantine; ; =value; a=b=c; sp=' record = get_dmarc_record('example.com', use_cache=False) self.assertIsNotNone(record) self.assertEqual(record.hostname, 'example.com') self.assertEqual(record.policy, DmarcPolicy.QUARANTINE) self.assertEqual(record.subdomain_policy, DmarcPolicy.UNSET) self.assertEqual(record.pct, 100) self.assertEqual( record.fields, { 'v': 'DMARC1', 'p': 'quarantine', 'a': 'b=c', })
def test_get_dmarc_record_with_p_quarantine(self): """Testing get_dmarc_record with DMARC record with p=quarantine""" self.dmarc_txt_records['_dmarc.example.com'] = \ 'v=DMARC1; p=quarantine; pct=20' record = get_dmarc_record('example.com', use_cache=False) self.assertIsNotNone(record) self.assertEqual(record.hostname, 'example.com') self.assertEqual(record.policy, DmarcPolicy.QUARANTINE) self.assertEqual(record.subdomain_policy, DmarcPolicy.UNSET) self.assertEqual(record.pct, 20) self.assertEqual( record.fields, { 'v': 'DMARC1', 'p': 'quarantine', 'pct': '20', })
def test_get_dmarc_record_with_org_domain(self): """Testing get_dmarc_record with falling back to organizational domain """ self.dmarc_txt_records['_dmarc.example.com'] = 'v=DMARC1; p=reject;' record = get_dmarc_record('mail.corp.example.com', use_cache=False) self.assertIsNotNone(record) self.assertEqual(record.hostname, 'example.com') self.assertEqual(record.policy, DmarcPolicy.REJECT) self.assertEqual(record.subdomain_policy, DmarcPolicy.UNSET) self.assertEqual(record.pct, 100) self.assertEqual( record.fields, { 'v': 'DMARC1', 'p': 'reject', })
def test_get_dmarc_record_with_different_whitespace(self): """Testing get_dmarc_record with DMARC record with different amounts of whitespace in record """ self.dmarc_txt_records['_dmarc.example.com'] = \ 'v=DMARC1;p=quarantine; sp = reject; ' record = get_dmarc_record('example.com', use_cache=False) self.assertIsNotNone(record) self.assertEqual(record.hostname, 'example.com') self.assertEqual(record.policy, DmarcPolicy.QUARANTINE) self.assertEqual(record.subdomain_policy, DmarcPolicy.REJECT) self.assertEqual(record.pct, 100) self.assertEqual(record.fields, { 'v': 'DMARC1', 'p': 'quarantine', 'sp': 'reject', })
def test_get_dmarc_record_with_sp_reject(self): """Testing get_dmarc_record with DMARC record with p=reject""" self.dmarc_txt_records['_dmarc.example.com'] = \ 'v=DMARC1; p=quarantine; sp=reject;' record = get_dmarc_record('example.com', use_cache=False) self.assertIsNotNone(record) self.assertEqual(record.hostname, 'example.com') self.assertEqual(record.policy, DmarcPolicy.QUARANTINE) self.assertEqual(record.subdomain_policy, DmarcPolicy.REJECT) self.assertEqual(record.pct, 100) self.assertEqual( record.fields, { 'v': 'DMARC1', 'p': 'quarantine', 'sp': 'reject', })
def test_get_dmarc_record_with_no_record(self): """Testing get_dmarc_record with no DMARC record in DNS""" self.assertIsNone(get_dmarc_record('example.com', use_cache=False))
def test_get_dmarc_record_with_no_record(self): """Testing get_dmarc_record with no DMARC record in DNS""" self.assertIsNone(get_dmarc_record('example.com', use_cache=False))
def test_get_dmarc_record_with_empty(self): """Testing get_dmarc_record with empty DMARC record in DNS""" self.dmarc_txt_records['_dmarc.example.com'] = '' self.assertIsNone(get_dmarc_record('example.com', use_cache=False))
def test_get_dmarc_record_with_empty(self): """Testing get_dmarc_record with empty DMARC record in DNS""" self.dmarc_txt_records['_dmarc.example.com'] = '' self.assertIsNone(get_dmarc_record('example.com', use_cache=False))