mirror of
https://github.com/reconurge/flowsint.git
synced 2026-05-03 01:54:01 -05:00
feat: proper types
This commit is contained in:
@@ -1,87 +0,0 @@
|
||||
from fastapi.testclient import TestClient
|
||||
from app.main import app
|
||||
|
||||
client = TestClient(app)
|
||||
|
||||
def test_start_scan_no_body():
|
||||
body = {}
|
||||
response = client.post("/scan", data=body)
|
||||
assert response.status_code == 403
|
||||
data = response.json()
|
||||
assert(data["detail"] == "Not authenticated")
|
||||
assert data is not None
|
||||
|
||||
def test_get_scans_list():
|
||||
response = client.get("/scanners")
|
||||
assert response.status_code == 200
|
||||
data = response.json()
|
||||
|
||||
assert "scanners" in data
|
||||
assert isinstance(data["scanners"], dict)
|
||||
for key in data["scanners"].keys():
|
||||
scanner = data["scanners"][key]
|
||||
assert isinstance(scanner, dict)
|
||||
assert "class_name" in scanner
|
||||
assert "name" in scanner
|
||||
assert "module" in scanner
|
||||
assert "key" in scanner
|
||||
|
||||
def test_get_scans_list_for_editor():
|
||||
response = client.get("/transforms/nodes")
|
||||
assert response.status_code == 200
|
||||
data = response.json()
|
||||
|
||||
assert "items" in data
|
||||
assert isinstance(data["items"], dict)
|
||||
|
||||
categories = ["social_account", "emails", "websites", "phones", "leaks"]
|
||||
for category in categories:
|
||||
assert category in data["items"]
|
||||
assert isinstance(data["items"][category], list)
|
||||
assert len(data["items"][category]) > 0
|
||||
|
||||
for scanner in data["items"][category]:
|
||||
assert isinstance(scanner, dict)
|
||||
assert "class_name" in scanner
|
||||
assert "name" in scanner
|
||||
assert "module" in scanner
|
||||
assert "key" in scanner
|
||||
|
||||
assert isinstance(scanner["class_name"], str)
|
||||
assert len(scanner["class_name"]) > 0
|
||||
assert isinstance(scanner["name"], str)
|
||||
assert len(scanner["name"]) > 0
|
||||
|
||||
assert "types" in data["items"]
|
||||
assert isinstance(data["items"]["types"], list)
|
||||
assert len(data["items"]["types"]) > 0
|
||||
|
||||
for osint_type in data["items"]["types"]:
|
||||
assert isinstance(osint_type, dict)
|
||||
assert "name" in osint_type
|
||||
assert "regex" in osint_type
|
||||
assert "description" in osint_type
|
||||
|
||||
assert isinstance(osint_type["regex"], str)
|
||||
assert len(osint_type["regex"]) > 0
|
||||
|
||||
|
||||
def test_vaildate_transform_no_scans():
|
||||
body = {"scanners": []}
|
||||
response = client.post("/transforms/validate", json=body)
|
||||
data = response.json()
|
||||
assert(data["valid"] == False)
|
||||
assert(data["reason"] == "No scanners provided")
|
||||
|
||||
def test_vaildate_transform_invalid_scans():
|
||||
body = {"scanners": ["sherlock_scanner", "maigret_scanner", "dummy_scanner"]}
|
||||
response = client.post("/transforms/validate", json=body)
|
||||
data = response.json()
|
||||
assert(data["valid"] == False)
|
||||
assert(data["reason"] == "Scanner 'dummy_scanner' not found in registry")
|
||||
|
||||
def test_vaildate_transform_valid_scans():
|
||||
body = {"scanners": ["sherlock_scanner", "maigret_scanner", "ignorant_scanner"]}
|
||||
response = client.post("/transforms/validate", json=body)
|
||||
data = response.json()
|
||||
assert(data["valid"] == True)
|
||||
Reference in New Issue
Block a user