Skip to content

Commit 1780fcb

Browse files
fix(server): migrate stamen_toner to open_street_map instead of carto_light (#151)
Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
1 parent 6ec0432 commit 1780fcb

5 files changed

Lines changed: 33 additions & 65 deletions

server/internal/infrastructure/mongo/migration/260525000715_revert_tile_and_terrain_providers.go

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ import (
1919
// - "cesium_ion" with asset_id 3 → "default_label" (and remove asset_id field)
2020
// - "cesium_ion" with asset_id 4 → "default_road" (and remove asset_id field)
2121
// - "cesium_ion" with asset_id 3812 → "black_marble" (and remove asset_id field)
22-
// - "carto_light" → "stamen_toner"
2322
// - "open_street_map" → "esri_world_topo"
2423
// Terrain reversion rules:
2524
// - "reearth_terrain" → "arcgis"
@@ -47,12 +46,7 @@ func RevertTileAndTerrainProviders(ctx context.Context, c DBClient) error {
4746
return fmt.Errorf("failed to revert cesium_ion (asset_id: 3812) to 'black_marble': %w", err)
4847
}
4948

50-
// Reversion 5: carto_light → stamen_toner (simple rename)
51-
if err := revertTileSimpleRename(ctx, col, "carto_light", "stamen_toner"); err != nil {
52-
return fmt.Errorf("failed to revert tile 'carto_light': %w", err)
53-
}
54-
55-
// Reversion 6: open_street_map → esri_world_topo (simple rename)
49+
// Reversion 5: open_street_map → esri_world_topo (simple rename)
5650
if err := revertTileSimpleRename(ctx, col, "open_street_map", "esri_world_topo"); err != nil {
5751
return fmt.Errorf("failed to revert tile 'open_street_map': %w", err)
5852
}

server/internal/infrastructure/mongo/migration/260525000715_revert_tile_and_terrain_providers_test.go

Lines changed: 13 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -109,27 +109,8 @@ func TestRevertTileAndTerrainProviders_TileReversions(t *testing.T) {
109109
},
110110
}
111111

112-
// Test case 5: carto_lightstamen_toner
112+
// Test case 5: open_street_mapesri_world_topo
113113
doc5 := bson.M{
114-
"_id": primitive.NewObjectID(),
115-
"items": bson.A{
116-
bson.M{
117-
"groups": bson.A{
118-
bson.M{
119-
"fields": bson.A{
120-
bson.M{
121-
"field": "tile_type",
122-
"value": "carto_light",
123-
},
124-
},
125-
},
126-
},
127-
},
128-
},
129-
}
130-
131-
// Test case 6: open_street_map → esri_world_topo
132-
doc6 := bson.M{
133114
"_id": primitive.NewObjectID(),
134115
"items": bson.A{
135116
bson.M{
@@ -148,7 +129,7 @@ func TestRevertTileAndTerrainProviders_TileReversions(t *testing.T) {
148129
}
149130

150131
// Test case 7: cesium_ion with different asset_id should not be changed
151-
doc7 := bson.M{
132+
doc6 := bson.M{
152133
"_id": primitive.NewObjectID(),
153134
"items": bson.A{
154135
bson.M{
@@ -171,7 +152,7 @@ func TestRevertTileAndTerrainProviders_TileReversions(t *testing.T) {
171152
}
172153

173154
// Insert test documents
174-
_, err := db.Collection("property").InsertMany(ctx, []any{doc1, doc2, doc3, doc4, doc5, doc6, doc7})
155+
_, err := db.Collection("property").InsertMany(ctx, []any{doc1, doc2, doc3, doc4, doc5, doc6})
175156
require.NoError(t, err)
176157

177158
// Run revert migration
@@ -214,28 +195,21 @@ func TestRevertTileAndTerrainProviders_TileReversions(t *testing.T) {
214195
assert.Equal(t, "tile_type", fields4[0].(bson.M)["field"])
215196
assert.Equal(t, "black_marble", fields4[0].(bson.M)["value"])
216197

217-
// Verify doc5: carto_lightstamen_toner
198+
// Verify doc5: open_street_mapesri_world_topo
218199
var updatedDoc5 bson.M
219200
err = db.Collection("property").FindOne(ctx, bson.M{"_id": doc5["_id"]}).Decode(&updatedDoc5)
220201
require.NoError(t, err)
221202
value5 := updatedDoc5["items"].(primitive.A)[0].(bson.M)["groups"].(primitive.A)[0].(bson.M)["fields"].(primitive.A)[0].(bson.M)["value"]
222-
assert.Equal(t, "stamen_toner", value5)
203+
assert.Equal(t, "esri_world_topo", value5)
223204

224-
// Verify doc6: open_street_map → esri_world_topo
205+
// Verify doc6: cesium_ion with asset_id 999 unchanged
225206
var updatedDoc6 bson.M
226207
err = db.Collection("property").FindOne(ctx, bson.M{"_id": doc6["_id"]}).Decode(&updatedDoc6)
227208
require.NoError(t, err)
228-
value6 := updatedDoc6["items"].(primitive.A)[0].(bson.M)["groups"].(primitive.A)[0].(bson.M)["fields"].(primitive.A)[0].(bson.M)["value"]
229-
assert.Equal(t, "esri_world_topo", value6)
230-
231-
// Verify doc7: cesium_ion with asset_id 999 unchanged
232-
var updatedDoc7 bson.M
233-
err = db.Collection("property").FindOne(ctx, bson.M{"_id": doc7["_id"]}).Decode(&updatedDoc7)
234-
require.NoError(t, err)
235-
fields7 := updatedDoc7["items"].(primitive.A)[0].(bson.M)["groups"].(primitive.A)[0].(bson.M)["fields"].(primitive.A)
236-
assert.Len(t, fields7, 2)
237-
assert.Equal(t, "cesium_ion", fields7[0].(bson.M)["value"])
238-
assert.Equal(t, float64(999), fields7[1].(bson.M)["value"])
209+
fields6 := updatedDoc6["items"].(primitive.A)[0].(bson.M)["groups"].(primitive.A)[0].(bson.M)["fields"].(primitive.A)
210+
assert.Len(t, fields6, 2)
211+
assert.Equal(t, "cesium_ion", fields6[0].(bson.M)["value"])
212+
assert.Equal(t, float64(999), fields6[1].(bson.M)["value"])
239213
}
240214

241215
func TestRevertTileAndTerrainProviders_TerrainReversions(t *testing.T) {
@@ -418,7 +392,7 @@ func TestRevertTileAndTerrainProviders_MultipleTilesInDocument(t *testing.T) {
418392
"fields": bson.A{
419393
bson.M{
420394
"field": "tile_type",
421-
"value": "carto_light",
395+
"value": "open_street_map",
422396
},
423397
},
424398
},
@@ -458,9 +432,9 @@ func TestRevertTileAndTerrainProviders_MultipleTilesInDocument(t *testing.T) {
458432
assert.Len(t, fields1, 1)
459433
assert.Equal(t, "default", fields1[0].(bson.M)["value"])
460434

461-
// Check second tile (carto_lightstamen_toner)
435+
// Check second tile (open_street_mapesri_world_topo)
462436
fields2 := items[0].(bson.M)["groups"].(primitive.A)[1].(bson.M)["fields"].(primitive.A)
463-
assert.Equal(t, "stamen_toner", fields2[0].(bson.M)["value"])
437+
assert.Equal(t, "esri_world_topo", fields2[0].(bson.M)["value"])
464438

465439
// Check terrain (reearth_terrain → arcgis)
466440
fields3 := items[1].(bson.M)["groups"].(primitive.A)[0].(bson.M)["fields"].(primitive.A)

server/internal/infrastructure/mongo/migration/260525000715_update_tile_and_terrain_providers.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import (
1616
// - "default_label" → "cesium_ion" with cesium_ion_asset_id: 3
1717
// - "default_road" → "cesium_ion" with cesium_ion_asset_id: 4
1818
// - "black_marble" → "cesium_ion" with cesium_ion_asset_id: 3812
19-
// - "stamen_toner" → "carto_light"
19+
// - "stamen_toner" → "open_street_map"
2020
// - "esri_world_topo" → "open_street_map"
2121
// Terrain migration rules:
2222
// - "arcgis" → "reearth_terrain"
@@ -44,8 +44,8 @@ func UpdateTileAndTerrainProviders(ctx context.Context, c DBClient) error {
4444
return fmt.Errorf("failed to migrate tile 'black_marble': %w", err)
4545
}
4646

47-
// Migration 5: stamen_toner → carto_light (simple rename)
48-
if err := migrateTileSimpleRename(ctx, col, "stamen_toner", "carto_light"); err != nil {
47+
// Migration 5: stamen_toner → open_street_map (simple rename)
48+
if err := migrateTileSimpleRename(ctx, col, "stamen_toner", "open_street_map"); err != nil {
4949
return fmt.Errorf("failed to migrate tile 'stamen_toner': %w", err)
5050
}
5151

server/internal/infrastructure/mongo/migration/260525000715_update_tile_and_terrain_providers_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ func TestUpdateTileAndTerrainProviders_TileMigrations(t *testing.T) {
9393
},
9494
}
9595

96-
// Test case 5: stamen_toner → carto_light
96+
// Test case 5: stamen_toner → open_street_map
9797
doc5 := bson.M{
9898
"_id": primitive.NewObjectID(),
9999
"items": bson.A{
@@ -194,12 +194,12 @@ func TestUpdateTileAndTerrainProviders_TileMigrations(t *testing.T) {
194194
assert.Equal(t, "cesium_ion_asset_id", fields4[1].(bson.M)["field"])
195195
assert.Equal(t, float64(3812), fields4[1].(bson.M)["value"])
196196

197-
// Verify doc5: stamen_toner → carto_light
197+
// Verify doc5: stamen_toner → open_street_map
198198
var updatedDoc5 bson.M
199199
err = db.Collection("property").FindOne(ctx, bson.M{"_id": doc5["_id"]}).Decode(&updatedDoc5)
200200
require.NoError(t, err)
201201
value5 := updatedDoc5["items"].(primitive.A)[0].(bson.M)["groups"].(primitive.A)[0].(bson.M)["fields"].(primitive.A)[0].(bson.M)["value"]
202-
assert.Equal(t, "carto_light", value5)
202+
assert.Equal(t, "open_street_map", value5)
203203

204204
// Verify doc6: esri_world_topo → open_street_map
205205
var updatedDoc6 bson.M
@@ -393,9 +393,9 @@ func TestUpdateTileAndTerrainProviders_MultipleTilesInDocument(t *testing.T) {
393393
assert.Equal(t, "cesium_ion", fields1[0].(bson.M)["value"])
394394
assert.Equal(t, "cesium_ion_asset_id", fields1[1].(bson.M)["field"])
395395

396-
// Check second tile (stamen_toner → carto_light)
396+
// Check second tile (stamen_toner → open_street_map)
397397
fields2 := items[0].(bson.M)["groups"].(primitive.A)[1].(bson.M)["fields"].(primitive.A)
398-
assert.Equal(t, "carto_light", fields2[0].(bson.M)["value"])
398+
assert.Equal(t, "open_street_map", fields2[0].(bson.M)["value"])
399399

400400
// Check terrain (arcgis → reearth_terrain)
401401
fields3 := items[1].(bson.M)["groups"].(primitive.A)[0].(bson.M)["fields"].(primitive.A)

server/internal/infrastructure/mongo/migration/migrations.go

Lines changed: 11 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)