Skip to content

Commit 7bc5991

Browse files
authored
dataconnect(change): merge "X-Client-Platform" header into "X-Client-Version" (#8495)
1 parent a0b95c2 commit 7bc5991

5 files changed

Lines changed: 9 additions & 45 deletions

File tree

firebase-dataconnect/CHANGELOG.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,10 @@
77
[#8446](https://github.com/firebase/firebase-android-sdk/pull/8446),
88
[#8456](https://github.com/firebase/firebase-android-sdk/pull/8456),
99
[#8460](https://github.com/firebase/firebase-android-sdk/pull/8460))
10-
- [changed] Add grpc request headers for platform name and sdk version
10+
- [changed] Add grpc request header for platform name and sdk version
1111
to enable metrics collection in cloud monitoring.
12-
([#8486](https://github.com/firebase/firebase-android-sdk/pull/8486))
12+
([#8486](https://github.com/firebase/firebase-android-sdk/pull/8486),
13+
[#8495](https://github.com/firebase/firebase-android-sdk/pull/8495))
1314
- [changed] Wait for 15 seconds before closing realtime streaming connection
1415
with backend after last subscriber unsubscribes (instead of closing the
1516
connection immediately).

firebase-dataconnect/src/androidTest/kotlin/com/google/firebase/dataconnect/GrpcMetadataIntegrationTest.kt

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,6 @@ class GrpcMetadataIntegrationTest : DataConnectIntegrationTestBase() {
328328
.shouldContainAll(
329329
googRequestParamsHeader.name(),
330330
googApiClientHeader.name(),
331-
clientPlatformHeader.name(),
332331
clientVersionHeader.name(),
333332
)
334333
assertSoftly {
@@ -338,8 +337,7 @@ class GrpcMetadataIntegrationTest : DataConnectIntegrationTestBase() {
338337
"location=${dataConnect.config.location}&frontend=data"
339338
metadata.get(googApiClientHeader) shouldBe expectedGoogApiClientHeader(isFromGeneratedSdk)
340339
metadata.get(gmpAppIdHeader) shouldBe expectedAppId
341-
metadata.get(clientPlatformHeader) shouldBe "android"
342-
metadata.get(clientVersionHeader) shouldBe BuildConfig.VERSION_NAME
340+
metadata.get(clientVersionHeader) shouldBe "android/${BuildConfig.VERSION_NAME}"
343341
}
344342
}
345343
}
@@ -478,9 +476,6 @@ class GrpcMetadataIntegrationTest : DataConnectIntegrationTestBase() {
478476
val googApiClientHeader: Metadata.Key<String> =
479477
Metadata.Key.of("x-goog-api-client", Metadata.ASCII_STRING_MARSHALLER)
480478

481-
val clientPlatformHeader: Metadata.Key<String> =
482-
Metadata.Key.of("x-client-platform", Metadata.ASCII_STRING_MARSHALLER)
483-
484479
val clientVersionHeader: Metadata.Key<String> =
485480
Metadata.Key.of("x-client-version", Metadata.ASCII_STRING_MARSHALLER)
486481

firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/core/DataConnectGrpcMetadata.kt

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,7 @@ internal class DataConnectGrpcMetadata(
8383
Metadata().also {
8484
it.put(googRequestParamsHeader, googRequestParamsHeaderValue)
8585
it.put(googApiClientHeader, googApiClientHeaderValue(callerSdkType))
86-
it.put(clientPlatformHeader, "android")
87-
it.put(clientVersionHeader, dataConnectSdkVersion)
86+
it.put(clientVersionHeader, "android/$dataConnectSdkVersion")
8887
if (appId.isNotBlank()) {
8988
it.put(gmpAppIdHeader, appId)
9089
}
@@ -184,9 +183,6 @@ internal class DataConnectGrpcMetadata(
184183
private val googApiClientHeader: Metadata.Key<String> =
185184
Metadata.Key.of(GOOG_API_CLIENT_HEADER, Metadata.ASCII_STRING_MARSHALLER)
186185

187-
private val clientPlatformHeader: Metadata.Key<String> =
188-
Metadata.Key.of("x-client-platform", Metadata.ASCII_STRING_MARSHALLER)
189-
190186
private val clientVersionHeader: Metadata.Key<String> =
191187
Metadata.Key.of("x-client-version", Metadata.ASCII_STRING_MARSHALLER)
192188

firebase-dataconnect/src/test/kotlin/com/google/firebase/dataconnect/core/DataConnectGrpcMetadataUnitTest.kt

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -134,13 +134,6 @@ class DataConnectGrpcMetadataUnitTest {
134134
getExpectedHeaderValue = { "location=q8mgtztcz2&frontend=data" },
135135
)
136136

137-
@Test
138-
fun `should include x-client-platform`() =
139-
testMetadataIncludesHeader(
140-
headerName = "x-client-platform",
141-
getExpectedHeaderValue = { "android" },
142-
)
143-
144137
@Test
145138
fun `should include x-client-version`() =
146139
testMetadataIncludesHeader(
@@ -149,7 +142,7 @@ class DataConnectGrpcMetadataUnitTest {
149142
dataConnectSdkVersion = Arb.constant("v3q46qc2ax"),
150143
),
151144
headerName = "x-client-version",
152-
getExpectedHeaderValue = { "v3q46qc2ax" },
145+
getExpectedHeaderValue = { "android/v3q46qc2ax" },
153146
)
154147

155148
@Test

firebase-dataconnect/src/test/kotlin/com/google/firebase/dataconnect/core/DataConnectGrpcRPCsUnitTest.kt

Lines changed: 3 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -829,46 +829,25 @@ class DataConnectGrpcRPCsUnitTest {
829829
}
830830
}
831831

832-
@Test
833-
fun `executeQuery sends x-client-platform header`() =
834-
testExecuteQuerySendsHeader(
835-
headerName = "x-client-platform",
836-
getExpectedHeaderValue = { "android" },
837-
)
838-
839832
@Test
840833
fun `executeQuery sends x-client-version header`() =
841834
testExecuteQuerySendsHeader(
842835
headerName = "x-client-version",
843-
getExpectedHeaderValue = { it.grpcMetadata.dataConnectSdkVersion },
844-
)
845-
846-
@Test
847-
fun `executeMutation sends x-client-platform header`() =
848-
testExecuteMutationSendsHeader(
849-
headerName = "x-client-platform",
850-
getExpectedHeaderValue = { "android" },
836+
getExpectedHeaderValue = { "android/${it.grpcMetadata.dataConnectSdkVersion}" },
851837
)
852838

853839
@Test
854840
fun `executeMutation sends x-client-version header`() =
855841
testExecuteMutationSendsHeader(
856842
headerName = "x-client-version",
857-
getExpectedHeaderValue = { it.grpcMetadata.dataConnectSdkVersion },
858-
)
859-
860-
@Test
861-
fun `connect sends x-client-platform header`() =
862-
testConnectSendsHeader(
863-
headerName = "x-client-platform",
864-
getExpectedHeaderValue = { "android" },
843+
getExpectedHeaderValue = { "android/${it.grpcMetadata.dataConnectSdkVersion}" },
865844
)
866845

867846
@Test
868847
fun `connect sends x-client-version header`() =
869848
testConnectSendsHeader(
870849
headerName = "x-client-version",
871-
getExpectedHeaderValue = { it.grpcMetadata.dataConnectSdkVersion },
850+
getExpectedHeaderValue = { "android/${it.grpcMetadata.dataConnectSdkVersion}" },
872851
)
873852

874853
private fun testExecuteQuerySendsHeader(

0 commit comments

Comments
 (0)