firebase / firebase/firebase-admin-java

[BUG] RemoteConfig unit tests fail in non-English (e.g., Korean) Locales due to Date Parsing

未關閉
#1,196 1 則留言 0 個 reaction 已指派 2 人 已被 @rathovarun1032 認領 在 GitHub 檢視
api: remoteconfig
主要語言
Java
星號
620
分支
305
平均合併
3 小時 23 分鐘
30 天內合併 PR
1

描述

### [REQUIRED] Step 2: Describe your environment

* **Operating System version:** macOS (Apple Silicon, ko_KR locale)
* **Firebase SDK version:** 9.7.0 (Current development branch)
* **Library version:** N/A
* **Firebase Product:** Remote Config

### [REQUIRED] Step 3: Describe the problem

#### Steps to reproduce:
The unit tests for Remote Config fail when the system's default locale is set to a non-English language (e.g., Korean). This is due to `RemoteConfigUtil` using `SimpleDateFormat` without an explicit `Locale.ENGLISH`, causing parsing errors or string comparison mismatches against English date formats.

#### Error Output:
```text
org.junit.ComparisonFailure: expected:<...NODE","updateTime":"[Tue, 08 Dec] 2020 15:49:51 UTC",...>
but was:<...NODE","updateTime":"[화, 08 12월] 2020 15:49:51 UTC",...>

Caused by: java.text.ParseException: Unparseable date: "Tue, 08 Dec 2020 15:49:51 UTC"
at java.base/java.text.DateFormat.parse(DateFormat.java:427)
at com.google.firebase.remoteconfig.RemoteConfigUtil.convertFromUtcDateFormat(RemoteConfigUtil.java:91)
```

#### Relevant Code:
The issue occurs in `RemoteConfigUtil.java`. There are 4 methods using `SimpleDateFormat` without an explicit `Locale`. To ensure consistent behavior across different system locales, all instances of `SimpleDateFormat` should be instantiated with `Locale.ENGLISH`.

**Affected Methods:**
* `convertToUtcZuluFormat(long millis)`
* `convertToUtcDateFormat(long millis)`
* `convertFromUtcZuluFormat(String dateString)`
* `convertFromUtcDateFormat(String dateString)`

**Current implementation:**
```java
SimpleDateFormat dateFormat = new SimpleDateFormat(PATTERN);
```

Recommended fix:

```Java
SimpleDateFormat dateFormat = new SimpleDateFormat(PATTERN, Locale.ENGLISH);
```

I've already identified the fix and verified it locally by setting the locale to Korean. I'd like to submit a Pull Request to resolve this issue.

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。