1+ from hexonet .apiconnector import connect
2+ from hexonet .apiconnector .response import Response
3+
4+ def test_response ():
5+ api = connect (
6+ "test.user" ,
7+ # wrong password
8+ "test.password" ,
9+ "https://coreapi.1api.net/api/call.cgi" ,
10+ "1234"
11+ )
12+ response = api .call ({
13+ "COMMAND" : "GetUserIndex"
14+ })
15+ assert isinstance (response , Response )
16+ assert response .description () == "Authentication failed"
17+ assert response .code () == 530
18+ assert type (response .as_string ()) is str
19+ assert type (response .as_list_hash ()) is dict
20+ assert isinstance (response .as_list (), list )
21+ assert len (response ) == 0
22+ assert response ["CODE" ] == 530
23+ assert response .is_success () == False
24+
25+ def test_listresponse ():
26+ api = connect (
27+ "test.user" ,
28+ "test.passw0rd" ,
29+ "https://coreapi.1api.net/api/call.cgi" ,
30+ "1234"
31+ )
32+ response = api .call ({
33+ "COMMAND" : "QueryDomainList" ,
34+ "VERSION" : 2 ,
35+ "NOTOTAL" : 1 ,#TOTAL to have value from total to equal to count
36+ "LIMIT" : 10 ,
37+ "FIRST" : 0
38+ })
39+ assert isinstance (response , Response )
40+ assert response .description () == "Command completed successfully"
41+ assert response .code () == 200
42+ assert len (response ) == 10
43+ assert type (response [0 ]) is dict
44+ assert type (response .runtime ()) is float
45+ assert type (response .queuetime ()) is float
46+ assert type (response .properties ()) is dict
47+ assert response .property ("DOMAIN" ) is None
48+ assert isinstance (response .property ("OBJECTID" ), list )
49+ assert type (response .property ()) is dict
50+ assert response .property () == response .properties ()
51+ assert response .is_success () == True
52+ assert response .is_tmp_error () == False
53+ assert isinstance (response .columns (), list )
54+ assert type (response .first ()) is int
55+ assert response .first () == 0
56+ assert type (response .last ()) is int
57+ assert response .last () == 9
58+ assert type (response .count ()) is int
59+ assert response .count () == 10
60+ assert type (response .limit ()) is int
61+ assert response .limit () == 10
62+ assert type (response .total ()) is int
63+ assert response .total () == 10
64+ assert type (response .pages ()) is float #TODO int makes more sense
65+ assert response .pages () == 1.9 # doesn't make sense, should be 1 in this case
66+ assert type (response .page ()) is int
67+ assert response .page () == 1
68+ assert response .prevpage () == None
69+ assert response .prevpagefirst () == None
70+ assert response .nextpage () == None
71+ assert response .nextpagefirst () == None
72+ assert type (response .lastpagefirst ()) is float
73+ assert response .lastpagefirst () == 9.0
0 commit comments