@@ -92,34 +92,26 @@ def tearDown(self):
9292 if "DATASETS_BUCKET_NAME" in os .environ :
9393 del os .environ ["DATASETS_BUCKET_NAME" ]
9494
95- @patch (
96- "tasks.pmtiles_builder.build_pmtiles.PmtilesBuilder._download_files_from_gcs"
97- )
98- @patch ("tasks.pmtiles_builder.build_pmtiles.PmtilesBuilder._create_routes_geojson" )
99- @patch ("tasks.pmtiles_builder.build_pmtiles.PmtilesBuilder._run_tippecanoe" )
100- @patch ("tasks.pmtiles_builder.build_pmtiles.PmtilesBuilder._create_stops_geojson" )
101- @patch ("tasks.pmtiles_builder.build_pmtiles.PmtilesBuilder._create_routes_json" )
102- @patch ("tasks.pmtiles_builder.build_pmtiles.PmtilesBuilder._upload_files_to_gcs" )
103- def test_build_pmtiles_calls_create_shapes_index (
104- self ,
105- mock_upload ,
106- mock_routes_json ,
107- mock_stops_geojson ,
108- mock_run_tippecanoe ,
109- mock_routes_geojson ,
110- mock_download ,
111- ):
112- self .builder .bucket = MagicMock ()
113- self .builder .bucket .list_blobs .return_value = []
114- # Create minimal shapes.txt in local_dir
95+ def test_build_pmtiles_creates_correct_shapes_index (self ):
96+ # Prepare shapes.txt
11597 os .makedirs (local_dir , exist_ok = True )
11698 shapes_path = os .path .join (local_dir , "shapes.txt" )
11799 with open (shapes_path , "w" , encoding = "utf-8" ) as f :
118- f .write (
119- "shape_id,shape_pt_lat,shape_pt_lon,shape_pt_sequence\n s1,45.0,-73.0,1\n "
120- )
121- result = self .builder .build_pmtiles ()
122- self .assertIn ("message" , result )
100+ f .write ("shape_id,shape_pt_lat,shape_pt_lon,shape_pt_sequence\n " )
101+ f .write ("s1,45.0,-73.0,1\n " )
102+ f .write ("s1,45.1,-73.1,2\n " )
103+ f .write ("s2,46.0,-74.0,1\n " )
104+
105+ index = self .builder ._create_shapes_index ()
106+ self .assertIn ("columns" , index )
107+ self .assertEqual (
108+ index ["columns" ],
109+ ["shape_id" , "shape_pt_lat" , "shape_pt_lon" , "shape_pt_sequence" ],
110+ )
111+ self .assertIn ("s1" , index )
112+ self .assertIn ("s2" , index )
113+ self .assertEqual (len (index ["s1" ]), 2 )
114+ self .assertEqual (len (index ["s2" ]), 1 )
123115
124116 def test_get_shape_points (self ):
125117 # Prepare shapes.txt
0 commit comments