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,84 @@
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 GrantedScopesGetResponseTest < Minitest::Test
24
+ RESULT_CODE = '<result-code>'
25
+ RESULT_MESSAGE = '<result-message>'
26
+ SERVICE_API_KEY = '<service-api-key>'
27
+ CLIENT_ID = 12345
28
+ SUBJECT = '<subject>'
29
+ LATEST_GRANTED_SCOPES = [ 'latest-granted-scope0' ]
30
+ MERGED_GRANTED_SCOPES = [ 'merged-granted-scope0' ]
31
+ MODIFIED_AT = 1000
32
+
33
+
34
+ def generate_json
35
+ return <<~JSON
36
+ {
37
+ "resultCode": "<result-code>",
38
+ "resultMessage": "<result-message>",
39
+ "serviceApiKey": "<service-api-key>",
40
+ "clientId": 12345,
41
+ "subject": "<subject>",
42
+ "latestGrantedScopes": [ "latest-granted-scope0" ],
43
+ "mergedGrantedScopes": [ "merged-granted-scope0" ],
44
+ "modifiedAt": 1000
45
+ }
46
+ JSON
47
+ end
48
+
49
+
50
+ def match(obj)
51
+ assert_equal RESULT_CODE, obj.resultCode
52
+ assert_equal RESULT_MESSAGE, obj.resultMessage
53
+ assert_equal SERVICE_API_KEY, obj.serviceApiKey
54
+ assert_equal CLIENT_ID, obj.clientId
55
+ assert_equal SUBJECT, obj.subject
56
+ assert_equal LATEST_GRANTED_SCOPES, obj.latestGrantedScopes
57
+ assert_equal MERGED_GRANTED_SCOPES, obj.mergedGrantedScopes
58
+ assert_equal MODIFIED_AT, obj.modifiedAt
59
+ end
60
+
61
+
62
+ def test_from_json
63
+ jsn = generate_json
64
+ hsh = JSON.parse(jsn)
65
+ actual = Authlete::Model::Response::GrantedScopesGetResponse.new(hsh)
66
+
67
+ match(actual)
68
+ end
69
+
70
+
71
+ def test_setters
72
+ actual = Authlete::Model::Response::GrantedScopesGetResponse.new
73
+ actual.result_code = RESULT_CODE
74
+ actual.result_message = RESULT_MESSAGE
75
+ actual.service_api_key = SERVICE_API_KEY
76
+ actual.client_id = CLIENT_ID
77
+ actual.subject = SUBJECT
78
+ actual.latest_granted_scopes = LATEST_GRANTED_SCOPES
79
+ actual.merged_granted_scopes = MERGED_GRANTED_SCOPES
80
+ actual.modified_at = MODIFIED_AT
81
+
82
+ match(actual)
83
+ end
84
+ end
@@ -0,0 +1,127 @@
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 IntrospectionResponseTest < Minitest::Test
24
+ RESULT_CODE = '<result-code>'
25
+ RESULT_MESSAGE = '<result-message>'
26
+ ACTION = 'OK'
27
+ CLIENT_ID = 12345
28
+ CLIENT_ID_ALIAS = '<client-id-alias>'
29
+ CLIENT_ID_ALIAS_USED = false
30
+ EXPIRES_AT = 1000
31
+ SUBJECT = '<subject>'
32
+ SCOPES = [ 'scope0', 'scope1' ]
33
+ EXISTENT = true
34
+ USABLE = true
35
+ SUFFICIENT = true
36
+ REFRESHABLE = true
37
+ RESPONSE_CONTENT = '<response-content>'
38
+ PROPERTY_KEY = '<property0-key>'
39
+ PROPERTY_VALUE = '<property0-value>'
40
+ PROPERTIES = [ Authlete::Model::Property.new(key: PROPERTY_KEY, value: PROPERTY_VALUE) ]
41
+ CERTIFICATE_THUMBPRINT = '<certificate-thumbprint>'
42
+ RESOURCES = [ 'resource0', 'resource1' ]
43
+ ACCESS_TOKEN_RESOURCES = [ 'access-token-resource0', 'access-token-resource1' ]
44
+
45
+
46
+ def generate_json
47
+ return <<~JSON
48
+ {
49
+ "resultCode": "<result-code>",
50
+ "resultMessage": "<result-message>",
51
+ "action": "OK",
52
+ "clientId": 12345,
53
+ "clientIdAlias": "<client-id-alias>",
54
+ "clientIdAliasUsed": false,
55
+ "expiresAt": 1000,
56
+ "subject": "<subject>",
57
+ "scopes": [ "scope0", "scope1" ],
58
+ "existent": true,
59
+ "usable": true,
60
+ "sufficient": true,
61
+ "refreshable": true,
62
+ "responseContent": "<response-content>",
63
+ "properties": [ { "key": "<property0-key>", "value": "<property0-value>" } ],
64
+ "certificateThumbprint" : "<certificate-thumbprint>",
65
+ "resources": [ "resource0", "resource1" ],
66
+ "accessTokenResources": [ "access-token-resource0", "access-token-resource1" ]
67
+ }
68
+ JSON
69
+ end
70
+
71
+
72
+ def match(obj)
73
+ assert_equal RESULT_CODE, obj.resultCode
74
+ assert_equal RESULT_MESSAGE, obj.resultMessage
75
+ assert_equal ACTION, obj.action
76
+ assert_equal CLIENT_ID, obj.clientId
77
+ assert_equal CLIENT_ID_ALIAS, obj.clientIdAlias
78
+ assert_equal CLIENT_ID_ALIAS_USED, obj.clientIdAliasUsed
79
+ assert_equal EXPIRES_AT, obj.expiresAt
80
+ assert_equal SUBJECT, obj.subject
81
+ assert_equal SCOPES, obj.scopes
82
+ assert_equal EXISTENT, obj.existent
83
+ assert_equal USABLE, obj.usable
84
+ assert_equal SUFFICIENT, obj.sufficient
85
+ assert_equal REFRESHABLE, obj.refreshable
86
+ assert_equal RESPONSE_CONTENT, obj.responseContent
87
+ assert_equal PROPERTY_KEY, obj.properties[0].key
88
+ assert_equal PROPERTY_VALUE, obj.properties[0].value
89
+ assert_equal CERTIFICATE_THUMBPRINT, obj.certificateThumbprint
90
+ assert_equal RESOURCES, obj.resources
91
+ assert_equal ACCESS_TOKEN_RESOURCES, obj.accessTokenResources
92
+ end
93
+
94
+
95
+ def test_from_json
96
+ jsn = generate_json
97
+ hsh = JSON.parse(jsn)
98
+ actual = Authlete::Model::Response::IntrospectionResponse.new(hsh)
99
+
100
+ match(actual)
101
+ end
102
+
103
+
104
+ def test_setters
105
+ actual = Authlete::Model::Response::IntrospectionResponse.new
106
+ actual.result_code = RESULT_CODE
107
+ actual.result_message = RESULT_MESSAGE
108
+ actual.action = ACTION
109
+ actual.client_id = CLIENT_ID
110
+ actual.client_id_alias = CLIENT_ID_ALIAS
111
+ actual.client_id_alias_used = CLIENT_ID_ALIAS_USED
112
+ actual.expires_at = EXPIRES_AT
113
+ actual.subject = SUBJECT
114
+ actual.scopes = SCOPES
115
+ actual.existent = EXISTENT
116
+ actual.usable = USABLE
117
+ actual.sufficient = SUFFICIENT
118
+ actual.refreshable = REFRESHABLE
119
+ actual.response_content = RESPONSE_CONTENT
120
+ actual.properties = PROPERTIES
121
+ actual.certificate_thumbprint = CERTIFICATE_THUMBPRINT
122
+ actual.resources = RESOURCES
123
+ actual.access_token_resources = ACCESS_TOKEN_RESOURCES
124
+
125
+ match(actual)
126
+ end
127
+ end
@@ -0,0 +1,76 @@
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 PushedAuthReqResponseTest < Minitest::Test
24
+ RESULT_CODE = '<result-code>'
25
+ RESULT_MESSAGE = '<result-message>'
26
+ ACTION = 'OK'
27
+ RESPONSE_CONTENT = '<response-content>'
28
+ CLIENT_AUTH_METHOD = 'BASIC'
29
+ REQUEST_URI = '<request-uri>'
30
+
31
+
32
+ def generate_json
33
+ return <<~JSON
34
+ {
35
+ "resultCode": "<result-code>",
36
+ "resultMessage": "<result-message>",
37
+ "action": "OK",
38
+ "responseContent": "<response-content>",
39
+ "clientAuthMethod": "BASIC",
40
+ "requestUri": "<request-uri>"
41
+ }
42
+ JSON
43
+ end
44
+
45
+
46
+ def match(obj)
47
+ assert_equal RESULT_CODE, obj.resultCode
48
+ assert_equal RESULT_MESSAGE, obj.resultMessage
49
+ assert_equal ACTION, obj.action
50
+ assert_equal RESPONSE_CONTENT, obj.responseContent
51
+ assert_equal CLIENT_AUTH_METHOD, obj.clientAuthMethod
52
+ assert_equal REQUEST_URI, obj.requestUri
53
+ end
54
+
55
+
56
+ def test_from_json
57
+ jsn = generate_json
58
+ hsh = JSON.parse(jsn)
59
+ actual = Authlete::Model::Response::PushedAuthReqResponse.new(hsh)
60
+
61
+ match(actual)
62
+ end
63
+
64
+
65
+ def test_setters
66
+ actual = Authlete::Model::Response::PushedAuthReqResponse.new
67
+ actual.result_code = RESULT_CODE
68
+ actual.result_message = RESULT_MESSAGE
69
+ actual.action = ACTION
70
+ actual.response_content = RESPONSE_CONTENT
71
+ actual.client_auth_method = CLIENT_AUTH_METHOD
72
+ actual.request_uri = REQUEST_URI
73
+
74
+ match(actual)
75
+ end
76
+ 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 RevocationResponseTest < Minitest::Test
24
+ RESULT_CODE = '<result-code>'
25
+ RESULT_MESSAGE = '<result-message>'
26
+ ACTION = 'OK'
27
+ RESPONSE_CONTENT = '<response-content>'
28
+
29
+
30
+ def generate_json
31
+ return <<~JSON
32
+ {
33
+ "resultCode": "<result-code>",
34
+ "resultMessage": "<result-message>",
35
+ "action": "OK",
36
+ "responseContent": "<response-content>"
37
+ }
38
+ JSON
39
+ end
40
+
41
+
42
+ def match(obj)
43
+ assert_equal RESULT_CODE, obj.resultCode
44
+ assert_equal RESULT_MESSAGE, obj.resultMessage
45
+ assert_equal ACTION, obj.action
46
+ assert_equal RESPONSE_CONTENT, obj.responseContent
47
+ end
48
+
49
+
50
+ def test_from_json
51
+ jsn = generate_json
52
+ hsh = JSON.parse(jsn)
53
+ actual = Authlete::Model::Response::RevocationResponse.new(hsh)
54
+
55
+ match(actual)
56
+ end
57
+
58
+
59
+ def test_setters
60
+ actual = Authlete::Model::Response::RevocationResponse.new
61
+ actual.result_code = RESULT_CODE
62
+ actual.result_message = RESULT_MESSAGE
63
+ actual.action = ACTION
64
+ actual.response_content = RESPONSE_CONTENT
65
+
66
+ match(actual)
67
+ end
68
+ end
@@ -0,0 +1,72 @@
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 ServiceListResponseTest < Minitest::Test
24
+ START_PARAM = 0
25
+ END_PARAM = 2
26
+ TOTAL_COUNT = 2
27
+ SERVICE0_NAME = 'service0'
28
+ SERVICE1_NAME = 'service1'
29
+ SERVICES = [ Authlete::Model::Service.new(serviceName: SERVICE0_NAME),
30
+ Authlete::Model::Service.new(serviceName: SERVICE1_NAME) ]
31
+
32
+
33
+ def generate_json
34
+ return <<~JSON
35
+ {
36
+ "start": 0,
37
+ "end": 2,
38
+ "totalCount": 2,
39
+ "services": [ { "serviceName": "service0" }, { "serviceName": "service1" } ]
40
+ }
41
+ JSON
42
+ end
43
+
44
+
45
+ def match(obj)
46
+ assert_equal START_PARAM, obj.start
47
+ assert_equal END_PARAM, obj.end
48
+ assert_equal TOTAL_COUNT, obj.totalCount
49
+ assert_equal SERVICE0_NAME, obj.services[0].serviceName
50
+ assert_equal SERVICE1_NAME, obj.services[1].serviceName
51
+ end
52
+
53
+
54
+ def test_from_json
55
+ jsn = generate_json
56
+ hsh = JSON.parse(jsn)
57
+ actual = Authlete::Model::Response::ServiceListResponse.new(hsh)
58
+
59
+ match(actual)
60
+ end
61
+
62
+
63
+ def test_setters
64
+ actual = Authlete::Model::Response::ServiceListResponse.new
65
+ actual.start = START_PARAM
66
+ actual.end = END_PARAM
67
+ actual.total_count = TOTAL_COUNT
68
+ actual.services = SERVICES
69
+
70
+ match(actual)
71
+ end
72
+ 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 StandardIntrospectionResponseTest < Minitest::Test
24
+ RESULT_CODE = '<result-code>'
25
+ RESULT_MESSAGE = '<result-message>'
26
+ ACTION = 'OK'
27
+ RESPONSE_CONTENT = '<response-content>'
28
+
29
+
30
+ def generate_json
31
+ return <<~JSON
32
+ {
33
+ "resultCode": "<result-code>",
34
+ "resultMessage": "<result-message>",
35
+ "action": "OK",
36
+ "responseContent": "<response-content>"
37
+ }
38
+ JSON
39
+ end
40
+
41
+
42
+ def match(obj)
43
+ assert_equal RESULT_CODE, obj.resultCode
44
+ assert_equal RESULT_MESSAGE, obj.resultMessage
45
+ assert_equal ACTION, obj.action
46
+ assert_equal RESPONSE_CONTENT, obj.responseContent
47
+ end
48
+
49
+
50
+ def test_from_json
51
+ jsn = generate_json
52
+ hsh = JSON.parse(jsn)
53
+ actual = Authlete::Model::Response::StandardIntrospectionResponse.new(hsh)
54
+
55
+ match(actual)
56
+ end
57
+
58
+
59
+ def test_setters
60
+ actual = Authlete::Model::Response::StandardIntrospectionResponse.new
61
+ actual.result_code = RESULT_CODE
62
+ actual.result_message = RESULT_MESSAGE
63
+ actual.action = ACTION
64
+ actual.response_content = RESPONSE_CONTENT
65
+
66
+ match(actual)
67
+ end
68
+ end