@@ -22,13 +22,10 @@ import io.element.android.libraries.matrix.api.permalink.PermalinkData
22
22
import io.element.android.libraries.matrix.test.A_ROOM_ID
23
23
import io.element.android.libraries.matrix.test.A_SESSION_ID
24
24
import io.element.android.libraries.matrix.test.A_THREAD_ID
25
- import io.element.android.libraries.matrix.test.auth.FakeOidcRedirectUrlProvider
26
25
import io.element.android.libraries.matrix.test.permalink.FakePermalinkParser
27
26
import io.element.android.libraries.oidc.api.OidcAction
28
- import io.element.android.libraries.oidc.impl.DefaultOidcIntentResolver
29
- import io.element.android.libraries.oidc.impl.DefaultOidcUrlParser
27
+ import io.element.android.libraries.oidc.test.FakeOidcIntentResolver
30
28
import io.element.android.tests.testutils.lambda.lambdaError
31
- import org.junit.Assert.assertThrows
32
29
import org.junit.Test
33
30
import org.junit.runner.RunWith
34
31
import org.robolectric.RobolectricTestRunner
@@ -118,8 +115,10 @@ class IntentResolverTest {
118
115
}
119
116
120
117
@Test
121
- fun `test resolve oidc go back` () {
122
- val sut = createIntentResolver()
118
+ fun `test resolve oidc` () {
119
+ val sut = createIntentResolver(
120
+ oidcIntentResolverResult = { OidcAction .GoBack },
121
+ )
123
122
val intent = Intent (RuntimeEnvironment .getApplication(), Activity ::class .java).apply {
124
123
action = Intent .ACTION_VIEW
125
124
data = " io.element.android:/?error=access_denied&state=IFF1UETGye2ZA8pO" .toUri()
@@ -132,43 +131,15 @@ class IntentResolverTest {
132
131
)
133
132
}
134
133
135
- @Test
136
- fun `test resolve oidc success` () {
137
- val sut = createIntentResolver()
138
- val intent = Intent (RuntimeEnvironment .getApplication(), Activity ::class .java).apply {
139
- action = Intent .ACTION_VIEW
140
- data = " io.element.android:/?state=IFF1UETGye2ZA8pO&code=y6X1GZeqA3xxOWcTeShgv8nkgFJXyzWB" .toUri()
141
- }
142
- val result = sut.resolve(intent)
143
- assertThat(result).isEqualTo(
144
- ResolvedIntent .Oidc (
145
- oidcAction = OidcAction .Success (
146
- url = " io.element.android:/?state=IFF1UETGye2ZA8pO&code=y6X1GZeqA3xxOWcTeShgv8nkgFJXyzWB"
147
- )
148
- )
149
- )
150
- }
151
-
152
- @Test
153
- fun `test resolve oidc invalid` () {
154
- val sut = createIntentResolver()
155
- val intent = Intent (RuntimeEnvironment .getApplication(), Activity ::class .java).apply {
156
- action = Intent .ACTION_VIEW
157
- data = " io.element.android:/invalid" .toUri()
158
- }
159
- assertThrows(IllegalStateException ::class .java) {
160
- sut.resolve(intent)
161
- }
162
- }
163
-
164
134
@Test
165
135
fun `test resolve external permalink` () {
166
136
val permalinkData = PermalinkData .UserLink (
167
137
userId = UserId (" @alice:matrix.org" )
168
138
)
169
139
val sut = createIntentResolver(
170
140
loginIntentResolverResult = { null },
171
- permalinkParserResult = { permalinkData }
141
+ permalinkParserResult = { permalinkData },
142
+ oidcIntentResolverResult = { null },
172
143
)
173
144
val intent = Intent (RuntimeEnvironment .getApplication(), Activity ::class .java).apply {
174
145
action = Intent .ACTION_VIEW
@@ -187,6 +158,7 @@ class IntentResolverTest {
187
158
val sut = createIntentResolver(
188
159
permalinkParserResult = { PermalinkData .FallbackLink (Uri .parse(" https://matrix.org" )) },
189
160
loginIntentResolverResult = { null },
161
+ oidcIntentResolverResult = { null },
190
162
)
191
163
val intent = Intent (RuntimeEnvironment .getApplication(), Activity ::class .java).apply {
192
164
action = Intent .ACTION_VIEW
@@ -202,7 +174,8 @@ class IntentResolverTest {
202
174
userId = UserId (" @alice:matrix.org" )
203
175
)
204
176
val sut = createIntentResolver(
205
- permalinkParserResult = { permalinkData }
177
+ permalinkParserResult = { permalinkData },
178
+ oidcIntentResolverResult = { null },
206
179
)
207
180
val intent = Intent (RuntimeEnvironment .getApplication(), Activity ::class .java).apply {
208
181
action = Intent .ACTION_BATTERY_LOW
@@ -214,7 +187,9 @@ class IntentResolverTest {
214
187
215
188
@Test
216
189
fun `test incoming share simple` () {
217
- val sut = createIntentResolver()
190
+ val sut = createIntentResolver(
191
+ oidcIntentResolverResult = { null },
192
+ )
218
193
val intent = Intent (RuntimeEnvironment .getApplication(), Activity ::class .java).apply {
219
194
action = Intent .ACTION_SEND
220
195
}
@@ -224,7 +199,9 @@ class IntentResolverTest {
224
199
225
200
@Test
226
201
fun `test incoming share multiple` () {
227
- val sut = createIntentResolver()
202
+ val sut = createIntentResolver(
203
+ oidcIntentResolverResult = { null },
204
+ )
228
205
val intent = Intent (RuntimeEnvironment .getApplication(), Activity ::class .java).apply {
229
206
action = Intent .ACTION_SEND_MULTIPLE
230
207
}
@@ -237,6 +214,7 @@ class IntentResolverTest {
237
214
val sut = createIntentResolver(
238
215
permalinkParserResult = { PermalinkData .FallbackLink (Uri .parse(" https://matrix.org" )) },
239
216
loginIntentResolverResult = { null },
217
+ oidcIntentResolverResult = { null },
240
218
)
241
219
val intent = Intent (RuntimeEnvironment .getApplication(), Activity ::class .java).apply {
242
220
action = Intent .ACTION_VIEW
@@ -251,6 +229,7 @@ class IntentResolverTest {
251
229
val aLoginParams = LoginParams (" accountProvider" , null )
252
230
val sut = createIntentResolver(
253
231
loginIntentResolverResult = { aLoginParams },
232
+ oidcIntentResolverResult = { null },
254
233
)
255
234
val intent = Intent (RuntimeEnvironment .getApplication(), Activity ::class .java).apply {
256
235
action = Intent .ACTION_VIEW
@@ -263,16 +242,15 @@ class IntentResolverTest {
263
242
private fun createIntentResolver (
264
243
permalinkParserResult : (String ) -> PermalinkData = { lambdaError() },
265
244
loginIntentResolverResult : (String ) -> LoginParams ? = { lambdaError() },
245
+ oidcIntentResolverResult : (Intent ) -> OidcAction ? = { lambdaError() },
266
246
): IntentResolver {
267
247
return IntentResolver (
268
248
deeplinkParser = DeeplinkParser (),
269
249
loginIntentResolver = FakeLoginIntentResolver (
270
250
parseResult = loginIntentResolverResult,
271
251
),
272
- oidcIntentResolver = DefaultOidcIntentResolver (
273
- oidcUrlParser = DefaultOidcUrlParser (
274
- oidcRedirectUrlProvider = FakeOidcRedirectUrlProvider (),
275
- )
252
+ oidcIntentResolver = FakeOidcIntentResolver (
253
+ resolveResult = oidcIntentResolverResult,
276
254
),
277
255
permalinkParser = FakePermalinkParser (
278
256
result = permalinkParserResult
0 commit comments