2
2
import tornado .testing
3
3
4
4
from utils .clients .selenium_grid import SeleniumGridClient
5
- from services .selenium_grid import selenium_grid_service
5
+ from services .selenium_grid import SeleniumGridService
6
6
from services .selenium_grid import SimpleLockManager
7
7
from time import sleep
8
8
@@ -17,13 +17,68 @@ def test_get_devices(self):
17
17
18
18
19
19
class TestSeleniumGridService (unittest .TestCase ):
20
- def test_query_deivces1 (self ):
21
- selenium_grid_service .update_hubs_detail (HUBS_DETAIL )
22
- selenium_grid_service .get_available_capabilities (platform_name = 'ios' )
20
+ def setUp (self ):
21
+ self .service = SeleniumGridService ()
22
+ self .service .set_capabilities ([
23
+ {
24
+ "capabilities" : {
25
+ "platformName" : "ios" ,
26
+ "version" : "1" ,
27
+ "UDID" : "udid1" ,
28
+ },
29
+ "appium_url" : "appium_url1" ,
30
+ },
31
+ {
32
+ "capabilities" : {
33
+ "platformName" : "ios" ,
34
+ "version" : "2" ,
35
+ "UDID" : "udid2" ,
36
+ },
37
+ "appium_url" : "appium_url1" ,
38
+ },
39
+ {
40
+ "capabilities" : {
41
+ "platformName" : "ios" ,
42
+ "version" : "1" ,
43
+ "UDID" : "udid1" ,
44
+ },
45
+ "appium_url" : "appium_url2" ,
46
+ },
47
+ {
48
+ "capabilities" : {
49
+ "platformName" : "ios" ,
50
+ "version" : "2" ,
51
+ "UDID" : "udid2" ,
52
+ },
53
+ "appium_url" : "appium_url2" ,
54
+ },
55
+ ])
56
+
57
+ def test_query_capabilities (self ):
58
+ caps = self .service .get_available_capabilities (platform_name = 'ios' )
59
+ expected = [{'capabilities' : {'platformName' : 'ios' , 'version' : '1' , 'UDID' : 'udid1' }, 'appium_url' : 'appium_url1' },
60
+ {'capabilities' : {'platformName' : 'ios' , 'version' : '2' , 'UDID' : 'udid2' }, 'appium_url' : 'appium_url2' }]
61
+ self .assertEqual (expected , caps )
62
+
63
+ caps = self .service .get_available_capabilities (platform_name = 'ios' , platform_version = ['1' ])
64
+ expected = [{'capabilities' : {'platformName' : 'ios' , 'version' : '1' , 'UDID' : 'udid1' }, 'appium_url' : 'appium_url1' }]
65
+ self .assertEqual (expected , caps )
66
+
67
+ caps = self .service .get_available_capabilities (platform_name = 'ios' , min_platform_version = '3' )
68
+ self .assertEqual ([], caps )
23
69
24
- def test_query_devices2 (self ):
25
- selenium_grid_service .update_hubs_detail (HUBS_DETAIL )
26
- selenium_grid_service .get_available_capabilities (platform_name = 'ios' , platform_version = '11.2.6' )
70
+ caps = self .service .get_available_capabilities (platform_name = 'ios' , max_platform_version = '0' )
71
+ self .assertEqual ([], caps )
72
+
73
+ caps = self .service .get_available_capabilities (platform_name = 'ios' , min_platform_version = '0' )
74
+ expected = [{'capabilities' : {'platformName' : 'ios' , 'version' : '1' , 'UDID' : 'udid1' }, 'appium_url' : 'appium_url1' },
75
+ {'capabilities' : {'platformName' : 'ios' , 'version' : '2' , 'UDID' : 'udid2' }, 'appium_url' : 'appium_url2' }]
76
+ self .assertEqual (expected , caps )
77
+
78
+ caps = self .service .get_available_capabilities (platform_name = 'ios' , max_platform_version = '3' )
79
+ expected = [{'capabilities' : {'platformName' : 'ios' , 'version' : '1' , 'UDID' : 'udid1' }, 'appium_url' : 'appium_url1' },
80
+ {'capabilities' : {'platformName' : 'ios' , 'version' : '2' , 'UDID' : 'udid2' }, 'appium_url' : 'appium_url2' }]
81
+ self .assertEqual (expected , caps )
27
82
28
83
29
84
class TestSimpleLockManager (unittest .TestCase ):
@@ -52,7 +107,10 @@ def test_lock_expired(self):
52
107
self .assertFalse (self .lock .is_lock ('lock1' ))
53
108
54
109
55
- HUBS_DETAIL = {'http://10.32.52.92:4444/' : {'nodes' : [{'class' : 'DefaultRemoteProxy' ,
110
+
111
+
112
+ # this dto must be refactored !
113
+ _GRID_RAW_DATA = {'http://10.32.52.92:4444/' : {'nodes' : [{'class' : 'DefaultRemoteProxy' ,
56
114
'id' : 'http://10.32.60.38:4723' ,
57
115
'protocols' : {'web_driver' : {'browsers' : {'' : {'10.1' : [{'busy' : False ,
58
116
'capabilities' : {'UDID' : 'F0F743D2-839B-4809-B404-B19AB4CDD31D' ,
0 commit comments