Files
Spoofy/test.py
2024-08-12 15:46:41 -07:00

135 lines
3.9 KiB
Python
Executable File

import unittest
from modules.spoofing import Spoofing
class TestSpoofy(unittest.TestCase):
def test_spoofing_is_possible(self):
spoofing = Spoofing(
domain="test_0.com",
dmarc_record="v=DMARC1; p=none;",
p="none",
aspf="r",
spf_record="v=spf1 include:fake.gov",
spf_all="~all",
spf_dns_queries=3,
sp=None,
pct=100,
)
self.assertEqual(spoofing.spoofable, 0)
def test_subdomain_spoofing(self):
spoofing = Spoofing(
domain="test_1.com",
dmarc_record="v=DMARC1; p=reject;",
p="none",
aspf=None,
spf_record="v=spf1 include:fakest.domain.com",
spf_all="-all",
spf_dns_queries=3,
sp="none",
pct=100,
)
self.assertEqual(spoofing.spoofable, 1)
def test_organizational_domain_spoofing(self):
spoofing = Spoofing(
domain="test_2.com",
dmarc_record="v=DMARC1; p=none;",
p="none",
aspf="r",
spf_record="v=spf1 include:fakest.domain.com include:faker.domain.com",
spf_all="-all",
spf_dns_queries=2,
sp="reject",
pct=100,
)
self.assertEqual(spoofing.spoofable, 2)
def test_spoofing_might_be_possible(self):
spoofing = Spoofing(
domain="test_3.com",
dmarc_record="v=DMARC1; p=none;",
p="none",
aspf=None,
spf_record="v=spf1 include:fakest.domain.com",
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_dns_queries=1,
sp=None,
pct=100,
)
self.assertEqual(spoofing.spoofable, 4)
def test_org_domain_spoofing_might_be_possible(self):
spoofing = Spoofing(
domain="test_5.com",
dmarc_record="v=DMARC1; p=none;",
p="none",
aspf=None,
spf_record="v=spf1 include:fakest.domain.com",
spf_all="-all",
spf_dns_queries=1,
sp="reject",
pct=100,
)
self.assertEqual(spoofing.spoofable, 5)
def test_subdomain_spoofing_might_be_possible_mbd(self):
spoofing = Spoofing(
domain="test_6.com",
dmarc_record="v=DMARC1; p=reject;",
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",
aspf=None,
spf_record="v=spf1 include:fakest.domain.com",
spf_all="~all",
spf_dns_queries=3,
sp="none",
pct=100,
)
self.assertEqual(spoofing.spoofable, 7)
def test_spoofing_not_possible(self):
spoofing = Spoofing(
domain="test_8.com",
dmarc_record="v=DMARC1; p=none;",
p="none",
aspf="s",
spf_record="v=spf1 include:domain.com",
spf_all="-all",
spf_dns_queries=1,
sp="reject",
pct=100,
)
self.assertEqual(spoofing.spoofable, 8)
if __name__ == "__main__":
unittest.main()