uaf.git

uaf

~
git clone https://github.com/debuman/uaf.git

tests/test_models.py (3323B)

      1 """Tests for ap_scanner.models."""
      2 
      3 from ap_scanner.models import AccessPoint, ActiveScanClient, ActiveScanResult
      4 
      5 
      6 def test_is_hidden_empty_ssid(hidden_ap):
      7     assert hidden_ap.is_hidden is True
      8 
      9 
     10 def test_is_hidden_normal_ssid(sample_ap):
     11     assert sample_ap.is_hidden is False
     12 
     13 
     14 def test_is_hidden_null_bytes():
     15     ap = AccessPoint(
     16         bssid="FF:FF:FF:FF:FF:FF", ssid="\x00\x00\x00",
     17         channel=1, rssi=-50, encryption="OPN", cipher="--",
     18         auth="--", band="2.4GHz", wifi_standard="b",
     19     )
     20     assert ap.is_hidden is True
     21 
     22 
     23 def test_is_hidden_whitespace_only():
     24     ap = AccessPoint(
     25         bssid="FF:FF:FF:FF:FF:FF", ssid="   ",
     26         channel=1, rssi=-50, encryption="OPN", cipher="--",
     27         auth="--", band="2.4GHz", wifi_standard="b",
     28     )
     29     assert ap.is_hidden is True
     30 
     31 
     32 def test_display_ssid_hidden(hidden_ap):
     33     assert hidden_ap.display_ssid == "[Hidden]"
     34 
     35 
     36 def test_display_ssid_normal(sample_ap):
     37     assert sample_ap.display_ssid == "TestNetwork"
     38 
     39 
     40 def test_rssi_display_none():
     41     ap = AccessPoint(
     42         bssid="FF:FF:FF:FF:FF:FF", ssid="Test",
     43         channel=1, rssi=None, encryption="OPN", cipher="--",
     44         auth="--", band="2.4GHz", wifi_standard="b",
     45     )
     46     assert ap.rssi_display == "N/A"
     47 
     48 
     49 def test_rssi_display_value(sample_ap):
     50     assert sample_ap.rssi_display == "-42"
     51 
     52 
     53 def test_standard_display_empty():
     54     ap = AccessPoint(
     55         bssid="FF:FF:FF:FF:FF:FF", ssid="Test",
     56         channel=1, rssi=-50, encryption="OPN", cipher="--",
     57         auth="--", band="2.4GHz", wifi_standard="",
     58     )
     59     assert ap.standard_display == "--"
     60 
     61 
     62 def test_standard_display_value(sample_ap):
     63     assert sample_ap.standard_display == "b, g, n"
     64 
     65 
     66 def test_channel_display_bonded(hidden_ap):
     67     assert hidden_ap.channel_display == "36+40+44+48"
     68 
     69 
     70 def test_channel_display_primary():
     71     ap = AccessPoint(
     72         bssid="FF:FF:FF:FF:FF:FF", ssid="Test",
     73         channel=6, rssi=-50, encryption="OPN", cipher="--",
     74         auth="--", band="2.4GHz", wifi_standard="b",
     75     )
     76     assert ap.channel_display == "6"
     77 
     78 
     79 # --- ActiveScanResult ---
     80 
     81 def test_active_scan_result_defaults():
     82     r = ActiveScanResult(bssid="AA:BB:CC:DD:EE:FF", ssid="Test")
     83     assert r.connected is False
     84     assert r.error == ""
     85     assert r.clients == []
     86     assert r.gateway_open_ports == []
     87     assert r.client_count == 0
     88 
     89 
     90 def test_active_scan_result_summary_success():
     91     r = ActiveScanResult(
     92         bssid="AA:BB:CC:DD:EE:FF", ssid="Test",
     93         connected=True, assigned_ip="192.168.1.100",
     94         gateway_ip="192.168.1.1",
     95         clients=[ActiveScanClient(ip="192.168.1.50", mac="AA:AA:AA:AA:AA:AA")],
     96         gateway_open_ports=[80, 443],
     97     )
     98     s = r.summary
     99     assert "IP: 192.168.1.100" in s
    100     assert "GW: 192.168.1.1" in s
    101     assert "Clients: 1" in s
    102     assert "80,443" in s
    103 
    104 
    105 def test_active_scan_result_summary_failed():
    106     r = ActiveScanResult(
    107         bssid="AA:BB:CC:DD:EE:FF", ssid="Test",
    108         error="Connection refused",
    109     )
    110     assert "Failed:" in r.summary
    111     assert "Connection refused" in r.summary
    112 
    113 
    114 def test_active_scan_result_summary_empty():
    115     r = ActiveScanResult(bssid="AA:BB:CC:DD:EE:FF", ssid="Test")
    116     assert r.summary == "No data collected"
    117 
    118 
    119 def test_access_point_active_scan_none(sample_ap):
    120     assert sample_ap.active_scan_result is None