authlete 1.0.21 → 1.2.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 (161) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -1
  3. data/Makefile +40 -0
  4. data/README.md +20 -20
  5. data/Rakefile +5 -0
  6. data/authlete.gemspec +2 -2
  7. data/lib/authlete.rb +28 -9
  8. data/lib/authlete/api.rb +153 -322
  9. data/lib/authlete/authentication-server.rb +230 -230
  10. data/lib/authlete/exception.rb +14 -15
  11. data/lib/authlete/model/base.rb +30 -0
  12. data/lib/authlete/model/client-extension.rb +17 -119
  13. data/lib/authlete/model/client.rb +203 -338
  14. data/lib/authlete/model/hashable.rb +13 -33
  15. data/lib/authlete/model/named-uri.rb +13 -74
  16. data/lib/authlete/model/pair.rb +13 -74
  17. data/lib/authlete/model/param-initializer.rb +45 -0
  18. data/lib/authlete/model/property.rb +15 -85
  19. data/lib/authlete/model/request/authentication-callback-request.rb +63 -55
  20. data/lib/authlete/model/request/authorization-fail-request.rb +14 -75
  21. data/lib/authlete/model/request/authorization-issue-request.rb +38 -119
  22. data/lib/authlete/model/request/authorization-request.rb +8 -73
  23. data/lib/authlete/model/request/backchannel-authentication-complete-request.rb +97 -0
  24. data/lib/authlete/model/request/backchannel-authentication-fail-request.rb +55 -0
  25. data/lib/authlete/model/request/backchannel-authentication-issue-request.rb +37 -0
  26. data/lib/authlete/model/request/backchannel-authentication-request.rb +63 -0
  27. data/lib/authlete/model/request/base.rb +26 -0
  28. data/lib/authlete/model/request/client-authorization-delete-request.rb +7 -93
  29. data/lib/authlete/model/request/client-authorization-get-list-request.rb +17 -89
  30. data/lib/authlete/model/request/client-authorization-update-request.rb +11 -86
  31. data/lib/authlete/model/request/client-registration-request.rb +49 -0
  32. data/lib/authlete/model/request/client-secret-update-request.rb +7 -89
  33. data/lib/authlete/model/request/developer-authentication-callback-request.rb +40 -43
  34. data/lib/authlete/model/request/device-authorization-request.rb +63 -0
  35. data/lib/authlete/model/request/device-complete-request.rb +99 -0
  36. data/lib/authlete/model/request/device-verification-request.rb +40 -0
  37. data/lib/authlete/model/request/granted-scopes-request.rb +8 -74
  38. data/lib/authlete/model/request/introspection-request.rb +24 -83
  39. data/lib/authlete/model/request/pushed-auth-req-request.rb +64 -0
  40. data/lib/authlete/model/request/revocation-request.rb +14 -88
  41. data/lib/authlete/model/request/standard-introspection-request.rb +8 -73
  42. data/lib/authlete/model/request/token-create-request.rb +52 -183
  43. data/lib/authlete/model/request/token-fail-request.rb +12 -74
  44. data/lib/authlete/model/request/token-issue-request.rb +22 -80
  45. data/lib/authlete/model/request/token-request.rb +44 -81
  46. data/lib/authlete/model/request/token-update-request.rb +35 -121
  47. data/lib/authlete/model/request/user-info-issue-request.rb +14 -80
  48. data/lib/authlete/model/request/user-info-request.rb +25 -70
  49. data/lib/authlete/model/response/access-token.rb +96 -0
  50. data/lib/authlete/model/response/authentication-callback-response.rb +24 -19
  51. data/lib/authlete/model/response/authorization-fail-response.rb +13 -15
  52. data/lib/authlete/model/response/authorization-issue-response.rb +29 -32
  53. data/lib/authlete/model/response/authorization-response.rb +97 -123
  54. data/lib/authlete/model/response/authorized-client-list-response.rb +37 -0
  55. data/lib/authlete/model/response/backchannel-authentication-complete-response.rb +143 -0
  56. data/lib/authlete/model/response/backchannel-authentication-fail-response.rb +47 -0
  57. data/lib/authlete/model/response/backchannel-authentication-issue-response.rb +63 -0
  58. data/lib/authlete/model/response/backchannel-authentication-response.rb +160 -0
  59. data/lib/authlete/model/response/client-list-response.rb +58 -0
  60. data/lib/authlete/model/response/client-registration-response.rb +50 -0
  61. data/lib/authlete/model/response/client-secret-refresh-response.rb +12 -12
  62. data/lib/authlete/model/response/client-secret-update-response.rb +12 -12
  63. data/lib/authlete/model/response/developer-authentication-callback-response.rb +24 -19
  64. data/lib/authlete/model/response/device-authorization-response.rb +134 -0
  65. data/lib/authlete/model/response/device-complete-response.rb +39 -0
  66. data/lib/authlete/model/response/device-verification-response.rb +96 -0
  67. data/lib/authlete/model/response/granted-scopes-get-response.rb +27 -19
  68. data/lib/authlete/model/response/introspection-response.rb +64 -58
  69. data/lib/authlete/model/response/pushed-auth-req-response.rb +59 -0
  70. data/lib/authlete/model/response/revocation-response.rb +12 -15
  71. data/lib/authlete/model/response/service-list-response.rb +54 -0
  72. data/lib/authlete/model/response/standard-introspection-response.rb +13 -15
  73. data/lib/authlete/model/response/token-create-response.rb +50 -55
  74. data/lib/authlete/model/response/token-fail-response.rb +14 -17
  75. data/lib/authlete/model/response/token-issue-response.rb +49 -62
  76. data/lib/authlete/model/response/token-list-response.rb +64 -0
  77. data/lib/authlete/model/response/token-response.rb +59 -79
  78. data/lib/authlete/model/response/token-update-response.rb +28 -23
  79. data/lib/authlete/model/response/user-info-issue-response.rb +16 -16
  80. data/lib/authlete/model/response/user-info-response.rb +48 -42
  81. data/lib/authlete/model/result.rb +14 -13
  82. data/lib/authlete/model/scope.rb +68 -158
  83. data/lib/authlete/model/service-owner.rb +32 -116
  84. data/lib/authlete/model/service.rb +672 -837
  85. data/lib/authlete/model/sns-credentials.rb +51 -124
  86. data/lib/authlete/model/tagged-value.rb +14 -69
  87. data/lib/authlete/utility.rb +70 -99
  88. data/lib/authlete/version.rb +3 -3
  89. data/test/authlete/model/request/test_authentication-callback-request.rb +100 -0
  90. data/test/authlete/model/request/test_authorization-fail-request.rb +67 -0
  91. data/test/authlete/model/request/test_authorization-issue-request.rb +94 -0
  92. data/test/authlete/model/request/test_authorization-request.rb +57 -0
  93. data/test/authlete/model/request/test_backchannel-authentication-complete-request.rb +102 -0
  94. data/test/authlete/model/request/test_backchannel-authentication-fail-request.rb +71 -0
  95. data/test/authlete/model/request/test_backchannel-authentication-issue-request.rb +57 -0
  96. data/test/authlete/model/request/test_backchannel-authentication-request.rb +75 -0
  97. data/test/authlete/model/request/test_client-authorization-delete-request.rb +57 -0
  98. data/test/authlete/model/request/test_client-authorization-get-list-request.rb +71 -0
  99. data/test/authlete/model/request/test_client-authorization-update-request.rb +63 -0
  100. data/test/authlete/model/request/test_client-registration-request.rb +68 -0
  101. data/test/authlete/model/request/test_device-authorization-request.rb +75 -0
  102. data/test/authlete/model/request/test_device-complete-request.rb +102 -0
  103. data/test/authlete/model/request/test_device-verification-request.rb +57 -0
  104. data/test/authlete/model/request/test_granted-scopes-request.rb +57 -0
  105. data/test/authlete/model/request/test_introspection-request.rb +79 -0
  106. data/test/authlete/model/request/test_pushed-auth-req-request.rb +75 -0
  107. data/test/authlete/model/request/test_revocation-request.rb +67 -0
  108. data/test/authlete/model/request/test_standard-introspection-request.rb +57 -0
  109. data/test/authlete/model/request/test_token-create-request.rb +110 -0
  110. data/test/authlete/model/request/test_token-fail-request.rb +63 -0
  111. data/test/authlete/model/request/test_token-issue-request.rb +70 -0
  112. data/test/authlete/model/request/test_token-request.rb +94 -0
  113. data/test/authlete/model/request/test_token-update-request.rb +82 -0
  114. data/test/authlete/model/request/test_user-info-issue-request.rb +67 -0
  115. data/test/authlete/model/request/test_user-info-request.rb +75 -0
  116. data/test/authlete/model/response/test_access-token.rb +101 -0
  117. data/test/authlete/model/response/test_authorization-fail-response.rb +68 -0
  118. data/test/authlete/model/response/test_authorization-issue-response.rb +92 -0
  119. data/test/authlete/model/response/test_authorization-response.rb +145 -0
  120. data/test/authlete/model/response/test_authorized-client-list-response.rb +83 -0
  121. data/test/authlete/model/response/test_backchannel-authentication-complete-response.rb +132 -0
  122. data/test/authlete/model/response/test_backchannel-authentication-fail-response.rb +68 -0
  123. data/test/authlete/model/response/test_backchannel-authentication-issue-response.rb +80 -0
  124. data/test/authlete/model/response/test_backchannel-authentication-response.rb +156 -0
  125. data/test/authlete/model/response/test_client-list-response.rb +79 -0
  126. data/test/authlete/model/response/test_client-secret-refresh-response.rb +68 -0
  127. data/test/authlete/model/response/test_client-secret-update-response.rb +68 -0
  128. data/test/authlete/model/response/test_device-authorization-response.rb +140 -0
  129. data/test/authlete/model/response/test_device-complete-response.rb +64 -0
  130. data/test/authlete/model/response/test_device-verification-response.rb +112 -0
  131. data/test/authlete/model/response/test_granted-scopes-get-response.rb +84 -0
  132. data/test/authlete/model/response/test_introspection-response.rb +127 -0
  133. data/test/authlete/model/response/test_pushed-auth-req-response.rb +76 -0
  134. data/test/authlete/model/response/test_revocation-response.rb +68 -0
  135. data/test/authlete/model/response/test_service-list-response.rb +72 -0
  136. data/test/authlete/model/response/test_standard-introspection-response.rb +68 -0
  137. data/test/authlete/model/response/test_token-create-response.rb +107 -0
  138. data/test/authlete/model/response/test_token-fail-response.rb +68 -0
  139. data/test/authlete/model/response/test_token-issue-response.rb +127 -0
  140. data/test/authlete/model/response/test_token-list-response.rb +84 -0
  141. data/test/authlete/model/response/test_token-response.rb +147 -0
  142. data/test/authlete/model/response/test_token-update-response.rb +87 -0
  143. data/test/authlete/model/response/test_user-info-issue-response.rb +68 -0
  144. data/test/authlete/model/response/test_user-info-response.rb +107 -0
  145. data/test/authlete/model/test_client-extension.rb +95 -0
  146. data/test/authlete/model/test_client.rb +461 -0
  147. data/test/authlete/model/test_named-uri.rb +85 -0
  148. data/test/authlete/model/test_pair.rb +85 -0
  149. data/test/authlete/model/test_property.rb +90 -0
  150. data/test/authlete/model/test_result.rb +68 -0
  151. data/test/authlete/model/test_scope.rb +106 -0
  152. data/test/authlete/model/test_service-owner.rb +80 -0
  153. data/test/authlete/model/test_service.rb +624 -0
  154. data/test/authlete/model/test_sns-credentials.rb +88 -0
  155. data/test/authlete/model/test_tagged-value.rb +83 -0
  156. data/test/authlete/test_exception.rb +70 -0
  157. metadata +173 -13
  158. data/lib/authlete/model/client-list.rb +0 -129
  159. data/lib/authlete/model/response/client-authorization-get-list-response.rb +0 -60
  160. data/lib/authlete/model/response/service-creatable-response.rb +0 -51
  161. data/lib/authlete/model/service-list.rb +0 -128
@@ -0,0 +1,110 @@
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 'minitest/autorun'
20
+
21
+
22
+ class TokenCreateRequestTest < Minitest::Test
23
+ GRANT_TYPE = 'AUTHORIZATION_CODE'
24
+ CLIENT_ID = 12345
25
+ SUBJECT = '<subject>'
26
+ SCOPES = [ 'scope0', 'scope1' ]
27
+ ACCESS_TOKEN_DURATION = 10000
28
+ REFRESH_TOKEN_DURATION = 10000
29
+ PROPERTY_KEY = '<property0-key>'
30
+ PROPERTY_VALUE = '<property0-value>'
31
+ PROPERTIES = [ Authlete::Model::Property.new(key: PROPERTY_KEY, value: PROPERTY_VALUE) ]
32
+ CLIENT_ID_ALIAS = true
33
+ ACCESS_TOKEN = '<access-token>'
34
+ REFRESH_TOKEN = '<refresh-token>'
35
+ ACCESS_TOKEN_PERSISTENT = false
36
+ CERTIFICATE_THUMBPRINT = '<certificate-thumbprint>'
37
+ DPOP_KEY_THUMBPRINT = '<dpop-key-thumbprint>'
38
+
39
+
40
+ def set_params(obj)
41
+ obj.grant_type = GRANT_TYPE
42
+ obj.client_id = CLIENT_ID
43
+ obj.subject = SUBJECT
44
+ obj.scopes = SCOPES
45
+ obj.access_token_duration = ACCESS_TOKEN_DURATION
46
+ obj.refresh_token_duration = REFRESH_TOKEN_DURATION
47
+ obj.properties = PROPERTIES
48
+ obj.client_id_alias = CLIENT_ID_ALIAS
49
+ obj.access_token = ACCESS_TOKEN
50
+ obj.refresh_token = REFRESH_TOKEN
51
+ obj.access_token_persistent = ACCESS_TOKEN_PERSISTENT
52
+ obj.certificate_thumbprint = CERTIFICATE_THUMBPRINT
53
+ obj.dpop_key_thumbprint = DPOP_KEY_THUMBPRINT
54
+ end
55
+
56
+
57
+ def match(obj)
58
+ assert_equal GRANT_TYPE, obj.grantType
59
+ assert_equal CLIENT_ID, obj.clientId
60
+ assert_equal SUBJECT, obj.subject
61
+ assert_equal SCOPES, obj.scopes
62
+ assert_equal ACCESS_TOKEN_DURATION, obj.accessTokenDuration
63
+ assert_equal REFRESH_TOKEN_DURATION, obj.refreshTokenDuration
64
+ assert_equal PROPERTY_KEY, obj.properties[0].key
65
+ assert_equal PROPERTY_VALUE, obj.properties[0].value
66
+ assert_equal CLIENT_ID_ALIAS, obj.clientIdAlias
67
+ assert_equal ACCESS_TOKEN, obj.accessToken
68
+ assert_equal REFRESH_TOKEN, obj.refreshToken
69
+ assert_equal ACCESS_TOKEN_PERSISTENT, obj.accessTokenPersistent
70
+ assert_equal CERTIFICATE_THUMBPRINT, obj.certificateThumbprint
71
+ assert_equal DPOP_KEY_THUMBPRINT, obj.dpopKeyThumbprint
72
+ end
73
+
74
+
75
+ def generate_hash
76
+ {
77
+ grantType: 'AUTHORIZATION_CODE',
78
+ clientId: 12345,
79
+ subject: '<subject>',
80
+ scopes: [ 'scope0', 'scope1' ],
81
+ accessTokenDuration: 10000,
82
+ refreshTokenDuration: 10000,
83
+ properties: [ { key: '<property0-key>', value: '<property0-value>', hidden: false } ],
84
+ clientIdAlias: true,
85
+ accessToken: '<access-token>',
86
+ refreshToken: '<refresh-token>',
87
+ accessTokenPersistent: false,
88
+ certificateThumbprint: '<certificate-thumbprint>',
89
+ dpopKeyThumbprint: '<dpop-key-thumbprint>'
90
+ }
91
+ end
92
+
93
+
94
+ def test_setters
95
+ actual = Authlete::Model::Request::TokenCreateRequest.new
96
+ set_params(actual)
97
+
98
+ match(actual)
99
+ end
100
+
101
+
102
+ def test_to_hash
103
+ obj = Authlete::Model::Request::TokenCreateRequest.new
104
+ set_params(obj)
105
+ actual = obj.to_hash
106
+ expected = generate_hash
107
+
108
+ assert_equal expected, actual
109
+ end
110
+ end
@@ -0,0 +1,63 @@
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 'minitest/autorun'
20
+
21
+
22
+ class TokenFailRequestTest < Minitest::Test
23
+ TICKET = '<ticket>'
24
+ REASON = 'UNKNOWN'
25
+
26
+
27
+ def set_params(obj)
28
+ obj.ticket = TICKET
29
+ obj.reason = REASON
30
+ end
31
+
32
+
33
+ def match(obj)
34
+ assert_equal TICKET, obj.ticket
35
+ assert_equal REASON, obj.reason
36
+ end
37
+
38
+
39
+ def generate_hash
40
+ {
41
+ ticket: '<ticket>',
42
+ reason: 'UNKNOWN'
43
+ }
44
+ end
45
+
46
+
47
+ def test_setters
48
+ actual = Authlete::Model::Request::TokenFailRequest.new
49
+ set_params(actual)
50
+
51
+ match(actual)
52
+ end
53
+
54
+
55
+ def test_to_hash
56
+ obj = Authlete::Model::Request::TokenFailRequest.new
57
+ set_params(obj)
58
+ actual = obj.to_hash
59
+ expected = generate_hash
60
+
61
+ assert_equal expected, actual
62
+ end
63
+ end
@@ -0,0 +1,70 @@
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 'minitest/autorun'
20
+
21
+
22
+ class TokenIssueRequestTest < Minitest::Test
23
+ TICKET = '<ticket>'
24
+ SUBJECT = '<subject>'
25
+ PROPERTY_KEY = '<property0-key>'
26
+ PROPERTY_VALUE = '<property0-value>'
27
+ PROPERTIES = [ Authlete::Model::Property.new(key: PROPERTY_KEY, value: PROPERTY_VALUE) ]
28
+
29
+
30
+ def set_params(obj)
31
+ obj.ticket = TICKET
32
+ obj.subject = SUBJECT
33
+ obj.properties = PROPERTIES
34
+ end
35
+
36
+
37
+ def match(obj)
38
+ assert_equal TICKET, obj.ticket
39
+ assert_equal SUBJECT, obj.subject
40
+ assert_equal PROPERTY_KEY, obj.properties[0].key
41
+ assert_equal PROPERTY_VALUE, obj.properties[0].value
42
+ end
43
+
44
+
45
+ def generate_hash
46
+ {
47
+ ticket: '<ticket>',
48
+ subject: '<subject>',
49
+ properties: [ { key: '<property0-key>', value: '<property0-value>', hidden: false } ],
50
+ }
51
+ end
52
+
53
+
54
+ def test_setters
55
+ actual = Authlete::Model::Request::TokenIssueRequest.new
56
+ set_params(actual)
57
+
58
+ match(actual)
59
+ end
60
+
61
+
62
+ def test_to_hash
63
+ obj = Authlete::Model::Request::TokenIssueRequest.new
64
+ set_params(obj)
65
+ actual = obj.to_hash
66
+ expected = generate_hash
67
+
68
+ assert_equal expected, actual
69
+ end
70
+ end
@@ -0,0 +1,94 @@
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 'minitest/autorun'
20
+
21
+
22
+ class TokenRequestTest < Minitest::Test
23
+ PARAMETERS = '<parameters>'
24
+ CLIENT_ID = '<client-id>'
25
+ CLIENT_SECRET = '<client-secret>'
26
+ PROPERTY_KEY = '<property0-key>'
27
+ PROPERTY_VALUE = '<property0-value>'
28
+ PROPERTIES = [ Authlete::Model::Property.new(key: PROPERTY_KEY, value: PROPERTY_VALUE) ]
29
+ CLIENT_CERTIFICATE = '<client-certificate>'
30
+ CLIENT_CERTIFICATE_PATH = [ 'path0', 'path1' ]
31
+ DPOP = '<dpop>'
32
+ HTU = '<htu>'
33
+ HTM = '<htm>'
34
+
35
+
36
+ def set_params(obj)
37
+ obj.parameters = PARAMETERS
38
+ obj.client_id = CLIENT_ID
39
+ obj.client_secret = CLIENT_SECRET
40
+ obj.properties = PROPERTIES
41
+ obj.client_certificate = CLIENT_CERTIFICATE
42
+ obj.client_certificate_path = CLIENT_CERTIFICATE_PATH
43
+ obj.dpop = DPOP
44
+ obj.htu = HTU
45
+ obj.htm = HTM
46
+ end
47
+
48
+
49
+ def match(obj)
50
+ assert_equal PARAMETERS, obj.parameters
51
+ assert_equal CLIENT_ID, obj.clientId
52
+ assert_equal CLIENT_SECRET, obj.clientSecret
53
+ assert_equal PROPERTY_KEY, obj.properties[0].key
54
+ assert_equal PROPERTY_VALUE, obj.properties[0].value
55
+ assert_equal CLIENT_CERTIFICATE, obj.clientCertificate
56
+ assert_equal CLIENT_CERTIFICATE_PATH, obj.clientCertificatePath
57
+ assert_equal DPOP, obj.dpop
58
+ assert_equal HTU, obj.htu
59
+ assert_equal HTM, obj.htm
60
+ end
61
+
62
+
63
+ def generate_hash
64
+ {
65
+ parameters: '<parameters>',
66
+ clientId: '<client-id>',
67
+ clientSecret: '<client-secret>',
68
+ properties: [ { key: '<property0-key>', value: '<property0-value>', hidden: false } ],
69
+ clientCertificate: '<client-certificate>',
70
+ clientCertificatePath: [ 'path0', 'path1' ],
71
+ dpop: '<dpop>',
72
+ htu: '<htu>',
73
+ htm: '<htm>'
74
+ }
75
+ end
76
+
77
+
78
+ def test_setters
79
+ actual = Authlete::Model::Request::TokenRequest.new
80
+ set_params(actual)
81
+
82
+ match(actual)
83
+ end
84
+
85
+
86
+ def test_to_hash
87
+ obj = Authlete::Model::Request::TokenRequest.new
88
+ set_params(obj)
89
+ actual = obj.to_hash
90
+ expected = generate_hash
91
+
92
+ assert_equal expected, actual
93
+ end
94
+ end
@@ -0,0 +1,82 @@
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 'minitest/autorun'
20
+
21
+
22
+ class TokenUpdateRequestTest < Minitest::Test
23
+ ACCESS_TOKEN = '<access-token>'
24
+ ACCESS_TOKEN_EXPIRES_AT = 1000
25
+ SCOPES = [ 'scope0', 'scope1' ]
26
+ PROPERTY_KEY = '<property0-key>'
27
+ PROPERTY_VALUE = '<property0-value>'
28
+ PROPERTIES = [ Authlete::Model::Property.new(key: PROPERTY_KEY, value: PROPERTY_VALUE) ]
29
+ CERTIFICATE_THUMBPRINT = '<certificate-thumbprint>'
30
+ DPOP_KEY_THUMBPRINT = '<dpop-key-thumbprint>'
31
+
32
+
33
+ def set_params(obj)
34
+ obj.access_token = ACCESS_TOKEN
35
+ obj.access_token_expires_at = ACCESS_TOKEN_EXPIRES_AT
36
+ obj.scopes = SCOPES
37
+ obj.properties = PROPERTIES
38
+ obj.certificate_thumbprint = CERTIFICATE_THUMBPRINT
39
+ obj.dpop_key_thumbprint = DPOP_KEY_THUMBPRINT
40
+ end
41
+
42
+
43
+ def match(obj)
44
+ assert_equal ACCESS_TOKEN, obj.accessToken
45
+ assert_equal ACCESS_TOKEN_EXPIRES_AT, obj.accessTokenExpiresAt
46
+ assert_equal SCOPES, obj.scopes
47
+ assert_equal PROPERTY_KEY, obj.properties[0].key
48
+ assert_equal PROPERTY_VALUE, obj.properties[0].value
49
+ assert_equal CERTIFICATE_THUMBPRINT, obj.certificateThumbprint
50
+ assert_equal DPOP_KEY_THUMBPRINT, obj.dpopKeyThumbprint
51
+ end
52
+
53
+
54
+ def generate_hash
55
+ {
56
+ accessToken: '<access-token>',
57
+ accessTokenExpiresAt: 1000,
58
+ scopes: [ 'scope0', 'scope1' ],
59
+ properties: [ { key: '<property0-key>', value: '<property0-value>', hidden: false } ],
60
+ certificateThumbprint: '<certificate-thumbprint>',
61
+ dpopKeyThumbprint: '<dpop-key-thumbprint>'
62
+ }
63
+ end
64
+
65
+
66
+ def test_setters
67
+ actual = Authlete::Model::Request::TokenUpdateRequest.new
68
+ set_params(actual)
69
+
70
+ match(actual)
71
+ end
72
+
73
+
74
+ def test_to_hash
75
+ obj = Authlete::Model::Request::TokenUpdateRequest.new
76
+ set_params(obj)
77
+ actual = obj.to_hash
78
+ expected = generate_hash
79
+
80
+ assert_equal expected, actual
81
+ end
82
+ end
@@ -0,0 +1,67 @@
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 'minitest/autorun'
20
+
21
+
22
+ class UserInfoIssueRequestTest < Minitest::Test
23
+ TOKEN = '<token>'
24
+ CLAIMS = [ 'claim0', 'claim1' ]
25
+ SUB = '<sub>'
26
+
27
+
28
+ def set_params(obj)
29
+ obj.token = TOKEN
30
+ obj.claims = CLAIMS
31
+ obj.sub = SUB
32
+ end
33
+
34
+
35
+ def match(obj)
36
+ assert_equal TOKEN, obj.token
37
+ assert_equal CLAIMS, obj.claims
38
+ assert_equal SUB, obj.sub
39
+ end
40
+
41
+
42
+ def generate_hash
43
+ {
44
+ token: '<token>',
45
+ claims: [ 'claim0', 'claim1' ],
46
+ sub: '<sub>'
47
+ }
48
+ end
49
+
50
+
51
+ def test_setters
52
+ actual = Authlete::Model::Request::UserInfoIssueRequest.new
53
+ set_params(actual)
54
+
55
+ match(actual)
56
+ end
57
+
58
+
59
+ def test_to_hash
60
+ obj = Authlete::Model::Request::UserInfoIssueRequest.new
61
+ set_params(obj)
62
+ actual = obj.to_hash
63
+ expected = generate_hash
64
+
65
+ assert_equal expected, actual
66
+ end
67
+ end