Some improvements in unittests
- Removed credentials, they must be placed in tests/samples/login_pswd.txt in format "user(newline)md5" - Simplified working with files (reading samples) - Added some new token functions, removed some old
This commit is contained in:
parent
cf73845b2b
commit
e91824f478
7 changed files with 47 additions and 67 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -107,3 +107,6 @@ cython_debug/
|
|||
|
||||
# IDE
|
||||
.vscode/
|
||||
|
||||
# Credentials for unittest
|
||||
tests/samples/login_pswd.txt
|
||||
|
|
0
tests/__init__.py
Normal file
0
tests/__init__.py
Normal file
20
tests/files.py
Normal file
20
tests/files.py
Normal file
|
@ -0,0 +1,20 @@
|
|||
from pathlib import Path
|
||||
from typing import List
|
||||
|
||||
abs_dir = Path(__file__).absolute().parent
|
||||
samples = abs_dir / 'samples'
|
||||
|
||||
|
||||
def read_sample(name: str) -> List[str]:
|
||||
|
||||
path = samples / name
|
||||
|
||||
if not path.exists():
|
||||
return []
|
||||
|
||||
with path.open('rt', encoding='utf-8') as file:
|
||||
return file \
|
||||
.read() \
|
||||
.strip() \
|
||||
.replace('\r\n', '\n') \
|
||||
.split('\n')
|
|
@ -1,27 +1,12 @@
|
|||
(() => {window["AJAX_TOKEN"]=("2r" + "KO" + "A1" + "IFdBcHhEM" + "61" + "6cb");})();
|
||||
(() => {window[["KEN","X_TO","JA","A"].reverse().join('')]="2rKOA1IFdBcHhEM616cb";})();
|
||||
(() => {window[["AJA","X_T","O","KEN"].join('')]=["cb","BcHhEM616","KOA1IFd","2r"].reverse().join('');})();
|
||||
(() => {window[["N","TOKE","_","AJAX"].reverse().join('')]=["2rKOA1I","FdBcHhEM","616c","b"].join('');})();
|
||||
(() => {window[["N","_TOKE","X","AJA"].reverse().join('')]=["616cb","HhEM","1IFdBc","2rKOA"].reverse().join('');})();
|
||||
(() => {window[["OKEN","T","AJAX_"].reverse().join('')]=["616cb","HhEM","Bc","Fd","2rKOA1I"].reverse().join('');})();
|
||||
(() => {window[["A","JAX_","TOKEN"].join('')]=atob('MnJLT0ExSUZkQmNIaEVNNjE2Y2I=');})();
|
||||
(() => {window["AJAX_TOKEN"]=["2rKOA1IFdB","cHhEM61","6cb"].join('');})();
|
||||
(() => {window[atob('QUpBWF9UT0tFTg==')]=("2rKOA1IFdB" + "cHhEM616c" + "b");})();
|
||||
(() => {window[atob('QUpBWF9UT0tFTg==')]=atob('MmlYaDVXNXVFWXE1ZldKSWF6UTY=');})();
|
||||
(() => {window[["_XAJA","NEKOT"].map(s => s.split('').reverse().join('')).join('')]=!window[("encodeURI" + "Componen" + "t")] || atob('Q3VVY21aMjdGYjhiVkJOdzEyVmo=');})();
|
||||
(() => {window[["N","_TOKE","AJAX"].reverse().join('')]=!window[("en" + "co" + "deURICo" + "mpone" + "nt")] || ["zv7hP8ePPY","FP9ZaY","PQo9"].map(s => s.split('').reverse().join('')).join('');})();
|
||||
(() => {window[["XAJA","OT_","EK","N"].map(s => s.split('').reverse().join('')).join('')]=["fU","61EEKvmelL","Zh0ktl","MN"].map(s => s.split('').reverse().join('')).join('');})();
|
||||
(() => {window[["AJA","X_T","OKEN"].join('')]=window['document']&&window[("Map")]&&window[("se" + "tTi" + "meo" + "u" + "t")]?["Ew9q","VIepR","GRX","S1Oban9U"].reverse().join(''):"q6pYdP6r7xiVHhbotvlN";})();
|
||||
(() => {window["AJAX_TOKEN"]=window['document']&&window["Map"]&&window[["out","e","Tim","et","s"].reverse().join('')]?["pREw9q","XVIe","UGR","S1Oban9"].reverse().join(''):["dYp6q","Vix7r6P","tobhH","Nlv"].map(s => s.split('').reverse().join('')).join('');})();
|
||||
(() => {window[["OKEN", "T", "_", "AJAX"].reverse().join("")] = window["document"] && window["Map"] && window["set" + "T" + "im" + "e" + "o" + "u" + "t"] ? ["DYK", "OWD1TyD", "TJ", "JtNpZ", "MhW"].map((s) => s.split("").reverse().join("")).join("") : "XAIbksgkVX9JYboMDI7D";})();
|
||||
(() => {window[["XAJA","T_","NEKO"].map(s => s.split('').reverse().join('')).join('')]=window['document']&&window[["ap","M"].reverse().join('')]&&window[["es","iTt","oem","u","t"].map(s => s.split('').reverse().join('')).join('')]?["Kk1LG02","If8J","lZPFwRqIG"].reverse().join(''):("sBI" + "mgV" + "g6RL98W1" + "khPY" + "Ml");})();
|
||||
(() => {window[["N","KE","_TO","X","JA","A"].reverse().join('')]=window['document']&&!window[["p","Ma"].reverse().join('')]||!window[["ut","meo","i","etT","s"].reverse().join('')]?("1UY5" + "1inS" + "kzlSO" + "QmKU0mK"):"KbxzYCJUrFjWzbeZcAmE";})();
|
||||
(() => {window[["EN", "TOK", "AJAX_"].reverse().join('')] = window['document'] && window["Map"] && window[("s" + "et" + "Tim" + "e" + "o" + "ut")] ? "KbxzYCJUrFjWzbeZcAmE" : ["mK", "SOQmKU0", "zl", "1inSk", "1UY5"].reverse().join('');})();
|
||||
(() => /*window["AJAX_TOKEN"]="qKiXyEASIaPjSeM1LQw3"}*/{window[["XAJA","OT_","NEK"].map(s => s.split('').reverse().join('')).join('')]=window['document']&&!window[["Map"].join('')][["e","typ","o","ot","r","p"].reverse().join('')]||!window[("s" + "et" + "T" + "i" + "m" + "eo" + "ut")]?("qKiX" + "yE" + "ASIa" + "PjSeM1LQ" + "w3"):["hd00vpq3","IU5W","s8SvaVLB"].reverse().join('');})();
|
||||
(() => /*window["AJAX_TOKEN"]=["iKq","aISAEyX","MeSjP","3wQL1"].map(s => s.split('').reverse().join('')).join('')}*/{window[["XAJA","EKOT_","N"].map(s => s.split('').reverse().join('')).join('')]=window['document']&&!window[["Map"].join('')][["orp","tot","epy"].map(s => s.split('').reverse().join('')).join('')]||!window[["s","e","t","Tim","eou","t"].join('')]?["3","jSeM1LQw","ASIaP","qKiXyE"].reverse().join(''):"s8SvaVLBIU5Whd00vpq3";})();
|
||||
(() => /*window["AJAX_TOKEN"]=["w3","1LQ","PjSeM","qKiXyEASIa"].reverse().join('')}*/{window["AJAX_TOKEN"]=window['document']&&!window[["p","Ma"].reverse().join('')]["prototype"]||!window[("s" + "et" + "Ti" + "me" + "o" + "u" + "t")]?["SAEyXiKq","eSjPaI","wQL1M","3"].map(s => s.split('').reverse().join('')).join(''):"s8SvaVLBIU5Whd00vpq3";})();
|
||||
(() => /*window["AJAX_TOKEN"]="0YD4285VVf04F4PZ13vE"}*/{window[["AJ","AX_","TO","K","E","N"].join('')]=window['document']&&window[["paM"].map(s => s.split('').reverse().join('')).join('')][["p","ro","t","ot","ype"].join('')]&&window[["s","e","tTi","meo","u","t"].join('')]?"Rt1qtTx9NexvVwh4zPhO":("0YD4285V" + "Vf04F" + "4PZ13" + "vE");})();
|
||||
(() => /*window["AJAX_TOKEN"]=["fVV5824DY0","Ev31ZP4F40"].map(s => s.split('').reverse().join('')).join('')}*/{window["AJAX_TOKEN"]=window['document']&&window[("Map")][["pr","ot","ot","yp","e"].join('')]&&window[["ut","meo","tTi","se"].reverse().join('')]?("Rt" + "1qtTx9Ne" + "xvVwh4" + "zPhO"):["V5824DY0","ZP4F40fV","Ev31"].map(s => s.split('').reverse().join('')).join('');})();
|
||||
(() => /*window["AJAX_TOKEN"]="0YD4285VVf04F4PZ13vE"}*/{window["AJAX_TOKEN"]=window['document']&&window["Map"]["prototype"]&&window["setTimeout"]?["Rt1qt","Tx9Nex","vVwh4z","PhO"].join(''):["0YD4285VV","f04F4P","Z13vE"].join('');})();
|
||||
(() => /*window["AJAX_TOKEN"]="0YD4285VVf04F4PZ13vE"}*/{window[["AJA","_X","T","KO","NE"].map(s => s.split('').reverse().join('')).join('')]=window['document']&&window["Map"][["pe","oty","t","pro"].reverse().join('')]&&window[["t","eou","Tim","et","s"].reverse().join('')]?"Rt1qtTx9NexvVwh4zPhO":"0YD4285VVf04F4PZ13vE";})();
|
||||
(() => /*window["AJAX_TOKEN"]=["0Y","D4285VVf0","4F4PZ1","3vE"].join('')}*/{window[["_XAJA","OT","NEK"].map(s => s.split('').reverse().join('')).join('')]=window['document']&&window[["Map"].reverse().join('')][["e","p","ty","to","pro"].reverse().join('')]&&window[["ut","meo","i","T","set"].reverse().join('')]?("Rt" + "1qtTx9Nexv" + "Vwh4" + "zPhO"):["DY0","F40fVV5824","Ev31ZP4"].map(s => s.split('').reverse().join('')).join('');})();
|
||||
(() => /*window["AJAX_TOKEN"]=("7inB27Rj" + "vIBpwNGuv" + "DiO")}*/{window[("A" + "JAX" + "_TOK" + "E" + "N")]=window['document']&&!window[("Map")]["prototype"]||!window[("set" + "Tim" + "eo" + "ut")]?"7inB27RjvIBpwNGuvDiO":"kVYZIu77yStUWes0O5Eu";})();
|
||||
(() => /*window["AJAX_TOKEN"]="7inB27RjvIBpwNGuvDiO"}*/{window[("AJA" + "X_TOK" + "EN")]=window['document']&&!window["Map"][("p" + "rot" + "oty" + "p" + "e")]||!window[["ut","meo","Ti","set"].reverse().join('')]?("7inB2" + "7RjvIBpw" + "NGuvDiO"):["Vk","uIZY","WUtSy77","uE5O0se"].map(s => s.split('').reverse().join('')).join('');})();
|
||||
(() => /*window["AJAX_TOKEN"]=["2Bni7","R7","pBIvj","OiDvuGNw"].map(s => s.split('').reverse().join('')).join('')}*/{window["AJAX_TOKEN"]=window['document']&&!window[("Ma" + "p")]["prototype"]||!window[("set" + "Ti" + "me" + "ou" + "t")]?["O","NGuvDi","jvIBpw","7inB27R"].reverse().join(''):("kVYZIu77yS" + "tUWes0O5" + "Eu");})();
|
||||
|
|
|
@ -1,27 +1,12 @@
|
|||
2rKOA1IFdBcHhEM616cb
|
||||
2rKOA1IFdBcHhEM616cb
|
||||
2rKOA1IFdBcHhEM616cb
|
||||
2rKOA1IFdBcHhEM616cb
|
||||
2rKOA1IFdBcHhEM616cb
|
||||
2rKOA1IFdBcHhEM616cb
|
||||
2rKOA1IFdBcHhEM616cb
|
||||
2rKOA1IFdBcHhEM616cb
|
||||
2rKOA1IFdBcHhEM616cb
|
||||
2iXh5W5uEYq5fWJIazQ6
|
||||
CuUcmZ27Fb8bVBNw12Vj
|
||||
YPPe8Ph7vzYaZ9PF9oQP
|
||||
UfLlemvKEE16ltk0hZNM
|
||||
S1Oban9UGRXVIepREw9q
|
||||
S1Oban9UGRXVIepREw9q
|
||||
KYDDyT1DWOJTZpNtJWhM
|
||||
lZPFwRqIGIf8JKk1LG02
|
||||
KbxzYCJUrFjWzbeZcAmE
|
||||
KbxzYCJUrFjWzbeZcAmE
|
||||
s8SvaVLBIU5Whd00vpq3
|
||||
s8SvaVLBIU5Whd00vpq3
|
||||
s8SvaVLBIU5Whd00vpq3
|
||||
Rt1qtTx9NexvVwh4zPhO
|
||||
Rt1qtTx9NexvVwh4zPhO
|
||||
Rt1qtTx9NexvVwh4zPhO
|
||||
Rt1qtTx9NexvVwh4zPhO
|
||||
Rt1qtTx9NexvVwh4zPhO
|
||||
kVYZIu77yStUWes0O5Eu
|
||||
kVYZIu77yStUWes0O5Eu
|
||||
kVYZIu77yStUWes0O5Eu
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
import os
|
||||
import unittest
|
||||
from typing import List
|
||||
|
||||
from python_aternos import atjsparse
|
||||
from tests import files
|
||||
|
||||
CONV_TOKEN_ARROW = '''(() => {/*AJAX_TOKEN=123}*/window["AJAX_TOKEN"]=("2r" + "KO" + "A1" + "IFdBcHhEM" + "61" + "6cb");})();'''
|
||||
CONV_TOKEN_FUNC = '''(function(){window["AJAX_TOKEN"]=("2r" + "KO" + "A1" + "IFdBcHhEM" + "61" + "6cb");})()'''
|
||||
|
@ -12,21 +11,8 @@ class TestJs2Py(unittest.TestCase):
|
|||
|
||||
def setUp(self) -> None:
|
||||
|
||||
self.path = os.path.abspath(os.path.dirname(__file__))
|
||||
self.samples = os.path.join(self.path, 'samples')
|
||||
self.input = os.path.join(self.samples, 'token_input.txt')
|
||||
self.output = os.path.join(self.samples, 'token_output.txt')
|
||||
|
||||
def read_sample(file: str) -> List[str]:
|
||||
with open(file, 'rt', encoding='utf-8') as f:
|
||||
return f \
|
||||
.read() \
|
||||
.strip() \
|
||||
.replace('\r\n', '\n') \
|
||||
.split('\n')
|
||||
|
||||
self.tests = read_sample(self.input)
|
||||
self.results = read_sample(self.output)
|
||||
self.tests = files.read_sample('token_input.txt')
|
||||
self.results = files.read_sample('token_output.txt')
|
||||
|
||||
def test_base64(self) -> None:
|
||||
|
||||
|
|
|
@ -2,35 +2,36 @@ import unittest
|
|||
from typing import Optional
|
||||
|
||||
from python_aternos import Client
|
||||
|
||||
AUTH_USER = 'world35g'
|
||||
AUTH_PSWD = 'world35g'
|
||||
AUTH_MD5 = '0efdb2cd6b36d5e54d0e3c161e567a4e'
|
||||
from tests import files
|
||||
|
||||
|
||||
class TestLogin(unittest.TestCase):
|
||||
|
||||
def setUp(self) -> None:
|
||||
|
||||
credentials = files.read_sample('login_pswd.txt')
|
||||
|
||||
if len(credentials) < 2:
|
||||
self.skipTest(
|
||||
'File "login_pswd.txt" '
|
||||
'has incorrect format!'
|
||||
)
|
||||
|
||||
self.user = credentials[0]
|
||||
self.pswd = credentials[1]
|
||||
|
||||
self.at: Optional[Client] = None
|
||||
|
||||
def test_md5(self) -> None:
|
||||
|
||||
self.assertEqual(
|
||||
Client.md5encode(AUTH_PSWD),
|
||||
AUTH_MD5
|
||||
)
|
||||
|
||||
def test_auth(self) -> None:
|
||||
|
||||
self.at = Client.from_hashed(AUTH_USER, AUTH_MD5)
|
||||
self.at = Client.from_hashed(self.user, self.pswd)
|
||||
self.assertIsNotNone(self.at)
|
||||
|
||||
def test_servers(self) -> None:
|
||||
|
||||
if self.at is None:
|
||||
self.at = Client.from_hashed(
|
||||
AUTH_USER, AUTH_MD5
|
||||
self.user, self.pswd
|
||||
)
|
||||
|
||||
srvs = len(
|
||||
|
@ -44,7 +45,7 @@ class TestLogin(unittest.TestCase):
|
|||
|
||||
if self.at is None:
|
||||
self.at = Client.from_hashed(
|
||||
AUTH_USER, AUTH_MD5
|
||||
self.user, self.pswd
|
||||
)
|
||||
|
||||
self.at.logout()
|
||||
|
|
Reference in a new issue