leantesting 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Gemfile +9 -0
- data/LICENSE +10 -0
- data/README.md +348 -0
- data/Rakefile +9 -0
- data/leantesting.gemspec +20 -0
- data/lib/BaseClass/APIRequest.rb +195 -0
- data/lib/BaseClass/Entity.rb +33 -0
- data/lib/BaseClass/EntityHandler.rb +183 -0
- data/lib/BaseClass/EntityList.rb +188 -0
- data/lib/Entity/Bug/Bug.rb +11 -0
- data/lib/Entity/Bug/BugAttachment.rb +7 -0
- data/lib/Entity/Bug/BugComment.rb +7 -0
- data/lib/Entity/Platform/PlatformBrowser.rb +10 -0
- data/lib/Entity/Platform/PlatformBrowserVersion.rb +7 -0
- data/lib/Entity/Platform/PlatformDevice.rb +7 -0
- data/lib/Entity/Platform/PlatformOS.rb +10 -0
- data/lib/Entity/Platform/PlatformOSVersion.rb +7 -0
- data/lib/Entity/Platform/PlatformType.rb +10 -0
- data/lib/Entity/Project/Project.rb +27 -0
- data/lib/Entity/Project/ProjectBugScheme.rb +7 -0
- data/lib/Entity/Project/ProjectSection.rb +7 -0
- data/lib/Entity/Project/ProjectUser.rb +7 -0
- data/lib/Entity/Project/ProjectVersion.rb +7 -0
- data/lib/Entity/User/UserOrganization.rb +7 -0
- data/lib/Exception/BaseException/SDKException.rb +19 -0
- data/lib/Exception/SDKBadJSONResponseException.rb +15 -0
- data/lib/Exception/SDKDuplicateRequestException.rb +19 -0
- data/lib/Exception/SDKErrorResponseException.rb +13 -0
- data/lib/Exception/SDKIncompleteRequestException.rb +19 -0
- data/lib/Exception/SDKInvalidArgException.rb +15 -0
- data/lib/Exception/SDKMissingArgException.rb +15 -0
- data/lib/Exception/SDKUnexpectedResponseException.rb +15 -0
- data/lib/Exception/SDKUnsupportedRequestException.rb +19 -0
- data/lib/Handler/Attachment/AttachmentsHandler.rb +17 -0
- data/lib/Handler/Auth/OAuth2Handler.rb +118 -0
- data/lib/Handler/Bug/BugAttachmentsHandler.rb +51 -0
- data/lib/Handler/Bug/BugCommentsHandler.rb +20 -0
- data/lib/Handler/Bug/BugsHandler.rb +57 -0
- data/lib/Handler/Platform/PlatformBrowserVersionsHandler.rb +20 -0
- data/lib/Handler/Platform/PlatformBrowsersHandler.rb +23 -0
- data/lib/Handler/Platform/PlatformDevicesHandler.rb +10 -0
- data/lib/Handler/Platform/PlatformHandler.rb +22 -0
- data/lib/Handler/Platform/PlatformOSHandler.rb +23 -0
- data/lib/Handler/Platform/PlatformOSVersionsHandler.rb +20 -0
- data/lib/Handler/Platform/PlatformTypeDevicesHandler.rb +20 -0
- data/lib/Handler/Platform/PlatformTypesHandler.rb +21 -0
- data/lib/Handler/Project/ProjectBugReproducibilitySchemeHandler.rb +20 -0
- data/lib/Handler/Project/ProjectBugSeveritySchemeHandler.rb +20 -0
- data/lib/Handler/Project/ProjectBugStatusSchemeHandler.rb +20 -0
- data/lib/Handler/Project/ProjectBugTypeSchemeHandler.rb +20 -0
- data/lib/Handler/Project/ProjectBugsHandler.rb +67 -0
- data/lib/Handler/Project/ProjectSectionsHandler.rb +39 -0
- data/lib/Handler/Project/ProjectUsersHandler.rb +20 -0
- data/lib/Handler/Project/ProjectVersionsHandler.rb +39 -0
- data/lib/Handler/Project/ProjectsHandler.rb +46 -0
- data/lib/Handler/User/UserHandler.rb +14 -0
- data/lib/Handler/User/UserOrganizationsHandler.rb +14 -0
- data/lib/leantesting.rb +65 -0
- data/lib/loader.rb +18 -0
- data/tests/APIRequestTest.rb +152 -0
- data/tests/BaseClassesTest.rb +96 -0
- data/tests/ClientTest.rb +52 -0
- data/tests/EntitiesTest.rb +97 -0
- data/tests/EntityListTest.rb +51 -0
- data/tests/ExceptionsTest.rb +70 -0
- data/tests/HandlersRequestsTest.rb +215 -0
- data/tests/MockRequestsTest.rb +556 -0
- data/tests/OAuth2HandlerTest.rb +75 -0
- data/tests/res/upload_sample.jpg +0 -0
- metadata +169 -0
data/tests/ClientTest.rb
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
require 'bundler'
|
2
|
+
Bundler.require(:default, :test)
|
3
|
+
|
4
|
+
require_relative '../lib/Client'
|
5
|
+
|
6
|
+
class BaseClassesTest < MiniTest::Test
|
7
|
+
|
8
|
+
def test_ClientDefined
|
9
|
+
Client.new
|
10
|
+
end
|
11
|
+
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
def test_ClientHasAuthObj
|
16
|
+
assert_instance_of OAuth2Handler, Client.new.auth
|
17
|
+
end
|
18
|
+
def test_ClientHasUserObj
|
19
|
+
assert_instance_of UserHandler, Client.new.user
|
20
|
+
end
|
21
|
+
def test_ClientHasProjectsObj
|
22
|
+
assert_instance_of ProjectsHandler, Client.new.projects
|
23
|
+
end
|
24
|
+
def test_ClientHasBugsObj
|
25
|
+
assert_instance_of BugsHandler, Client.new.bugs
|
26
|
+
end
|
27
|
+
def test_ClientHasAttachmentsObj
|
28
|
+
assert_instance_of AttachmentsHandler, Client.new.attachments
|
29
|
+
end
|
30
|
+
def test_ClientHasPlatformObj
|
31
|
+
assert_instance_of PlatformHandler, Client.new.platform
|
32
|
+
end
|
33
|
+
|
34
|
+
|
35
|
+
|
36
|
+
def test_InitialEmptyToken
|
37
|
+
assert !Client.new.getCurrentToken
|
38
|
+
end
|
39
|
+
def test_TokenParseStorage
|
40
|
+
tokenName = '__token__test__'
|
41
|
+
client = Client.new
|
42
|
+
client.attachToken(tokenName)
|
43
|
+
|
44
|
+
assert_equal client.getCurrentToken, tokenName
|
45
|
+
end
|
46
|
+
def test_TokenParseNonStr
|
47
|
+
assert_raises SDKInvalidArgException do
|
48
|
+
Client.new.attachToken(7182381)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
@@ -0,0 +1,97 @@
|
|
1
|
+
require 'bundler'
|
2
|
+
Bundler.require(:default, :test)
|
3
|
+
|
4
|
+
require_relative '../lib/Client'
|
5
|
+
|
6
|
+
class EntitiesTest < MiniTest::Test
|
7
|
+
|
8
|
+
def setup
|
9
|
+
@entityColllection = [
|
10
|
+
[Bug, {
|
11
|
+
'comments' => BugCommentsHandler,
|
12
|
+
'attachments' => BugAttachmentsHandler
|
13
|
+
}],
|
14
|
+
[BugAttachment],
|
15
|
+
[BugComment],
|
16
|
+
[PlatformBrowser, {
|
17
|
+
'versions' => PlatformBrowserVersionsHandler
|
18
|
+
}],
|
19
|
+
[PlatformBrowserVersion],
|
20
|
+
[PlatformDevice],
|
21
|
+
[PlatformOS, {
|
22
|
+
'versions' => PlatformOSVersionsHandler
|
23
|
+
}],
|
24
|
+
[PlatformOSVersion],
|
25
|
+
[PlatformType, {
|
26
|
+
'devices' => PlatformTypeDevicesHandler
|
27
|
+
}],
|
28
|
+
[Project, {
|
29
|
+
'sections' => ProjectSectionsHandler,
|
30
|
+
'versions' => ProjectVersionsHandler,
|
31
|
+
'users' => ProjectUsersHandler,
|
32
|
+
|
33
|
+
'bugTypeScheme' => ProjectBugTypeSchemeHandler,
|
34
|
+
'bugStatusScheme' => ProjectBugStatusSchemeHandler,
|
35
|
+
'bugSeverityScheme' => ProjectBugSeveritySchemeHandler,
|
36
|
+
'bugReproducibilityScheme' => ProjectBugReproducibilitySchemeHandler,
|
37
|
+
|
38
|
+
'bugs' => ProjectBugsHandler
|
39
|
+
}],
|
40
|
+
[ProjectBugScheme],
|
41
|
+
[ProjectSection],
|
42
|
+
[ProjectUser],
|
43
|
+
[ProjectVersion],
|
44
|
+
[UserOrganization]
|
45
|
+
]
|
46
|
+
end
|
47
|
+
|
48
|
+
|
49
|
+
|
50
|
+
def test_EntitiesDefined
|
51
|
+
@entityColllection.each { |e| e[0] }
|
52
|
+
end
|
53
|
+
|
54
|
+
def test_EntitiesCorrectParent
|
55
|
+
@entityColllection.each { |e| assert_kind_of Entity, e[0].new(Client.new, {'id'=> 1}) }
|
56
|
+
end
|
57
|
+
|
58
|
+
def test_EntitiesDataParsing
|
59
|
+
data = {'id'=> 1, 'YY'=> 'strstr', 'FF'=> [1, 2, 3, 'asdasdasd'], 'GG'=> {'test1'=> true, 'test2'=> []}}
|
60
|
+
@entityColllection.each do |e|
|
61
|
+
assert_equal e[0].new(Client.new, data).data, data
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
|
66
|
+
|
67
|
+
|
68
|
+
def test_EntitiesInstanceNonArrData
|
69
|
+
@entityColllection.each do |e|
|
70
|
+
assert_raises SDKInvalidArgException do
|
71
|
+
e[0].new(Client.new, '')
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
def test_EntitiesInstanceEmptyData
|
76
|
+
@entityColllection.each do |e|
|
77
|
+
assert_raises SDKInvalidArgException do
|
78
|
+
e[0].new(Client.new, {})
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
|
86
|
+
|
87
|
+
def test_EntitiesHaveSecondaries
|
88
|
+
@entityColllection.each do |e|
|
89
|
+
next if e[1].nil?
|
90
|
+
e[1].each do |sk, sv|
|
91
|
+
assert_instance_of sv, e[0].new(Client.new, {'id'=> 1}).instance_variable_get('@' + sk)
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
|
97
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
require 'bundler'
|
2
|
+
Bundler.require(:default, :test)
|
3
|
+
|
4
|
+
require_relative '../lib/Client'
|
5
|
+
|
6
|
+
class EntityListTest < MiniTest::Test
|
7
|
+
|
8
|
+
def test_EntityListDefined
|
9
|
+
EntityList
|
10
|
+
end
|
11
|
+
|
12
|
+
|
13
|
+
|
14
|
+
def test_EntityListBadRespMissingMeta
|
15
|
+
req = APIRequest.new(Client.new, '/any/method', 'GET')
|
16
|
+
req.expects(:call).returns({'data'=> '{"x": []}', 'status'=> 200})
|
17
|
+
|
18
|
+
ex = assert_raises SDKUnexpectedResponseException do
|
19
|
+
EntityList.new(Client.new, req, 'X')
|
20
|
+
end
|
21
|
+
assert_match 'meta', ex.message
|
22
|
+
end
|
23
|
+
def test_EntityListBadRespMissingMetaPagination
|
24
|
+
req = APIRequest.new(Client.new, '/any/method', 'GET')
|
25
|
+
req.expects(:call).returns({'data'=> '{"x": [], "meta": {}}', 'status'=> 200})
|
26
|
+
|
27
|
+
ex = assert_raises SDKUnexpectedResponseException do
|
28
|
+
EntityList.new(Client.new, req, 'X')
|
29
|
+
end
|
30
|
+
assert_match 'pagination', ex.message
|
31
|
+
end
|
32
|
+
def test_EntityListBadRespMissingCollection
|
33
|
+
req = APIRequest.new(Client.new, '/any/method', 'GET')
|
34
|
+
req.expects(:call).returns({'data'=> '{"meta": {"pagination": {}}}', 'status'=> 200})
|
35
|
+
|
36
|
+
ex = assert_raises SDKUnexpectedResponseException do
|
37
|
+
EntityList.new(Client.new, req, 'X')
|
38
|
+
end
|
39
|
+
assert_match 'collection', ex.message
|
40
|
+
end
|
41
|
+
def test_EntityListBadRespMultipleCollections
|
42
|
+
req = APIRequest.new(Client.new, '/any/method', 'GET')
|
43
|
+
req.expects(:call).returns({'data'=> '{"xxy": [], "yyx": [], "meta": {"pagination": {}}}', 'status'=> 200})
|
44
|
+
|
45
|
+
ex = assert_raises SDKUnexpectedResponseException do
|
46
|
+
EntityList.new(Client.new, req, 'X')
|
47
|
+
end
|
48
|
+
assert_match 'multiple', ex.message
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
require 'bundler'
|
2
|
+
Bundler.require(:default, :test)
|
3
|
+
|
4
|
+
require_relative '../lib/Client'
|
5
|
+
|
6
|
+
class ExceptionsTest < MiniTest::Test
|
7
|
+
|
8
|
+
def setup
|
9
|
+
@exceptionCollection = [
|
10
|
+
[SDKException],
|
11
|
+
[SDKBadJSONResponseException],
|
12
|
+
[SDKDuplicateRequestException],
|
13
|
+
[SDKErrorResponseException],
|
14
|
+
[SDKIncompleteRequestException],
|
15
|
+
[SDKInvalidArgException],
|
16
|
+
[SDKMissingArgException],
|
17
|
+
[SDKUnexpectedResponseException],
|
18
|
+
[SDKUnsupportedRequestException]
|
19
|
+
]
|
20
|
+
end
|
21
|
+
|
22
|
+
|
23
|
+
def test_ExceptionsDefined
|
24
|
+
@exceptionCollection.each { |e| e[0] }
|
25
|
+
end
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
|
30
|
+
def test_ExceptionsRaiseNoArgs
|
31
|
+
@exceptionCollection.each do |e|
|
32
|
+
ex = assert_raises e[0] do
|
33
|
+
raise e[0]
|
34
|
+
end
|
35
|
+
assert_match 'SDK Error', ex.message
|
36
|
+
end
|
37
|
+
end
|
38
|
+
def test_ExceptionsRaiseWithStr
|
39
|
+
@exceptionCollection.each do |e|
|
40
|
+
ex = assert_raises e[0] do
|
41
|
+
raise e[0], 'XXXmsgXXX'
|
42
|
+
end
|
43
|
+
assert_match 'XXXmsgXXX', ex.message
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
# RAISE WITH ARR (when supported)
|
50
|
+
def test_DuplicateRequestRaiseWithArr
|
51
|
+
ex = assert_raises SDKDuplicateRequestException do
|
52
|
+
raise SDKDuplicateRequestException, ['xx', 'yy', 'zz']
|
53
|
+
end
|
54
|
+
assert_match 'Duplicate', ex.message
|
55
|
+
end
|
56
|
+
def test_IncompleteRequestRaiseWithArr
|
57
|
+
ex = assert_raises SDKIncompleteRequestException do
|
58
|
+
raise SDKIncompleteRequestException, ['xx', 'yy', 'zz']
|
59
|
+
end
|
60
|
+
assert_match 'Incomplete', ex.message
|
61
|
+
end
|
62
|
+
def test_UnsupportedRequestRaiseWithArr
|
63
|
+
ex = assert_raises SDKUnsupportedRequestException do
|
64
|
+
raise SDKUnsupportedRequestException, ['xx', 'yy', 'zz']
|
65
|
+
end
|
66
|
+
assert_match 'Unsupported', ex.message
|
67
|
+
end
|
68
|
+
# END RAISE WITH ARR
|
69
|
+
|
70
|
+
end
|
@@ -0,0 +1,215 @@
|
|
1
|
+
require 'bundler'
|
2
|
+
Bundler.require(:default, :test)
|
3
|
+
|
4
|
+
require_relative '../lib/Client'
|
5
|
+
|
6
|
+
class HandlersTest < MiniTest::Test
|
7
|
+
|
8
|
+
def setup
|
9
|
+
@handlerCollection = [
|
10
|
+
[AttachmentsHandler],
|
11
|
+
[BugAttachmentsHandler, 'requiresIDInConstructor'],
|
12
|
+
[BugCommentsHandler, 'requiresIDInConstructor'],
|
13
|
+
[BugsHandler],
|
14
|
+
[PlatformBrowsersHandler],
|
15
|
+
[PlatformBrowserVersionsHandler, 'requiresIDInConstructor'],
|
16
|
+
[PlatformDevicesHandler],
|
17
|
+
[PlatformHandler],
|
18
|
+
[PlatformOSHandler],
|
19
|
+
[PlatformOSVersionsHandler, 'requiresIDInConstructor'],
|
20
|
+
[PlatformTypeDevicesHandler, 'requiresIDInConstructor'],
|
21
|
+
[PlatformTypesHandler],
|
22
|
+
[ProjectBugReproducibilitySchemeHandler, 'requiresIDInConstructor'],
|
23
|
+
[ProjectBugSeveritySchemeHandler, 'requiresIDInConstructor'],
|
24
|
+
[ProjectBugsHandler, 'requiresIDInConstructor'],
|
25
|
+
[ProjectBugStatusSchemeHandler, 'requiresIDInConstructor'],
|
26
|
+
[ProjectBugTypeSchemeHandler, 'requiresIDInConstructor'],
|
27
|
+
[ProjectSectionsHandler, 'requiresIDInConstructor'],
|
28
|
+
[ProjectsHandler],
|
29
|
+
[ProjectUsersHandler, 'requiresIDInConstructor'],
|
30
|
+
[ProjectVersionsHandler, 'requiresIDInConstructor'],
|
31
|
+
[UserHandler],
|
32
|
+
[UserOrganizationsHandler]
|
33
|
+
]
|
34
|
+
end
|
35
|
+
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
def test_HandlersDefined
|
40
|
+
@handlerCollection.each { |e| e[0] }
|
41
|
+
end
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
|
46
|
+
def test_HandlersCreateNonArrFields
|
47
|
+
@handlerCollection.each do |e|
|
48
|
+
if !e[1].nil? && e[1] == 'requiresIDInConstructor'
|
49
|
+
inst = e[0].new(Client.new, 999)
|
50
|
+
else
|
51
|
+
inst = e[0].new(Client.new)
|
52
|
+
end
|
53
|
+
assert_raises SDKInvalidArgException do
|
54
|
+
inst.create('')
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
def test_HandlersCreateEmptyFields
|
59
|
+
@handlerCollection.each do |e|
|
60
|
+
if !e[1].nil? && e[1] == 'requiresIDInConstructor'
|
61
|
+
inst = e[0].new(Client.new, 999)
|
62
|
+
else
|
63
|
+
inst = e[0].new(Client.new)
|
64
|
+
end
|
65
|
+
assert_raises SDKInvalidArgException do
|
66
|
+
inst.create({})
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
def test_HandlersAllNonArrFilters
|
76
|
+
@handlerCollection.each do |e|
|
77
|
+
if !e[1].nil? && e[1] == 'requiresIDInConstructor'
|
78
|
+
inst = e[0].new(Client.new, 999)
|
79
|
+
else
|
80
|
+
inst = e[0].new(Client.new)
|
81
|
+
end
|
82
|
+
assert_raises SDKInvalidArgException do
|
83
|
+
inst.all('')
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
def test_HandlersAllInvalidFilters
|
88
|
+
@handlerCollection.each do |e|
|
89
|
+
if !e[1].nil? && e[1] == 'requiresIDInConstructor'
|
90
|
+
inst = e[0].new(Client.new, 999)
|
91
|
+
else
|
92
|
+
inst = e[0].new(Client.new)
|
93
|
+
end
|
94
|
+
assert_raises SDKInvalidArgException do
|
95
|
+
inst.all({'XXXfilterXXX'=> 9999})
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
99
|
+
def test_HandlersAllSupportedFilters
|
100
|
+
client = Client.new
|
101
|
+
client.debugReturn = {
|
102
|
+
'data'=> '{"x": [], "meta": {"pagination": {}}}',
|
103
|
+
'status'=> 200
|
104
|
+
}
|
105
|
+
|
106
|
+
@handlerCollection.each do |e|
|
107
|
+
if !e[1].nil? && e[1] == 'requiresIDInConstructor'
|
108
|
+
inst = e[0].new(client, 999)
|
109
|
+
else
|
110
|
+
inst = e[0].new(client)
|
111
|
+
end
|
112
|
+
|
113
|
+
inst.all({'include'=> ''})
|
114
|
+
inst.all({'limit'=> 10})
|
115
|
+
inst.all({'page'=> 2})
|
116
|
+
end
|
117
|
+
end
|
118
|
+
|
119
|
+
|
120
|
+
|
121
|
+
|
122
|
+
|
123
|
+
def test_HandlersFindNonIntID
|
124
|
+
@handlerCollection.each do |e|
|
125
|
+
if !e[1].nil? && e[1] == 'requiresIDInConstructor'
|
126
|
+
inst = e[0].new(Client.new, 999)
|
127
|
+
else
|
128
|
+
inst = e[0].new(Client.new)
|
129
|
+
end
|
130
|
+
assert_raises SDKInvalidArgException do
|
131
|
+
inst.find('')
|
132
|
+
end
|
133
|
+
end
|
134
|
+
end
|
135
|
+
|
136
|
+
|
137
|
+
|
138
|
+
|
139
|
+
def test_HandlersDeleteNonIntID
|
140
|
+
@handlerCollection.each do |e|
|
141
|
+
if !e[1].nil? && e[1] == 'requiresIDInConstructor'
|
142
|
+
inst = e[0].new(Client.new, 999)
|
143
|
+
else
|
144
|
+
inst = e[0].new(Client.new)
|
145
|
+
end
|
146
|
+
assert_raises SDKInvalidArgException do
|
147
|
+
inst.delete('')
|
148
|
+
end
|
149
|
+
end
|
150
|
+
end
|
151
|
+
|
152
|
+
|
153
|
+
|
154
|
+
|
155
|
+
|
156
|
+
def test_HandlersUpdateNonIntID
|
157
|
+
@handlerCollection.each do |e|
|
158
|
+
if !e[1].nil? && e[1] == 'requiresIDInConstructor'
|
159
|
+
inst = e[0].new(Client.new, 999)
|
160
|
+
else
|
161
|
+
inst = e[0].new(Client.new)
|
162
|
+
end
|
163
|
+
assert_raises SDKInvalidArgException do
|
164
|
+
inst.update('', {'x'=> 5})
|
165
|
+
end
|
166
|
+
end
|
167
|
+
end
|
168
|
+
def test_HandlersUpdateNonArrFields
|
169
|
+
@handlerCollection.each do |e|
|
170
|
+
if !e[1].nil? && e[1] == 'requiresIDInConstructor'
|
171
|
+
inst = e[0].new(Client.new, 999)
|
172
|
+
else
|
173
|
+
inst = e[0].new(Client.new)
|
174
|
+
end
|
175
|
+
assert_raises SDKInvalidArgException do
|
176
|
+
inst.update(5, '')
|
177
|
+
end
|
178
|
+
end
|
179
|
+
end
|
180
|
+
def test_HandlersUpdateEmptyFields
|
181
|
+
@handlerCollection.each do |e|
|
182
|
+
if !e[1].nil? && e[1] == 'requiresIDInConstructor'
|
183
|
+
inst = e[0].new(Client.new, 999)
|
184
|
+
else
|
185
|
+
inst = e[0].new(Client.new)
|
186
|
+
end
|
187
|
+
assert_raises SDKInvalidArgException do
|
188
|
+
inst.update(5, {})
|
189
|
+
end
|
190
|
+
end
|
191
|
+
end
|
192
|
+
|
193
|
+
|
194
|
+
|
195
|
+
|
196
|
+
|
197
|
+
# HAVE SECONDARIES
|
198
|
+
def test_PlatformHandlerHasTypes
|
199
|
+
assert_instance_of PlatformTypesHandler, PlatformHandler.new(Client.new).types
|
200
|
+
end
|
201
|
+
def test_PlatformHandlerHasDevices
|
202
|
+
assert_instance_of PlatformDevicesHandler, PlatformHandler.new(Client.new).devices
|
203
|
+
end
|
204
|
+
def test_PlatformHandlerHasOS
|
205
|
+
assert_instance_of PlatformOSHandler, PlatformHandler.new(Client.new).os
|
206
|
+
end
|
207
|
+
def test_PlatformHandlerHasBrowsers
|
208
|
+
assert_instance_of PlatformBrowsersHandler, PlatformHandler.new(Client.new).browsers
|
209
|
+
end
|
210
|
+
def test_UserHandlerHasOrganizations
|
211
|
+
assert_instance_of UserOrganizationsHandler, UserHandler.new(Client.new).organizations
|
212
|
+
end
|
213
|
+
# END HAVE SECONDARIES
|
214
|
+
|
215
|
+
end
|