new tests

This commit is contained in:
Matt Keeley
2024-10-13 16:17:14 -07:00
parent 0ce28f4a52
commit 9c4e900473

434
test.py
View File

@@ -3,132 +3,426 @@ from modules.spoofing import Spoofing
class TestSpoofy(unittest.TestCase): class TestSpoofy(unittest.TestCase):
def test_spoofing_is_possible(self): def test_case_0(self):
spoofing = Spoofing( spoofing = Spoofing(
domain="test_0.com", domain="test_case_0.com",
dmarc_record="v=DMARC1; p=none;", dmarc_record="No DMARC",
p="none", p=None,
aspf="r", aspf=None,
spf_record="v=spf1 include:fake.gov", spf_record="v=spf1 -all",
spf_all="~all", spf_all="-all",
spf_dns_queries=3, spf_dns_queries=0,
sp=None, sp=None,
pct=100, pct=100,
) )
self.assertEqual(spoofing.spoofable, 0) self.assertEqual(spoofing.spoofable, 0)
def test_subdomain_spoofing(self): def test_case_1(self):
spoofing = Spoofing( spoofing = Spoofing(
domain="test_1.com", domain="test_case_1.com",
dmarc_record="v=DMARC1; p=reject;", dmarc_record="p=none, sp=none, aspf=r",
p="none", p="none",
aspf=None, aspf="r",
spf_record="v=spf1 include:fakest.domain.com", spf_record="v=spf1 -all",
spf_all="-all", spf_all="-all",
spf_dns_queries=3, spf_dns_queries=0,
sp="none", sp="none",
pct=100, pct=100,
) )
self.assertEqual(spoofing.spoofable, 1) self.assertEqual(spoofing.spoofable, 1)
def test_organizational_domain_spoofing(self): def test_case_2(self):
spoofing = Spoofing( spoofing = Spoofing(
domain="test_2.com", domain="test_case_2.com",
dmarc_record="v=DMARC1; p=none;", dmarc_record="p=none, sp=quarantine, aspf=r",
p="none", p="none",
aspf="r", aspf="r",
spf_record="v=spf1 include:fakest.domain.com include:faker.domain.com", spf_record="v=spf1 -all",
spf_all="-all", spf_all="-all",
spf_dns_queries=2, spf_dns_queries=0,
sp="reject", sp="quarantine",
pct=100, pct=100,
) )
self.assertEqual(spoofing.spoofable, 2) self.assertEqual(spoofing.spoofable, 2)
def test_spoofing_might_be_possible(self): def test_case_3(self):
spoofing = Spoofing( spoofing = Spoofing(
domain="test_3.com", domain="test_case_3.com",
dmarc_record="v=DMARC1; p=none;", dmarc_record="p=none",
p="none", p="none",
aspf=None, aspf=None,
spf_record="v=spf1 include:fakest.domain.com", spf_record="v=spf1 -all",
spf_all="~all",
spf_dns_queries=1,
sp="quarantine",
pct=90,
)
self.assertEqual(spoofing.spoofable, 3)
def test_spoofing_might_be_possible_mbd(self):
spoofing = Spoofing(
domain="test_4.com",
dmarc_record="v=DMARC1; p=none;",
p="none",
aspf=None,
spf_record="v=spf1 include:fakest.domain.com",
spf_all="-all", spf_all="-all",
spf_dns_queries=1, spf_dns_queries=0,
sp=None, sp=None,
pct=100, pct=100,
) )
self.assertEqual(spoofing.spoofable, 4) self.assertEqual(spoofing.spoofable, 4)
def test_org_domain_spoofing_might_be_possible(self): def test_case_4(self):
spoofing = Spoofing( spoofing = Spoofing(
domain="test_5.com", domain="test_case_4.com",
dmarc_record="v=DMARC1; p=none;", dmarc_record="p=none",
p="none", p="none",
aspf=None, aspf=None,
spf_record="v=spf1 include:fakest.domain.com", spf_record="v=spf1 -all",
spf_all="-all", spf_all="-all",
spf_dns_queries=1, spf_dns_queries=0,
sp="reject", sp=None,
pct=100,
)
self.assertEqual(spoofing.spoofable, 4)
def test_case_5(self):
spoofing = Spoofing(
domain="test_case_5.com",
dmarc_record="p=none, sp=quarantine",
p="none",
aspf=None,
spf_record="v=spf1 -all",
spf_all="-all",
spf_dns_queries=0,
sp="quarantine",
pct=100, pct=100,
) )
self.assertEqual(spoofing.spoofable, 5) self.assertEqual(spoofing.spoofable, 5)
def test_subdomain_spoofing_might_be_possible_mbd(self): def test_case_7(self):
spoofing = Spoofing( spoofing = Spoofing(
domain="test_6.com", domain="test_case_7.com",
dmarc_record="v=DMARC1; p=reject;", dmarc_record="p=none, sp=none, aspf=r",
p="reject",
aspf="r",
spf_record="v=spf1 include:fakest.domain.com",
spf_all="?all",
spf_dns_queries=1,
sp="none",
pct=100,
)
self.assertEqual(spoofing.spoofable, 6)
def test_subdomain_spoofing_and_org_spoofing_might_be_possible(self):
spoofing = Spoofing(
domain="test_7.com",
dmarc_record="v=DMARC1; p=none;",
p="none", p="none",
aspf=None, aspf="r",
spf_record="v=spf1 include:fakest.domain.com", spf_record="v=spf1 ~all",
spf_all="~all", spf_all="~all",
spf_dns_queries=3, spf_dns_queries=0,
sp="none", sp="none",
pct=100, pct=100,
) )
self.assertEqual(spoofing.spoofable, 7) self.assertEqual(spoofing.spoofable, 7)
def test_spoofing_not_possible(self): def test_case_8(self):
spoofing = Spoofing( spoofing = Spoofing(
domain="test_8.com", domain="test_case_8.com",
dmarc_record="v=DMARC1; p=none;", dmarc_record="p=none, sp=reject, aspf=s",
p="none", p="none",
aspf="s", aspf="s",
spf_record="v=spf1 include:domain.com", spf_record="v=spf1 -all",
spf_all="-all", spf_all="-all",
spf_dns_queries=1, spf_dns_queries=0,
sp="reject", sp="reject",
pct=100, pct=100,
) )
self.assertEqual(spoofing.spoofable, 8) self.assertEqual(spoofing.spoofable, 8)
def test_case_9(self):
spoofing = Spoofing(
domain="test_case_9.com",
dmarc_record="p=none",
p="none",
aspf=None,
spf_record="v=spf1 -all",
spf_all="-all",
spf_dns_queries=0,
sp=None,
pct=100,
)
self.assertEqual(spoofing.spoofable, 4)
def test_case_10(self):
spoofing = Spoofing(
domain="test_case_10.com",
dmarc_record="p=none, aspf=r",
p="none",
aspf="r",
spf_record="v=spf1 -all",
spf_all="-all",
spf_dns_queries=0,
sp=None,
pct=100,
)
self.assertEqual(spoofing.spoofable, 4)
def test_case_11(self):
spoofing = Spoofing(
domain="test_case_11.com",
dmarc_record="p=none, aspf=s",
p="none",
aspf="s",
spf_record="v=spf1 -all",
spf_all="-all",
spf_dns_queries=0,
sp=None,
pct=100,
)
self.assertEqual(spoofing.spoofable, 4)
def test_case_12(self):
spoofing = Spoofing(
domain="test_case_12.com",
dmarc_record="p=none, sp=quarantine",
p="none",
aspf=None,
spf_record="v=spf1 -all",
spf_all="-all",
spf_dns_queries=0,
sp="quarantine",
pct=100,
)
self.assertEqual(spoofing.spoofable, 5)
def test_case_13(self):
spoofing = Spoofing(
domain="test_case_13.com",
dmarc_record="p=none, sp=reject",
p="none",
aspf=None,
spf_record="v=spf1 -all",
spf_all="-all",
spf_dns_queries=0,
sp="reject",
pct=100,
)
self.assertEqual(spoofing.spoofable, 5)
def test_case_14(self):
spoofing = Spoofing(
domain="test_case_14.com",
dmarc_record="p=none, sp=none",
p="none",
aspf=None,
spf_record="v=spf1 -all",
spf_all="-all",
spf_dns_queries=0,
sp="none",
pct=100,
)
self.assertEqual(spoofing.spoofable, 7)
def test_case_15(self):
spoofing = Spoofing(
domain="test_case_15.com",
dmarc_record="p=quarantine",
p="quarantine",
aspf=None,
spf_record="v=spf1 -all",
spf_all="-all",
spf_dns_queries=0,
sp=None,
pct=100,
)
self.assertEqual(spoofing.spoofable, 8)
def test_case_16(self):
spoofing = Spoofing(
domain="test_case_16.com",
dmarc_record="p=reject",
p="reject",
aspf=None,
spf_record="v=spf1 -all",
spf_all="-all",
spf_dns_queries=0,
sp=None,
pct=100,
)
self.assertEqual(spoofing.spoofable, 8)
def test_case_17(self):
spoofing = Spoofing(
domain="test_case_17.com",
dmarc_record="p=quarantine, sp=quarantine",
p="quarantine",
aspf=None,
spf_record="v=spf1 -all",
spf_all="-all",
spf_dns_queries=0,
sp="quarantine",
pct=100,
)
self.assertEqual(spoofing.spoofable, 8)
def test_case_18(self):
spoofing = Spoofing(
domain="test_case_18.com",
dmarc_record="p=quarantine, sp=reject",
p="quarantine",
aspf=None,
spf_record="v=spf1 -all",
spf_all="-all",
spf_dns_queries=0,
sp="reject",
pct=100,
)
self.assertEqual(spoofing.spoofable, 8)
def test_case_19(self):
spoofing = Spoofing(
domain="test_case_19.com",
dmarc_record="p=reject, sp=quarantine",
p="reject",
aspf=None,
spf_record="v=spf1 -all",
spf_all="-all",
spf_dns_queries=0,
sp="quarantine",
pct=100,
)
self.assertEqual(spoofing.spoofable, 8)
def test_case_20(self):
spoofing = Spoofing(
domain="test_case_20.com",
dmarc_record="p=reject, sp=reject",
p="reject",
aspf=None,
spf_record="v=spf1 -all",
spf_all="-all",
spf_dns_queries=0,
sp="reject",
pct=100,
)
self.assertEqual(spoofing.spoofable, 8)
def test_case_21(self):
spoofing = Spoofing(
domain="test_case_21.com",
dmarc_record="p=none, sp=quarantine, aspf=s",
p="none",
aspf="s",
spf_record="v=spf1 -all",
spf_all="-all",
spf_dns_queries=0,
sp="quarantine",
pct=100,
)
self.assertEqual(spoofing.spoofable, 8)
def test_case_22(self):
spoofing = Spoofing(
domain="test_case_22.com",
dmarc_record="p=none, sp=reject, aspf=s",
p="none",
aspf="s",
spf_record="v=spf1 -all",
spf_all="-all",
spf_dns_queries=0,
sp="reject",
pct=100,
)
self.assertEqual(spoofing.spoofable, 8)
def test_case_23(self):
spoofing = Spoofing(
domain="test_case_23.com",
dmarc_record="p=quarantine, sp=none, aspf=s",
p="quarantine",
aspf="s",
spf_record="v=spf1 -all",
spf_all="-all",
spf_dns_queries=0,
sp="none",
pct=100,
)
self.assertEqual(spoofing.spoofable, 8)
def test_case_24(self):
spoofing = Spoofing(
domain="test_case_24.com",
dmarc_record="p=quarantine, sp=quarantine, aspf=r",
p="quarantine",
aspf="r",
spf_record="v=spf1 -all",
spf_all="-all",
spf_dns_queries=0,
sp="quarantine",
pct=100,
)
self.assertEqual(spoofing.spoofable, 8)
def test_case_25(self):
spoofing = Spoofing(
domain="test_case_25.com",
dmarc_record="p=reject, sp=reject, aspf=s",
p="reject",
aspf="s",
spf_record="v=spf1 -all",
spf_all="-all",
spf_dns_queries=0,
sp="reject",
pct=100,
)
self.assertEqual(spoofing.spoofable, 8)
def test_case_26(self):
spoofing = Spoofing(
domain="test_case_26.com",
dmarc_record="p=reject, sp=none, aspf=s",
p="reject",
aspf="s",
spf_record="v=spf1 -all",
spf_all="-all",
spf_dns_queries=0,
sp="none",
pct=100,
)
self.assertEqual(spoofing.spoofable, 8)
def test_case_27(self):
spoofing = Spoofing(
domain="test_case_27.com",
dmarc_record="p=reject, sp=quarantine, aspf=r",
p="reject",
aspf="r",
spf_record="v=spf1 -all",
spf_all="-all",
spf_dns_queries=0,
sp="quarantine",
pct=100,
)
self.assertEqual(spoofing.spoofable, 8)
def test_case_28(self):
spoofing = Spoofing(
domain="test_case_28.com",
dmarc_record="p=reject, sp=quarantine, aspf=s",
p="reject",
aspf="s",
spf_record="v=spf1 -all",
spf_all="-all",
spf_dns_queries=0,
sp="quarantine",
pct=100,
)
self.assertEqual(spoofing.spoofable, 8)
def test_case_29(self):
spoofing = Spoofing(
domain="test_case_29.com",
dmarc_record="p=reject, sp=reject, aspf=r",
p="reject",
aspf="r",
spf_record="v=spf1 -all",
spf_all="-all",
spf_dns_queries=0,
sp="reject",
pct=100,
)
self.assertEqual(spoofing.spoofable, 8)
def test_case_30(self):
spoofing = Spoofing(
domain="test_case_30.com",
dmarc_record="p=none, sp=none, aspf=r",
p="none",
aspf="r",
spf_record="v=spf1 ?all",
spf_all="?all",
spf_dns_queries=0,
sp="none",
pct=100,
)
self.assertEqual(spoofing.spoofable, 0)
if __name__ == "__main__": if __name__ == "__main__":
unittest.main() unittest.main()