[BUG] RemoteConfig unit tests fail in non-English (e.g., Korean) Locales due to Date Parsing
Les mainteneurs répondent en général sous 4 jours
Évaluation
Cette issue n'a pas encore été évaluée.
Description
[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:
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:
SimpleDateFormat dateFormat = new SimpleDateFormat(PATTERN);
Recommended fix:
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.
- Langage dominant
- Java
- Étoiles
- 620
- Forks
- 306
- Merge moyen
- 4 j 7 h
- PR mergées (30 j)
- 13
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de firebase/firebase-admin-java
-
google-http-client-jackson2 cannot be excluded even when a JsonFactory is configured via FirebaseOptionsPeut-être pris @lahirumaramba l’a pris il y a 6 jours. Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
firebase/firebase-admin-java#1231 · 1 personne assignée ·
Les mainteneurs répondent en général sous 4 jours
-
Auth list tenants is not pageablePeut-être pris @siddharthmohan619-eng l’a pris il y a 210 jours. Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 45/100
firebase/firebase-admin-java#1192 · 3 commentaires ·
Les mainteneurs répondent en général sous 4 jours
-
needs-triage type: feature request
Difficulté 3/5 1-2 jours Accessibilité débutants 45/100
firebase/firebase-admin-java#1149 · 1 commentaire ·
Les mainteneurs répondent en général sous 4 jours
-
needs-triage type: feature request
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 45/100
firebase/firebase-admin-java#1142 · 2 commentaires ·
Les mainteneurs répondent en général sous 4 jours
-
Opentelemetry-context conflict, please bump google-api-client dependencyPeut-être à nouveau libre @lahirumaramba l’a pris il y a 336 jours, et aucune pull request n’est ouverte. Ouverteapi: core
firebase/firebase-admin-java#1138 · 8 commentaires · 1 personne assignée ·
Les mainteneurs répondent en général sous 4 jours
Toutes les issues de firebase/firebase-admin-java
Issues similaires
-
enhancement
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
helidon-io/helidon#12721 ·
Les mainteneurs répondent en général sous 1 jour
-
Upgrade to Spring RESTDocs 4.0.2Ouvertestatus: team-only type: dependency-upgrade
Difficulté 2/5 1-3 heures Accessibilité débutants 64/100
spring-projects/spring-boot#51966 ·
Les mainteneurs répondent en général sous 1 jour
-
Missing repro Platform: Android
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
software-mansion/react-native-reanimated#10816 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Broken link in Operator GuideOuvertearea/docs backport/26.6 backport/26.8 kind/bug status/triage
Difficulté 1/5 Moins d'une heure Accessibilité débutants 75/100
Les mainteneurs répondent en général sous 1 jour
-
[destination-snowflake] Custom domains rejected unlike source connectionsPeut-être pris @kuza55 l’a pris aujourd’hui. Ouverteautoteam community connectors/destination/snowflake team/use
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 1 jour