@@ -62,17 +62,41 @@ def test_hive_catalog_missing_uri_shows_helpful_error(mocker: MockFixture) -> No
6262 assert "'uri'" not in result .output
6363
6464
65+ @pytest .mark .filterwarnings (
66+ "ignore:Deprecated in 0.11.0, will be removed in 1.0.0. "
67+ "Please use `pyiceberg --version` instead of `pyiceberg version`:DeprecationWarning"
68+ )
6569def test_version_does_not_load_catalog (mocker : MockFixture ) -> None :
6670 mock_load_catalog = mocker .patch ("pyiceberg.cli.console.load_catalog" , side_effect = Exception ("should not be called" ))
6771
6872 runner = CliRunner ()
6973 result = runner .invoke (run , ["version" ])
7074
7175 assert result .exit_code == 0
72- assert result .output == f" { __version__ } \n "
76+ assert __version__ in result .output
7377 mock_load_catalog .assert_not_called ()
7478
7579
80+ def test_version_flag () -> None :
81+ runner = CliRunner ()
82+ result = runner .invoke (run , ["--version" ])
83+
84+ assert result .exit_code == 0
85+ assert result .output == f"{ __version__ } \n "
86+
87+
88+ def test_version_command_emits_deprecation_warning (mocker : MockFixture ) -> None :
89+ mocker .patch ("pyiceberg.cli.console.load_catalog" )
90+
91+ runner = CliRunner ()
92+ with pytest .warns (DeprecationWarning , match = "Please use `pyiceberg --version` instead of `pyiceberg version`" ):
93+ result = runner .invoke (run , ["version" ])
94+
95+ assert result .exit_code == 0
96+ assert "deprecated" in result .output .lower ()
97+ assert "pyiceberg --version" in result .output
98+
99+
76100@pytest .fixture (autouse = True )
77101def env_vars (mocker : MockFixture ) -> None :
78102 mocker .patch .dict (os .environ , MOCK_ENVIRONMENT )
0 commit comments