@@ -51,18 +51,14 @@ public void testRelativePathReturnsNioProvider() {
5151 provider instanceof org .apache .parquet .storage .impl .NioStorageProvider );
5252 }
5353
54- @ Test
55- public void testHdfsSchemeReturnsHadoopProvider () {
56- StorageProvider provider = Storage .select (URI .create ("hdfs://namenode:8020/test.parquet" ));
57- assertNotNull ("Should return a provider" , provider );
54+ @ Test (expected = IllegalStateException .class )
55+ public void testHdfsSchemeThrowsExceptionWhenHadoopNotAvailable () {
56+ Storage .select (URI .create ("hdfs://namenode:8020/test.parquet" ));
5857 }
5958
60- @ Test
61- public void testUnknownSchemeReturnsNioProvider () {
62- StorageProvider provider = Storage .select (URI .create ("s3://bucket/test.parquet" ));
63- assertTrue (
64- "unknown scheme should return NioStorageProvider" ,
65- provider instanceof org .apache .parquet .storage .impl .NioStorageProvider );
59+ @ Test (expected = IllegalStateException .class )
60+ public void testUnknownSchemeThrowsExceptionWhenHadoopNotAvailable () {
61+ Storage .select (URI .create ("s3://bucket/test.parquet" ));
6662 }
6763
6864 @ Test
@@ -71,4 +67,24 @@ public void testNioProviderBasicOperations() throws IOException {
7167
7268 assertTrue (provider instanceof org .apache .parquet .storage .impl .NioStorageProvider );
7369 }
70+
71+ @ Test
72+ public void testProviderSelectionLogic () {
73+ StorageProvider fileProvider = Storage .select (URI .create ("file:///tmp/test.parquet" ));
74+ assertTrue (
75+ "file:// should always return NIO provider" ,
76+ fileProvider instanceof org .apache .parquet .storage .impl .NioStorageProvider );
77+
78+ try {
79+ Storage .select (URI .create ("hdfs://namenode:8020/test.parquet" ));
80+ fail ("Should throw IllegalStateException for hdfs:// when Hadoop not available" );
81+ } catch (IllegalStateException e ) {
82+ }
83+
84+ try {
85+ Storage .select (URI .create ("s3://bucket/test.parquet" ));
86+ fail ("Should throw IllegalStateException for s3:// when Hadoop not available" );
87+ } catch (IllegalStateException e ) {
88+ }
89+ }
7490}
0 commit comments