authlete 1.0.24 → 1.1.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.
Files changed (160) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -1
  3. data/Makefile +40 -0
  4. data/Rakefile +5 -0
  5. data/authlete.gemspec +2 -2
  6. data/lib/authlete.rb +28 -9
  7. data/lib/authlete/api.rb +146 -321
  8. data/lib/authlete/authentication-server.rb +2 -2
  9. data/lib/authlete/exception.rb +14 -15
  10. data/lib/authlete/model/base.rb +30 -0
  11. data/lib/authlete/model/client-extension.rb +17 -119
  12. data/lib/authlete/model/client.rb +196 -345
  13. data/lib/authlete/model/hashable.rb +13 -33
  14. data/lib/authlete/model/named-uri.rb +13 -74
  15. data/lib/authlete/model/pair.rb +13 -74
  16. data/lib/authlete/model/param-initializer.rb +45 -0
  17. data/lib/authlete/model/property.rb +15 -85
  18. data/lib/authlete/model/request/authentication-callback-request.rb +63 -55
  19. data/lib/authlete/model/request/authorization-fail-request.rb +14 -75
  20. data/lib/authlete/model/request/authorization-issue-request.rb +38 -119
  21. data/lib/authlete/model/request/authorization-request.rb +8 -73
  22. data/lib/authlete/model/request/backchannel-authentication-complete-request.rb +97 -0
  23. data/lib/authlete/model/request/backchannel-authentication-fail-request.rb +55 -0
  24. data/lib/authlete/model/request/backchannel-authentication-issue-request.rb +37 -0
  25. data/lib/authlete/model/request/backchannel-authentication-request.rb +63 -0
  26. data/lib/authlete/model/request/base.rb +26 -0
  27. data/lib/authlete/model/request/client-authorization-delete-request.rb +7 -93
  28. data/lib/authlete/model/request/client-authorization-get-list-request.rb +17 -89
  29. data/lib/authlete/model/request/client-authorization-update-request.rb +11 -86
  30. data/lib/authlete/model/request/client-registration-request.rb +49 -0
  31. data/lib/authlete/model/request/client-secret-update-request.rb +7 -89
  32. data/lib/authlete/model/request/developer-authentication-callback-request.rb +40 -43
  33. data/lib/authlete/model/request/device-authorization-request.rb +63 -0
  34. data/lib/authlete/model/request/device-complete-request.rb +99 -0
  35. data/lib/authlete/model/request/device-verification-request.rb +40 -0
  36. data/lib/authlete/model/request/granted-scopes-request.rb +8 -74
  37. data/lib/authlete/model/request/introspection-request.rb +24 -83
  38. data/lib/authlete/model/request/pushed-auth-req-request.rb +64 -0
  39. data/lib/authlete/model/request/revocation-request.rb +14 -88
  40. data/lib/authlete/model/request/standard-introspection-request.rb +8 -73
  41. data/lib/authlete/model/request/token-create-request.rb +52 -183
  42. data/lib/authlete/model/request/token-fail-request.rb +12 -74
  43. data/lib/authlete/model/request/token-issue-request.rb +22 -80
  44. data/lib/authlete/model/request/token-request.rb +44 -81
  45. data/lib/authlete/model/request/token-update-request.rb +35 -121
  46. data/lib/authlete/model/request/user-info-issue-request.rb +14 -80
  47. data/lib/authlete/model/request/user-info-request.rb +25 -70
  48. data/lib/authlete/model/response/access-token.rb +96 -0
  49. data/lib/authlete/model/response/authentication-callback-response.rb +24 -19
  50. data/lib/authlete/model/response/authorization-fail-response.rb +13 -15
  51. data/lib/authlete/model/response/authorization-issue-response.rb +29 -32
  52. data/lib/authlete/model/response/authorization-response.rb +97 -123
  53. data/lib/authlete/model/response/authorized-client-list-response.rb +37 -0
  54. data/lib/authlete/model/response/backchannel-authentication-complete-response.rb +143 -0
  55. data/lib/authlete/model/response/backchannel-authentication-fail-response.rb +47 -0
  56. data/lib/authlete/model/response/backchannel-authentication-issue-response.rb +63 -0
  57. data/lib/authlete/model/response/backchannel-authentication-response.rb +160 -0
  58. data/lib/authlete/model/response/client-list-response.rb +58 -0
  59. data/lib/authlete/model/response/client-registration-response.rb +50 -0
  60. data/lib/authlete/model/response/client-secret-refresh-response.rb +12 -12
  61. data/lib/authlete/model/response/client-secret-update-response.rb +12 -12
  62. data/lib/authlete/model/response/developer-authentication-callback-response.rb +24 -19
  63. data/lib/authlete/model/response/device-authorization-response.rb +134 -0
  64. data/lib/authlete/model/response/device-complete-response.rb +39 -0
  65. data/lib/authlete/model/response/device-verification-response.rb +96 -0
  66. data/lib/authlete/model/response/granted-scopes-get-response.rb +27 -19
  67. data/lib/authlete/model/response/introspection-response.rb +64 -58
  68. data/lib/authlete/model/response/pushed-auth-req-response.rb +59 -0
  69. data/lib/authlete/model/response/revocation-response.rb +12 -15
  70. data/lib/authlete/model/response/service-list-response.rb +54 -0
  71. data/lib/authlete/model/response/standard-introspection-response.rb +13 -15
  72. data/lib/authlete/model/response/token-create-response.rb +50 -55
  73. data/lib/authlete/model/response/token-fail-response.rb +14 -17
  74. data/lib/authlete/model/response/token-issue-response.rb +49 -62
  75. data/lib/authlete/model/response/token-list-response.rb +64 -0
  76. data/lib/authlete/model/response/token-response.rb +59 -79
  77. data/lib/authlete/model/response/token-update-response.rb +28 -23
  78. data/lib/authlete/model/response/user-info-issue-response.rb +16 -16
  79. data/lib/authlete/model/response/user-info-response.rb +48 -42
  80. data/lib/authlete/model/result.rb +14 -13
  81. data/lib/authlete/model/scope.rb +29 -119
  82. data/lib/authlete/model/service-owner.rb +32 -116
  83. data/lib/authlete/model/service.rb +464 -685
  84. data/lib/authlete/model/sns-credentials.rb +18 -91
  85. data/lib/authlete/model/tagged-value.rb +14 -69
  86. data/lib/authlete/utility.rb +3 -32
  87. data/lib/authlete/version.rb +3 -3
  88. data/test/authlete/model/request/test_authentication-callback-request.rb +100 -0
  89. data/test/authlete/model/request/test_authorization-fail-request.rb +67 -0
  90. data/test/authlete/model/request/test_authorization-issue-request.rb +94 -0
  91. data/test/authlete/model/request/test_authorization-request.rb +57 -0
  92. data/test/authlete/model/request/test_backchannel-authentication-complete-request.rb +102 -0
  93. data/test/authlete/model/request/test_backchannel-authentication-fail-request.rb +71 -0
  94. data/test/authlete/model/request/test_backchannel-authentication-issue-request.rb +57 -0
  95. data/test/authlete/model/request/test_backchannel-authentication-request.rb +75 -0
  96. data/test/authlete/model/request/test_client-authorization-delete-request.rb +57 -0
  97. data/test/authlete/model/request/test_client-authorization-get-list-request.rb +71 -0
  98. data/test/authlete/model/request/test_client-authorization-update-request.rb +63 -0
  99. data/test/authlete/model/request/test_client-registration-request.rb +68 -0
  100. data/test/authlete/model/request/test_device-authorization-request.rb +75 -0
  101. data/test/authlete/model/request/test_device-complete-request.rb +102 -0
  102. data/test/authlete/model/request/test_device-verification-request.rb +57 -0
  103. data/test/authlete/model/request/test_granted-scopes-request.rb +57 -0
  104. data/test/authlete/model/request/test_introspection-request.rb +79 -0
  105. data/test/authlete/model/request/test_pushed-auth-req-request.rb +75 -0
  106. data/test/authlete/model/request/test_revocation-request.rb +67 -0
  107. data/test/authlete/model/request/test_standard-introspection-request.rb +57 -0
  108. data/test/authlete/model/request/test_token-create-request.rb +110 -0
  109. data/test/authlete/model/request/test_token-fail-request.rb +63 -0
  110. data/test/authlete/model/request/test_token-issue-request.rb +70 -0
  111. data/test/authlete/model/request/test_token-request.rb +94 -0
  112. data/test/authlete/model/request/test_token-update-request.rb +82 -0
  113. data/test/authlete/model/request/test_user-info-issue-request.rb +67 -0
  114. data/test/authlete/model/request/test_user-info-request.rb +75 -0
  115. data/test/authlete/model/response/test_access-token.rb +101 -0
  116. data/test/authlete/model/response/test_authorization-fail-response.rb +68 -0
  117. data/test/authlete/model/response/test_authorization-issue-response.rb +92 -0
  118. data/test/authlete/model/response/test_authorization-response.rb +145 -0
  119. data/test/authlete/model/response/test_authorized-client-list-response.rb +83 -0
  120. data/test/authlete/model/response/test_backchannel-authentication-complete-response.rb +132 -0
  121. data/test/authlete/model/response/test_backchannel-authentication-fail-response.rb +68 -0
  122. data/test/authlete/model/response/test_backchannel-authentication-issue-response.rb +80 -0
  123. data/test/authlete/model/response/test_backchannel-authentication-response.rb +156 -0
  124. data/test/authlete/model/response/test_client-list-response.rb +79 -0
  125. data/test/authlete/model/response/test_client-secret-refresh-response.rb +68 -0
  126. data/test/authlete/model/response/test_client-secret-update-response.rb +68 -0
  127. data/test/authlete/model/response/test_device-authorization-response.rb +140 -0
  128. data/test/authlete/model/response/test_device-complete-response.rb +64 -0
  129. data/test/authlete/model/response/test_device-verification-response.rb +112 -0
  130. data/test/authlete/model/response/test_granted-scopes-get-response.rb +84 -0
  131. data/test/authlete/model/response/test_introspection-response.rb +127 -0
  132. data/test/authlete/model/response/test_pushed-auth-req-response.rb +76 -0
  133. data/test/authlete/model/response/test_revocation-response.rb +68 -0
  134. data/test/authlete/model/response/test_service-list-response.rb +72 -0
  135. data/test/authlete/model/response/test_standard-introspection-response.rb +68 -0
  136. data/test/authlete/model/response/test_token-create-response.rb +107 -0
  137. data/test/authlete/model/response/test_token-fail-response.rb +68 -0
  138. data/test/authlete/model/response/test_token-issue-response.rb +127 -0
  139. data/test/authlete/model/response/test_token-list-response.rb +84 -0
  140. data/test/authlete/model/response/test_token-response.rb +147 -0
  141. data/test/authlete/model/response/test_token-update-response.rb +87 -0
  142. data/test/authlete/model/response/test_user-info-issue-response.rb +68 -0
  143. data/test/authlete/model/response/test_user-info-response.rb +107 -0
  144. data/test/authlete/model/test_client-extension.rb +95 -0
  145. data/test/authlete/model/test_client.rb +461 -0
  146. data/test/authlete/model/test_named-uri.rb +85 -0
  147. data/test/authlete/model/test_pair.rb +85 -0
  148. data/test/authlete/model/test_property.rb +90 -0
  149. data/test/authlete/model/test_result.rb +68 -0
  150. data/test/authlete/model/test_scope.rb +106 -0
  151. data/test/authlete/model/test_service-owner.rb +80 -0
  152. data/test/authlete/model/test_service.rb +614 -0
  153. data/test/authlete/model/test_sns-credentials.rb +88 -0
  154. data/test/authlete/model/test_tagged-value.rb +83 -0
  155. data/test/authlete/test_exception.rb +70 -0
  156. metadata +169 -9
  157. data/lib/authlete/model/client-list.rb +0 -129
  158. data/lib/authlete/model/response/client-authorization-get-list-response.rb +0 -60
  159. data/lib/authlete/model/response/service-creatable-response.rb +0 -51
  160. data/lib/authlete/model/service-list.rb +0 -128
@@ -0,0 +1,85 @@
1
+ # :nodoc:
2
+ #
3
+ # Copyright (C) 2014-2020 Authlete, Inc.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+
18
+ require 'authlete'
19
+ require 'json'
20
+ require 'minitest/autorun'
21
+
22
+
23
+ class NamedUriTest < Minitest::Test
24
+ NAME = '<name>'
25
+ URI = '<uri>'
26
+
27
+
28
+ def generate_json
29
+ return <<~JSON
30
+ {
31
+ "name": "<name>",
32
+ "uri": "<uri>"
33
+ }
34
+ JSON
35
+ end
36
+
37
+
38
+ def generate_hash
39
+ {
40
+ name: '<name>',
41
+ uri: '<uri>'
42
+ }
43
+ end
44
+
45
+
46
+ def set_params(obj)
47
+ obj.name = NAME
48
+ obj.uri = URI
49
+
50
+ obj
51
+ end
52
+
53
+
54
+ def match(obj)
55
+ assert_equal NAME, obj.name
56
+ assert_equal URI, obj.uri
57
+ end
58
+
59
+
60
+ def test_from_json
61
+ jsn = generate_json
62
+ hsh = JSON.parse(jsn)
63
+ actual = Authlete::Model::NamedUri.new(hsh)
64
+
65
+ match(actual)
66
+ end
67
+
68
+
69
+ def test_setters
70
+ actual = Authlete::Model::NamedUri.new
71
+ set_params(actual)
72
+
73
+ match(actual)
74
+ end
75
+
76
+
77
+ def test_to_hash
78
+ obj = Authlete::Model::NamedUri.new
79
+ set_params(obj)
80
+ actual = obj.to_hash
81
+ expected = generate_hash
82
+
83
+ assert_equal expected, actual
84
+ end
85
+ end
@@ -0,0 +1,85 @@
1
+ # :nodoc:
2
+ #
3
+ # Copyright (C) 2014-2020 Authlete, Inc.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+
18
+ require 'authlete'
19
+ require 'json'
20
+ require 'minitest/autorun'
21
+
22
+
23
+ class PairTest < Minitest::Test
24
+ KEY = '<key>'
25
+ VALUE = '<value>'
26
+
27
+
28
+ def generate_json
29
+ return <<~JSON
30
+ {
31
+ "key": "<key>",
32
+ "value": "<value>"
33
+ }
34
+ JSON
35
+ end
36
+
37
+
38
+ def generate_hash
39
+ {
40
+ key: '<key>',
41
+ value: '<value>'
42
+ }
43
+ end
44
+
45
+
46
+ def set_params(obj)
47
+ obj.key = KEY
48
+ obj.value = VALUE
49
+
50
+ obj
51
+ end
52
+
53
+
54
+ def match(obj)
55
+ assert_equal KEY, obj.key
56
+ assert_equal VALUE, obj.value
57
+ end
58
+
59
+
60
+ def test_from_json
61
+ jsn = generate_json
62
+ hsh = JSON.parse(jsn)
63
+ actual = Authlete::Model::Pair.new(hsh)
64
+
65
+ match(actual)
66
+ end
67
+
68
+
69
+ def test_setters
70
+ actual = Authlete::Model::Pair.new
71
+ set_params(actual)
72
+
73
+ match(actual)
74
+ end
75
+
76
+
77
+ def test_to_hash
78
+ obj = Authlete::Model::Pair.new
79
+ set_params(obj)
80
+ actual = obj.to_hash
81
+ expected = generate_hash
82
+
83
+ assert_equal expected, actual
84
+ end
85
+ end
@@ -0,0 +1,90 @@
1
+ # :nodoc:
2
+ #
3
+ # Copyright (C) 2014-2020 Authlete, Inc.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+
18
+ require 'authlete'
19
+ require 'json'
20
+ require 'minitest/autorun'
21
+
22
+
23
+ class PropertyTest < Minitest::Test
24
+ KEY = '<key>'
25
+ VALUE = '<value>'
26
+ HIDDEN = false
27
+
28
+
29
+ def generate_json
30
+ return <<~JSON
31
+ {
32
+ "key": "<key>",
33
+ "value": "<value>",
34
+ "hidden": false
35
+ }
36
+ JSON
37
+ end
38
+
39
+
40
+ def generate_hash
41
+ {
42
+ key: '<key>',
43
+ value: '<value>',
44
+ hidden: false
45
+ }
46
+ end
47
+
48
+
49
+ def set_params(obj)
50
+ obj.key = KEY
51
+ obj.value = VALUE
52
+ obj.hidden = HIDDEN
53
+
54
+ obj
55
+ end
56
+
57
+
58
+ def match(obj)
59
+ assert_equal KEY, obj.key
60
+ assert_equal VALUE, obj.value
61
+ assert_equal HIDDEN, obj.hidden
62
+ end
63
+
64
+
65
+ def test_from_json
66
+ jsn = generate_json
67
+ hsh = JSON.parse(jsn)
68
+ actual = Authlete::Model::Property.new(hsh)
69
+
70
+ match(actual)
71
+ end
72
+
73
+
74
+ def test_setters
75
+ actual = Authlete::Model::Property.new
76
+ set_params(actual)
77
+
78
+ match(actual)
79
+ end
80
+
81
+
82
+ def test_to_hash
83
+ obj = Authlete::Model::Property.new
84
+ set_params(obj)
85
+ actual = obj.to_hash
86
+ expected = generate_hash
87
+
88
+ assert_equal expected, actual
89
+ end
90
+ end
@@ -0,0 +1,68 @@
1
+ # :nodoc:
2
+ #
3
+ # Copyright (C) 2014-2020 Authlete, Inc.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+
18
+ require 'authlete'
19
+ require 'json'
20
+ require 'minitest/autorun'
21
+
22
+
23
+ class ResultTest < Minitest::Test
24
+ RESULT_CODE = '<result-code>'
25
+ RESULT_MESSAGE = '<result-message>'
26
+
27
+
28
+ def generate_json
29
+ return <<~JSON
30
+ {
31
+ "resultCode": "<result-code>",
32
+ "resultMessage": "<result-message>"
33
+ }
34
+ JSON
35
+ end
36
+
37
+
38
+ def generate_hash
39
+ {
40
+ resultCode: '<result-code>',
41
+ resultMessage: '<result-message>'
42
+ }
43
+ end
44
+
45
+
46
+ def match(obj)
47
+ assert_equal RESULT_CODE, obj.resultCode
48
+ assert_equal RESULT_MESSAGE, obj.resultMessage
49
+ end
50
+
51
+
52
+ def test_from_json
53
+ jsn = generate_json
54
+ hsh = JSON.parse(jsn)
55
+ actual = Authlete::Model::Result.new(hsh)
56
+
57
+ match(actual)
58
+ end
59
+
60
+
61
+ def test_setters
62
+ actual = Authlete::Model::Result.new
63
+ actual.resultCode = RESULT_CODE
64
+ actual.resultMessage = RESULT_MESSAGE
65
+
66
+ match(actual)
67
+ end
68
+ end
@@ -0,0 +1,106 @@
1
+ # :nodoc:
2
+ #
3
+ # Copyright (C) 2014-2020 Authlete, Inc.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+
18
+ require 'authlete'
19
+ require 'json'
20
+ require 'minitest/autorun'
21
+
22
+
23
+ class ScopeTest < Minitest::Test
24
+ NAME = '<name>'
25
+ DEFAULT_ENTRY = true
26
+ DESCRIPTION = '<description>'
27
+ DESCRIPTION_TAG = '<description0-tag>'
28
+ DESCRIPTION_VALUE = '<description0-value>'
29
+ DESCRIPTIONS = [ Authlete::Model::TaggedValue.new(tag: DESCRIPTION_TAG, value: DESCRIPTION_VALUE) ]
30
+ ATTRIBUTE_KEY = '<attribute0-key>'
31
+ ATTRIBUTE_VALUE = '<attribute0-value>'
32
+ ATTRIBUTES = [ Authlete::Model::Pair.new(key: ATTRIBUTE_KEY, value: ATTRIBUTE_VALUE) ]
33
+
34
+
35
+ def generate_json
36
+ return <<~JSON
37
+ {
38
+ "name": "<name>",
39
+ "defaultEntry": true,
40
+ "description": "<description>",
41
+ "descriptions": [ { "tag": "<description0-tag>", "value": "<description0-value>" } ],
42
+ "attributes": [ { "key": "<attribute0-key>", "value": "<attribute0-value>" } ]
43
+ }
44
+ JSON
45
+ end
46
+
47
+
48
+ def generate_hash
49
+ {
50
+ name: '<name>',
51
+ defaultEntry: true,
52
+ description: '<description>',
53
+ descriptions: [ { tag: '<description0-tag>', value: '<description0-value>' } ],
54
+ attributes: [ { key: '<attribute0-key>', value: '<attribute0-value>' } ]
55
+ }
56
+ end
57
+
58
+
59
+ def set_params(obj)
60
+ obj.name = NAME
61
+ obj.default_entry = DEFAULT_ENTRY
62
+ obj.description = DESCRIPTION
63
+ obj.descriptions = DESCRIPTIONS
64
+ obj.attributes = ATTRIBUTES
65
+
66
+ obj
67
+ end
68
+
69
+
70
+ def match(obj)
71
+ assert_equal NAME, obj.name
72
+ assert_equal DEFAULT_ENTRY, obj.defaultEntry
73
+ assert_equal DESCRIPTION, obj.description
74
+ assert_equal DESCRIPTION_TAG, obj.descriptions[0].tag
75
+ assert_equal DESCRIPTION_VALUE, obj.descriptions[0].value
76
+ assert_equal ATTRIBUTE_KEY, obj.attributes[0].key
77
+ assert_equal ATTRIBUTE_VALUE, obj.attributes[0].value
78
+ end
79
+
80
+
81
+ def test_from_json
82
+ jsn = generate_json()
83
+ hsh = JSON.parse(jsn)
84
+ actual = Authlete::Model::Scope.new(hsh)
85
+
86
+ match(actual)
87
+ end
88
+
89
+
90
+ def test_setters
91
+ actual = Authlete::Model::Scope.new
92
+ set_params(actual)
93
+
94
+ match(actual)
95
+ end
96
+
97
+
98
+ def test_to_hash
99
+ obj = Authlete::Model::Scope.new
100
+ obj = set_params(obj)
101
+ actual = obj.to_hash
102
+ expected = generate_hash
103
+
104
+ assert_equal expected, actual
105
+ end
106
+ end
@@ -0,0 +1,80 @@
1
+ # :nodoc:
2
+ #
3
+ # Copyright (C) 2014-2020 Authlete, Inc.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+
18
+ require 'authlete'
19
+ require 'json'
20
+ require 'minitest/autorun'
21
+
22
+
23
+ class ServiceOwnerTest < Minitest::Test
24
+ NUMBER = 12345
25
+ NAME = '<name>'
26
+ EMAIL = '<email>'
27
+ LOGIN_ID = '<login-id>'
28
+ API_KEY = '<api-key>'
29
+ API_SECRET = '<api-secret>'
30
+ PLAN = 'FREE'
31
+
32
+
33
+ def generate_json
34
+ return <<~JSON
35
+ {
36
+ "number": 12345,
37
+ "name": "<name>",
38
+ "email": "<email>",
39
+ "loginId": "<login-id>",
40
+ "apiKey": "<api-key>",
41
+ "apiSecret": "<api-secret>",
42
+ "plan": "FREE"
43
+ }
44
+ JSON
45
+ end
46
+
47
+
48
+ def match(obj)
49
+ assert_equal NUMBER, obj.number
50
+ assert_equal NAME, obj.name
51
+ assert_equal EMAIL, obj.email
52
+ assert_equal LOGIN_ID, obj.loginId
53
+ assert_equal API_KEY, obj.apiKey
54
+ assert_equal API_SECRET, obj.apiSecret
55
+ assert_equal PLAN, obj.plan
56
+ end
57
+
58
+
59
+ def test_from_json
60
+ jsn = generate_json
61
+ hsh = JSON.parse(jsn)
62
+ obj = Authlete::Model::ServiceOwner.new(hsh)
63
+
64
+ match(obj)
65
+ end
66
+
67
+
68
+ def test_setters
69
+ actual = Authlete::Model::ServiceOwner.new
70
+ actual.number = NUMBER
71
+ actual.name = NAME
72
+ actual.email = EMAIL
73
+ actual.login_id = LOGIN_ID
74
+ actual.api_key = API_KEY
75
+ actual.api_secret = API_SECRET
76
+ actual.plan = PLAN
77
+
78
+ match(actual)
79
+ end
80
+ end