Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions dd-sdk-android-core/api/apiSurface
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ enum com.datadog.android.DatadogSite
- AP1
- AP2
- US1_FED
- US2_FED
- STAGING
val intakeEndpoint: String
class com.datadog.android._InternalProxy
Expand Down
1 change: 1 addition & 0 deletions dd-sdk-android-core/api/dd-sdk-android-core.api
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ public final class com/datadog/android/DatadogSite : java/lang/Enum {
public static final field STAGING Lcom/datadog/android/DatadogSite;
public static final field US1 Lcom/datadog/android/DatadogSite;
public static final field US1_FED Lcom/datadog/android/DatadogSite;
public static final field US2_FED Lcom/datadog/android/DatadogSite;
public static final field US3 Lcom/datadog/android/DatadogSite;
public static final field US5 Lcom/datadog/android/DatadogSite;
public final fun getIntakeEndpoint ()Ljava/lang/String;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,11 @@ enum class DatadogSite private constructor(internal val siteName: String, privat
*/
US1_FED("us1_fed", "browser-intake-ddog-gov.com"),

/**
* The US2_FED site (FedRAMP compatible): [us2.ddog-gov.com](https://us2.ddog-gov.com).
*/
US2_FED("us2_fed", "browser-intake-us2-ddog-gov.com"),

/**
* The STAGING site (internal usage only): [app.datad0g.com](https://app.datad0g.com).
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,11 @@ internal class DatadogSiteTest {
assertThat(DatadogSite.US1_FED.intakeEndpoint).isEqualTo("https://browser-intake-ddog-gov.com")
}

@Test
fun `M return intake endpoint W intakeEndpoint {US2-FED}`() {
assertThat(DatadogSite.US2_FED.intakeEndpoint).isEqualTo("https://browser-intake-us2-ddog-gov.com")
}

@Test
fun `M return intake endpoint W intakeEndpoint {EU1}`() {
assertThat(DatadogSite.EU1.intakeEndpoint).isEqualTo("https://browser-intake-datadoghq.eu")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ internal fun DatadogSite.getFlagsEndpoint(customerDomain: String): String? {
* @return Flags host string in format `<customerDomain>.ff-cdn.<site>.<tld>`, or null if site not supported
*/
private fun DatadogSite.flagsHost(customerDomain: String): String? = when (this) {
DatadogSite.US1_FED -> null
DatadogSite.US1_FED,
DatadogSite.US2_FED -> null

DatadogSite.STAGING -> "$customerDomain.ff-cdn.datad0g.com"
DatadogSite.EU1 -> buildFlagsHostString(customerDomain, tld = "eu") // No site in the host, .eu TLD
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ import com.datadog.android.DatadogSite
import fr.xgouchet.elmyr.annotation.StringForgery
import fr.xgouchet.elmyr.junit5.ForgeExtension
import org.assertj.core.api.Assertions.assertThat
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.extension.ExtendWith
import org.junit.jupiter.params.ParameterizedTest
import org.junit.jupiter.params.provider.Arguments
import org.junit.jupiter.params.provider.EnumSource
import org.junit.jupiter.params.provider.MethodSource

@ExtendWith(ForgeExtension::class)
Expand Down Expand Up @@ -56,10 +56,14 @@ internal class DatadogSiteExtensionsTest {

// region getFlagsEndpoint - Error Cases

@Test
fun `M return null W getFlagsEndpoint() { unsupported site }`(@StringForgery customerDomain: String) {
@ParameterizedTest
@EnumSource(DatadogSite::class, names = ["US1_FED", "US2_FED"])
fun `M return null W getFlagsEndpoint() { unsupported site }`(
site: DatadogSite,
@StringForgery customerDomain: String
) {
// When
val result = DatadogSite.US1_FED.getFlagsEndpoint(customerDomain)
val result = site.getFlagsEndpoint(customerDomain)

// Then
assertThat(result).isNull()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ import org.json.JSONObject
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.extension.ExtendWith
import org.junit.jupiter.params.ParameterizedTest
import org.junit.jupiter.params.provider.EnumSource
import org.mockito.Mock
import org.mockito.junit.jupiter.MockitoExtension
import org.mockito.junit.jupiter.MockitoSettings
Expand All @@ -49,7 +51,10 @@ internal class PrecomputedAssignmentsRequestFactoryTest {
@BeforeEach
fun `set up`(forge: Forge) {
fakeDatadogContext = fakeDatadogContext.copy(
site = forge.aValueFrom(DatadogSite::class.java, exclude = listOf(DatadogSite.US1_FED)),
site = forge.aValueFrom(
DatadogSite::class.java,
exclude = listOf(DatadogSite.US1_FED, DatadogSite.US2_FED)
),
featuresContext = fakeDatadogContext.featuresContext +
mapOf(Feature.RUM_FEATURE_NAME to mapOf("application_id" to fakeRumApplicationId.toString()))
)
Expand Down Expand Up @@ -252,8 +257,10 @@ internal class PrecomputedAssignmentsRequestFactoryTest {

// region create() - Error cases

@Test
@ParameterizedTest
@EnumSource(DatadogSite::class, names = ["US1_FED", "US2_FED"])
fun `M return null W create() { unsupported site and no custom endpoint }`(
site: DatadogSite,
@StringForgery fakeTargetingKey: String
) {
// Given
Expand All @@ -262,7 +269,7 @@ internal class PrecomputedAssignmentsRequestFactoryTest {
attributes = emptyMap()
)
fakeDatadogContext = fakeDatadogContext.copy(
site = DatadogSite.US1_FED
site = site
)

// When
Expand Down
2 changes: 1 addition & 1 deletion sample/kotlin/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ android {

flavorDimensions += listOf("site")
productFlavors {
val regions = arrayOf("us1", "us3", "us5", "us1_fed", "eu1", "ap1", "ap2", "staging")
val regions = arrayOf("us1", "us3", "us5", "us1_fed", "us2_fed", "eu1", "ap1", "ap2", "staging")

regions.forEachIndexed { index, region ->
register(region) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,6 @@ private fun DatadogSite?.browserSite(): String {
DatadogSite.AP1 -> "ap1.datadoghq.com"
DatadogSite.AP2 -> "ap2.datadoghq.com"
DatadogSite.US1_FED -> "ddog-gov.com"
DatadogSite.US2_FED -> "us2.ddog-gov.com"

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, one more fix. The site was also wrong. This time - double checked with browser DataDog/browser-sdk#4495.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

although the old one also resolves and opens a page, but maybe the old name is something to be deprecated

}
}
2 changes: 1 addition & 1 deletion sample/wear/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ android {

flavorDimensions += listOf("site")
productFlavors {
val regions = arrayOf("us1", "us3", "us5", "us1_fed", "eu1", "ap1", "ap2", "staging")
val regions = arrayOf("us1", "us3", "us5", "us1_fed", "us2_fed", "eu1", "ap1", "ap2", "staging")

regions.forEachIndexed { index, region ->
register(region) {
Expand Down
Loading