deploy ProspectOS workspace v3 final

This commit is contained in:
Marco0300
2026-09-06 20:46:32 +02:00
parent 05984c9ae6
commit e27a003703
5 changed files with 210 additions and 26 deletions
+16
View File
@@ -186,6 +186,22 @@ class BrowserOnlyAppTests(unittest.TestCase):
self.assertNotIn("onload", html.lower())
self.assertNotIn("javascript:", html.lower())
def test_multipage_mockup_exposes_real_page_routes(self):
conn = server.db()
conn.execute("INSERT INTO prospects(name,domain,category,discovered_at) VALUES(?,?,?,?)", ("Brightspark Electrical", "maps:bright", "electrician", server.now()))
conn.commit(); conn.close()
status, created = self.request("POST", "/api/prospects/1/mockup", {"mode": "multipage"})
self.assertEqual(status, 201)
self.assertEqual(created["mode"], "multipage")
self.assertEqual({item["slug"] for item in created["pages"]}, {"home", "services", "about", "contact"})
self.conn.request("GET", "/mockups/" + created["token"] + "/services")
response = self.conn.getresponse()
body = response.read().decode("utf-8")
self.assertEqual(response.status, 200)
self.assertIn("Services", body)
self.assertIn("images.unsplash.com", body)
self.assertIn("https://images.unsplash.com", response.getheader("Content-Security-Policy"))
def test_browser_investigator_normalises_and_filters_candidates(self):
raw = '{"candidates":[{"url":"https://www.acme.co.za/about","confidence":88,"evidence":["name match"]},{"url":"https://facebook.com/acme","confidence":99},{"domain":"other.co.za","confidence":"42","evidence":"not a list"}]}'
candidates = browser_investigator._parse_agent_result(raw)