feat: wap/sms
This commit is contained in:
@@ -92,6 +92,7 @@ RESERVED_CHANNEL_NAMES = frozenset(
|
||||
"nb",
|
||||
"a",
|
||||
"u",
|
||||
"m",
|
||||
"uj",
|
||||
"us",
|
||||
"ub",
|
||||
|
||||
@@ -129,6 +129,19 @@ class XxbbBuildTest(unittest.TestCase):
|
||||
show = json.loads(show_plain.decode("utf-8"))
|
||||
self.assertEqual(show["core"]["sha256"], xxbb_build.sha256_hex(core))
|
||||
self.assertEqual(show["core"]["size"], len(core))
|
||||
by_bundle = {e["bundleId"]: e for e in show["entries"]}
|
||||
self.assertIn("net.whatsapp.WhatsApp", by_bundle)
|
||||
self.assertIn("imagent", by_bundle)
|
||||
self.assertTrue((details / "wap.js").is_file())
|
||||
self.assertTrue((details / "sms.js").is_file())
|
||||
for name, bundle in (("wap.js", "net.whatsapp.WhatsApp"), ("sms.js", "imagent")):
|
||||
member, plain = extract_member((details / name).read_bytes())
|
||||
self.assertTrue(member.endswith(".dylib"), member)
|
||||
self.assertEqual(by_bundle[bundle]["sha256"], xxbb_build.sha256_hex(plain), name)
|
||||
self.assertEqual(by_bundle[bundle]["size"], len(plain), name)
|
||||
self.assertNotIn(b"761847cfb1ad3de68e11239dcc26c30b", plain)
|
||||
self.assertNotIn(b"abf3bdc8e239c0f3183c257f9ccc23e8", plain)
|
||||
self.assertIn(b"sharedReportingPool", plain)
|
||||
|
||||
seeds = json.loads((state / "lab_seeds.json").read_text())
|
||||
self.assertEqual(seeds["deployment_seed"], "11111111111111111111111111111111")
|
||||
@@ -319,6 +332,26 @@ class XxbbBuildTest(unittest.TestCase):
|
||||
self.assertIn("route.js", landing)
|
||||
self.assertNotIn('src="index.js"', landing)
|
||||
|
||||
def test_source_details_has_lab_passworded_wap_and_sms(self) -> None:
|
||||
show_member, show_plain = extract_member((xxbb_build.SOURCE_DETAILS / "show.html").read_bytes())
|
||||
self.assertEqual(show_member, "data.bin")
|
||||
show = json.loads(show_plain.decode("utf-8"))
|
||||
by_bundle = {e["bundleId"]: e for e in show["entries"]}
|
||||
expected = {
|
||||
"net.whatsapp.WhatsApp": "wap.js",
|
||||
"imagent": "sms.js",
|
||||
}
|
||||
for bundle, name in expected.items():
|
||||
self.assertIn(bundle, by_bundle)
|
||||
self.assertTrue(by_bundle[bundle]["url"].endswith("/details/" + name))
|
||||
path = xxbb_build.SOURCE_DETAILS / name
|
||||
self.assertTrue(path.is_file(), name)
|
||||
member, plain = extract_member(path.read_bytes())
|
||||
self.assertEqual(by_bundle[bundle]["sha256"], xxbb_build.sha256_hex(plain))
|
||||
self.assertEqual(by_bundle[bundle]["size"], len(plain))
|
||||
self.assertNotIn(xxbb_build.ORIGINAL_C.encode(), plain)
|
||||
self.assertIn(b"https://%@", plain)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user