@@ -83,6 +83,8 @@ internal class DatadogFlagsClientTest {
8383 @StringForgery
8484 lateinit var fakeJsonKey: String
8585
86+ lateinit var fakeJsonDefaultValue: JSONObject
87+
8688 private lateinit var fakeDefaultMapValue: Map <String , Any ?>
8789
8890 @BeforeEach
@@ -91,6 +93,11 @@ internal class DatadogFlagsClientTest {
9193 " name" to forge.anAlphabeticalString(),
9294 " age" to forge.anInt()
9395 )
96+
97+ fakeJsonDefaultValue = JSONObject ().apply {
98+ put(fakeJsonKey, forge.anAlphabeticalString())
99+ }
100+
94101 whenever(mockFeatureSdkCore.internalLogger) doReturn mockInternalLogger
95102 whenever(mockFeatureSdkCore.getFeature(RUM_FEATURE_NAME )) doReturn mock()
96103
@@ -106,6 +113,7 @@ internal class DatadogFlagsClientTest {
106113 targetingKey = forge.anAlphabeticalString(),
107114 attributes = emptyMap()
108115 )
116+
109117 whenever(mockFlagsRepository.getEvaluationContext()) doReturn defaultContext
110118
111119 testedClient = DatadogFlagsClient (
@@ -504,10 +512,6 @@ internal class DatadogFlagsClientTest {
504512 @StringForgery fakeFlagKey : String
505513 ) {
506514 // Given
507- val fakeFlagKey = forge.anAlphabeticalString()
508- val fakeDefaultValue = JSONObject ().apply {
509- put(fakeJsonKey, forge.anAlphabeticalString())
510- }
511515 val fakeFlagValue = JSONObject ().apply {
512516 put(" key1" , forge.anAlphabeticalString())
513517 put(" key2" , forge.anInt())
@@ -523,7 +527,7 @@ internal class DatadogFlagsClientTest {
523527 whenever(mockFlagsRepository.getPrecomputedFlagWithContext(fakeFlagKey)) doReturn (fakeFlag to fakeContext)
524528
525529 // When
526- val result = testedClient.resolveStructureValue(fakeFlagKey, fakeDefaultValue )
530+ val result = testedClient.resolveStructureValue(fakeFlagKey, fakeJsonDefaultValue )
527531
528532 // Then
529533 assertThat(result.toString()).isEqualTo(fakeFlagValue.toString())
@@ -533,9 +537,6 @@ internal class DatadogFlagsClientTest {
533537 fun `M return default value W resolveStructureValue() { flag exists with invalid JSON }` (forge : Forge ) {
534538 // Given
535539 val fakeFlagKey = forge.anAlphabeticalString()
536- val fakeDefaultValue = JSONObject ().apply {
537- put(fakeJsonKey, forge.anAlphabeticalString())
538- }
539540 val fakeFlag = forge.getForgery<PrecomputedFlag >().copy(
540541 variationType = VariationType .OBJECT .value,
541542 variationValue = " invalid json {"
@@ -547,20 +548,17 @@ internal class DatadogFlagsClientTest {
547548 whenever(mockFlagsRepository.getPrecomputedFlagWithContext(fakeFlagKey)) doReturn (fakeFlag to fakeContext)
548549
549550 // When
550- val result = testedClient.resolveStructureValue(fakeFlagKey, fakeDefaultValue )
551+ val result = testedClient.resolveStructureValue(fakeFlagKey, fakeJsonDefaultValue )
551552
552553 // Then
553- assertThat(result).isEqualTo(fakeDefaultValue )
554+ assertThat(result).isEqualTo(fakeJsonDefaultValue )
554555 // Parse errors are not logged - they're expected in normal operation
555556 }
556557
557558 @Test
558559 fun `M return default value W resolveStructureValue() { flag exists with malformed JSON }` (forge : Forge ) {
559560 // Given
560561 val fakeFlagKey = forge.anAlphabeticalString()
561- val fakeDefaultValue = JSONObject ().apply {
562- put(fakeJsonKey, forge.anAlphabeticalString())
563- }
564562 val fakeFlag = forge.getForgery<PrecomputedFlag >().copy(
565563 variationType = VariationType .OBJECT .value,
566564 variationValue = " {\" unclosed\" : \" quote"
@@ -572,18 +570,17 @@ internal class DatadogFlagsClientTest {
572570 whenever(mockFlagsRepository.getPrecomputedFlagWithContext(fakeFlagKey)) doReturn (fakeFlag to fakeContext)
573571
574572 // When
575- val result = testedClient.resolveStructureValue(fakeFlagKey, fakeDefaultValue )
573+ val result = testedClient.resolveStructureValue(fakeFlagKey, fakeJsonDefaultValue )
576574
577575 // Then
578- assertThat(result).isEqualTo(fakeDefaultValue )
576+ assertThat(result).isEqualTo(fakeJsonDefaultValue )
579577 // Parse errors are not logged - they're expected in normal operation
580578 }
581579
582580 @Test
583581 fun `M return default value W resolveStructureValue() { flag exists with completely invalid JSON }` (forge : Forge ) {
584582 // Given
585583 val fakeFlagKey = forge.anAlphabeticalString()
586- val fakeDefaultValue = JSONObject ()
587584 val fakeFlag = forge.getForgery<PrecomputedFlag >().copy(
588585 variationType = VariationType .OBJECT .value,
589586 variationValue = " not json at all!"
@@ -595,43 +592,37 @@ internal class DatadogFlagsClientTest {
595592 whenever(mockFlagsRepository.getPrecomputedFlagWithContext(fakeFlagKey)) doReturn (fakeFlag to fakeContext)
596593
597594 // When
598- val result = testedClient.resolveStructureValue(fakeFlagKey, fakeDefaultValue )
595+ val result = testedClient.resolveStructureValue(fakeFlagKey, fakeJsonDefaultValue )
599596
600597 // Then
601- assertThat(result).isEqualTo(fakeDefaultValue )
598+ assertThat(result).isEqualTo(fakeJsonDefaultValue )
602599 // Parse errors are not logged - they're expected in normal operation
603600 }
604601
605602 @Test
606603 fun `M return default value W resolveStructureValue() {flag does not exist}` (forge : Forge ) {
607604 // Given
608605 val fakeFlagKey = forge.anAlphabeticalString()
609- val fakeDefaultValue = JSONObject ().apply {
610- put(fakeJsonKey, forge.anAlphabeticalString())
611- }
612606 whenever(mockFlagsRepository.getPrecomputedFlagWithContext(fakeFlagKey)) doReturn null
613607
614608 // When
615- val result = testedClient.resolveStructureValue(fakeFlagKey, fakeDefaultValue )
609+ val result = testedClient.resolveStructureValue(fakeFlagKey, fakeJsonDefaultValue )
616610
617611 // Then
618- assertThat(result).isEqualTo(fakeDefaultValue )
612+ assertThat(result).isEqualTo(fakeJsonDefaultValue )
619613 }
620614
621615 @Test
622616 fun `M return default value W resolveStructureValue() { provider not ready }` (forge : Forge ) {
623617 // Given
624618 val fakeFlagKey = forge.anAlphabeticalString()
625- val fakeDefaultValue = JSONObject ().apply {
626- put(fakeJsonKey, forge.anAlphabeticalString())
627- }
628619 whenever(mockFlagsRepository.getEvaluationContext()) doReturn null
629620
630621 // When
631- val result = testedClient.resolveStructureValue(fakeFlagKey, fakeDefaultValue )
622+ val result = testedClient.resolveStructureValue(fakeFlagKey, fakeJsonDefaultValue )
632623
633624 // Then
634- assertThat(result).isEqualTo(fakeDefaultValue )
625+ assertThat(result).isEqualTo(fakeJsonDefaultValue )
635626 verifyNoInteractions(mockProcessor)
636627 verifyNoInteractions(mockRumEvaluationLogger)
637628 }
0 commit comments