tests directory

This commit is contained in:
Anton Grigoryev 2015-03-13 13:39:31 +03:00
parent 52456b2f25
commit 4c1b5bd54f
2 changed files with 8 additions and 19 deletions

View File

@ -2,7 +2,7 @@
"""
Created on Tue Sep 2 19:26:15 2014
@author: agrigoryev
@author: Anton Grigoryev
@author: Sammy Pfeiffer
"""
from binascii import crc32 as originalcrc32
@ -11,12 +11,11 @@ def crc32(data):
from datetime import datetime
from time import time
import io
import os.path
import json
import socket
import struct
def vis(bs):
"""
Function to visualize byte streams. Split into bytes, print to console.
@ -27,7 +26,8 @@ def vis(bs):
n = len(bs) // symbols_in_one_line
for i in range(n):
print(str(i*symbols_in_one_line)+" | "+" ".join(["%02X" % b for b in bs[i*symbols_in_one_line:(i+1)*symbols_in_one_line]])) # for every 8 symbols line
print(" ".join(["%02X" % b for b in bs[(i+1)*symbols_in_one_line:]])+"\n") # for last line
if not len(bs) % symbols_in_one_line == 0:
print(str((i+1)*symbols_in_one_line)+" | "+" ".join(["%02X" % b for b in bs[(i+1)*symbols_in_one_line:]])+"\n") # for last line
class TlConstructor:
@ -77,8 +77,8 @@ class TL:
self.method_name[z.method] = z
## Loading TL_schema
tl = TL("TL_schema.JSON")
## Loading TL_schema (should be placed in the same directory as mtproto.py
tl = TL(os.path.join(os.path.dirname(__file__), "TL_schema.JSON"))
def serialize_obj(bytes_io, type_, **kwargs):
@ -140,10 +140,10 @@ def deserialize(bytes_io, type_=None, subtype=None):
elif type_ == 'int256': x = bytes_io.read(32)
elif type_ == 'string' or type_ == 'bytes':
l = struct.unpack('<b', bytes_io.read(1))[0]
assert l <= 254
assert l <= 254 # In general, 0xFF byte is not allowed here
if l == 254:
# We have a long string
long_len = struct.unpack('<l', bytes_io.read(3))[0]
long_len = struct.unpack('<i', bytes_io.read(3))[0]
x = bytes_io.read(long_len)
bytes_io.read(-long_len % 4) # skip padding bytes
else:

View File

@ -75,14 +75,3 @@ z = Session.method_call('req_DH_params',
print(z)
# # used for serialization and SHA testing (passed)
# z = io.BytesIO()
# mtproto.serialize_obj(z, 'p_q_inner_data',
# pq=b"\x17\xED\x48\x94\x1A\x08\xF9\x81",
# p=b"\x49\x4C\x55\x3B",
# q=b"\x53\x91\x10\x73",
# nonce=b"\x3E\x05\x49\x82\x8C\xCA\x27\xE9\x66\xB3\x01\xA4\x8F\xEC\xE2\xFC",
# server_nonce=b"\xA5\xCF\x4D\x33\xF4\xA1\x1E\xA8\x77\xBA\x4A\xA5\x73\x90\x73\x30",
# new_nonce=b"\x31\x1C\x85\xDB\x23\x4A\xA2\x64\x0A\xFC\x4A\x76\xA7\x35\xCF\x5B\x1F\x0F\xD6\x8B\xD1\x7F\xA1\x81\xE1\x22\x9A\xD8\x67\xCC\x02\x4D")
# x=z.getvalue()
# print(SHA.new(x).hexdigest())