Skip to content

Commit e6acfbc

Browse files
committed
Do not include transient parameter if false
1 parent 0a64715 commit e6acfbc

File tree

3 files changed

+19
-2
lines changed

3 files changed

+19
-2
lines changed

FlagsmithClient/src/main/java/com/flagsmith/Flagsmith.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ class Flagsmith constructor(
182182
}
183183

184184
fun getIdentity(identity: String, transient: Boolean = false, result: (Result<IdentityFlagsAndTraits>) -> Unit) =
185-
retrofit.getIdentityFlagsAndTraits(identity, transient).enqueueWithResult(defaults = null, result = result)
185+
retrofit.getIdentityFlagsAndTraits(identity, if (transient) true else null).enqueueWithResult(defaults = null, result = result)
186186
.also { lastUsedIdentity = identity }
187187

188188
fun clearCache() {

FlagsmithClient/src/main/java/com/flagsmith/internal/FlagsmithRetrofitService.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import com.google.gson.GsonBuilder
2323
interface FlagsmithRetrofitService {
2424

2525
@GET("identities/")
26-
fun getIdentityFlagsAndTraits(@Query("identifier") identity: String, @Query("transient") transient: Boolean = false) : Call<IdentityFlagsAndTraits>
26+
fun getIdentityFlagsAndTraits(@Query("identifier") identity: String, @Query("transient") transient: Boolean? = null) : Call<IdentityFlagsAndTraits>
2727

2828
@GET("flags/")
2929
fun getFlags() : Call<List<Flag>>

FlagsmithClient/src/test/java/com/flagsmith/IdentityTests.kt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,23 @@ class IdentityTests {
7373
}
7474
}
7575

76+
@Test
77+
fun testGetIdentityWithoutTransientParameter() {
78+
mockServer.mockResponseFor(MockEndpoint.GET_IDENTITIES)
79+
runBlocking {
80+
flagsmith.getIdentitySync("person")
81+
val requests = mockServer.retrieveRecordedRequests(
82+
request()
83+
.withPath("/identities/")
84+
.withMethod("GET")
85+
)
86+
assertEquals(1, requests.size)
87+
val request = requests[0]
88+
val transientParam = request.queryStringParameterList.find { it.name.toString() == "transient" }
89+
assertNull("transient parameter should not be present", transientParam)
90+
}
91+
}
92+
7693
@Test
7794
fun testGetTransientIdentity() {
7895
mockServer.mockResponseFor(MockEndpoint.GET_TRANSIENT_IDENTITIES)

0 commit comments

Comments
 (0)