Skip to content

Commit fd8bc1f

Browse files
committed
Fix CI issues
1 parent a674d60 commit fd8bc1f

File tree

2 files changed

+37
-14
lines changed

2 files changed

+37
-14
lines changed

content-scope-scripts/content-scope-scripts-impl/src/main/java/com/duckduckgo/contentscopescripts/impl/messaging/AdsjsContentScopeMessaging.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,7 @@ class AdsjsContentScopeMessaging @Inject constructor(
7979
.map { it.getGlobalJsMessageHandler() }
8080
.filter { it.method == jsMessage.method }
8181
.forEach { handler ->
82-
handler.process(jsMessage, jsMessageCallback) {
83-
}
82+
handler.process(jsMessage, jsMessageCallback) { }
8483
}
8584

8685
// Process with feature handlers

content-scope-scripts/content-scope-scripts-impl/src/test/java/com/duckduckgo/contentscopescripts/impl/messaging/AdsjsContentScopeScriptsJsMessagingTest.kt

Lines changed: 36 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,17 @@
1717
package com.duckduckgo.contentscopescripts.impl.messaging
1818

1919
import androidx.test.ext.junit.runners.AndroidJUnit4
20+
import androidx.webkit.JavaScriptReplyProxy
2021
import com.duckduckgo.app.browser.api.DuckDuckGoWebView
2122
import com.duckduckgo.common.test.CoroutineTestRule
2223
import com.duckduckgo.common.utils.plugins.PluginPoint
2324
import com.duckduckgo.contentscopescripts.api.AdsjsContentScopeJsMessageHandlersPlugin
2425
import com.duckduckgo.contentscopescripts.api.GlobalContentScopeJsMessageHandlersPlugin
2526
import com.duckduckgo.contentscopescripts.api.GlobalJsMessageHandler
2627
import com.duckduckgo.contentscopescripts.impl.AdsJsContentScopeScripts
28+
import com.duckduckgo.js.messaging.api.AdsjsJsMessageCallback
2729
import com.duckduckgo.js.messaging.api.AdsjsMessageHandler
2830
import com.duckduckgo.js.messaging.api.JsMessage
29-
import com.duckduckgo.js.messaging.api.JsMessageCallback
3031
import junit.framework.TestCase.assertEquals
3132
import kotlinx.coroutines.test.runTest
3233
import org.json.JSONObject
@@ -46,6 +47,7 @@ class AdsjsContentScopeScriptsJsMessagingTest {
4647

4748
private val mockWebView: DuckDuckGoWebView = mock()
4849
private val adsJsContentScopeScripts: AdsJsContentScopeScripts = mock()
50+
private val mockReplyProxy: JavaScriptReplyProxy = mock()
4951
private val handlers: PluginPoint<AdsjsContentScopeJsMessageHandlersPlugin> = FakePluginPoint()
5052
private val globalHandlers: PluginPoint<GlobalContentScopeJsMessageHandlersPlugin> = FakeGlobalHandlersPluginPoint()
5153
private lateinit var contentScopeScriptsJsMessaging: AdsjsContentScopeMessaging
@@ -58,11 +60,19 @@ class AdsjsContentScopeScriptsJsMessagingTest {
5860
inner class FakePlugin : AdsjsContentScopeJsMessageHandlersPlugin {
5961
override fun getJsMessageHandler(): AdsjsMessageHandler {
6062
return object : AdsjsMessageHandler {
63+
6164
override fun process(
6265
jsMessage: JsMessage,
63-
jsMessageCallback: JsMessageCallback?,
66+
jsMessageCallback: AdsjsJsMessageCallback?,
67+
onResponse: (JSONObject) -> Unit,
6468
) {
65-
jsMessageCallback?.process(jsMessage.featureName, jsMessage.method, jsMessage.id, jsMessage.params)
69+
jsMessageCallback?.process(
70+
jsMessage.featureName,
71+
jsMessage.method,
72+
jsMessage.id,
73+
jsMessage.params,
74+
onResponse,
75+
)
6676
}
6777

6878
override val featureName: String = "webCompat"
@@ -84,9 +94,16 @@ class AdsjsContentScopeScriptsJsMessagingTest {
8494

8595
override fun process(
8696
jsMessage: JsMessage,
87-
jsMessageCallback: JsMessageCallback,
97+
jsMessageCallback: AdsjsJsMessageCallback,
98+
onResponse: (JSONObject) -> Unit,
8899
) {
89-
jsMessageCallback.process(jsMessage.featureName, jsMessage.method, jsMessage.id, jsMessage.params)
100+
jsMessageCallback.process(
101+
jsMessage.featureName,
102+
jsMessage.method,
103+
jsMessage.id,
104+
jsMessage.params,
105+
onResponse,
106+
)
90107
}
91108

92109
override val method: String = "addDebugFlag"
@@ -103,6 +120,7 @@ class AdsjsContentScopeScriptsJsMessagingTest {
103120
globalHandlers = globalHandlers,
104121
adsJsContentScopeScripts = adsJsContentScopeScripts,
105122
coroutineRule.testDispatcherProvider,
123+
coroutineRule.testScope,
106124
)
107125
}
108126

@@ -114,7 +132,7 @@ class AdsjsContentScopeScriptsJsMessagingTest {
114132
{"context":"contentScopeScripts","featureName":"webCompat","id":"myId","method":"webShare","params":{}}
115133
""".trimIndent()
116134

117-
contentScopeScriptsJsMessaging.process(message, callback)
135+
contentScopeScriptsJsMessaging.process(message, callback, mockReplyProxy)
118136

119137
assertEquals(1, callback.counter)
120138
}
@@ -123,7 +141,7 @@ class AdsjsContentScopeScriptsJsMessagingTest {
123141
fun `when processing unknown message do nothing`() = runTest {
124142
givenInterfaceIsRegistered()
125143

126-
contentScopeScriptsJsMessaging.process("", callback)
144+
contentScopeScriptsJsMessaging.process("", callback, mockReplyProxy)
127145

128146
assertEquals(0, callback.counter)
129147
}
@@ -136,7 +154,7 @@ class AdsjsContentScopeScriptsJsMessagingTest {
136154
{"context":"contentScopeScripts","featureName":"test","id":"myId","method":"webShare","params":{}}
137155
""".trimIndent()
138156

139-
contentScopeScriptsJsMessaging.process(message, callback)
157+
contentScopeScriptsJsMessaging.process(message, callback, mockReplyProxy)
140158

141159
assertEquals(0, callback.counter)
142160
}
@@ -149,7 +167,7 @@ class AdsjsContentScopeScriptsJsMessagingTest {
149167
{"context":"contentScopeScripts","webCompat":"test","method":"webShare","params":{}}
150168
""".trimIndent()
151169

152-
contentScopeScriptsJsMessaging.process(message, callback)
170+
contentScopeScriptsJsMessaging.process(message, callback, mockReplyProxy)
153171

154172
assertEquals(0, callback.counter)
155173
}
@@ -162,7 +180,7 @@ class AdsjsContentScopeScriptsJsMessagingTest {
162180
{"context":"contentScopeScripts","featureName":"debugFeature","id":"debugId","method":"addDebugFlag","params":{}}
163181
""".trimIndent()
164182

165-
contentScopeScriptsJsMessaging.process(message, callback)
183+
contentScopeScriptsJsMessaging.process(message, callback, mockReplyProxy)
166184

167185
assertEquals(1, callback.counter)
168186
}
@@ -203,9 +221,15 @@ class AdsjsContentScopeScriptsJsMessagingTest {
203221
verify(mockWebView).safeRemoveWebMessageListener(any())
204222
}
205223

206-
private val callback = object : JsMessageCallback() {
224+
private val callback = object : AdsjsJsMessageCallback() {
207225
var counter = 0
208-
override fun process(featureName: String, method: String, id: String?, data: JSONObject?) {
226+
override fun process(
227+
featureName: String,
228+
method: String,
229+
id: String?,
230+
data: JSONObject?,
231+
onResponse: (params: JSONObject) -> Unit,
232+
) {
209233
counter++
210234
}
211235
}

0 commit comments

Comments
 (0)