|
5 | 5 | from click.testing import CliRunner |
6 | 6 |
|
7 | 7 | from datacustomcode.cli import deploy, init |
| 8 | +from datacustomcode.scan import write_sdk_config |
8 | 9 |
|
9 | 10 |
|
10 | 11 | class TestInit: |
@@ -95,6 +96,30 @@ def test_deploy_command_success(self, mock_credentials, mock_deploy_full): |
95 | 96 | assert call_args[0][1].description == "Custom Data Transform Code" |
96 | 97 | assert call_args[0][2] == mock_creds # credentials |
97 | 98 |
|
| 99 | + @patch("datacustomcode.deploy.deploy_full") |
| 100 | + @patch("datacustomcode.credentials.Credentials.from_available") |
| 101 | + def test_deploy_command_function_invoke_options( |
| 102 | + self, mock_credentials, mock_deploy_full |
| 103 | + ): |
| 104 | + """Test deploy command with function invoke options.""" |
| 105 | + runner = CliRunner() |
| 106 | + with runner.isolated_filesystem(): |
| 107 | + # Create test payload directory |
| 108 | + os.makedirs("payload", exist_ok=True) |
| 109 | + sdk_config = {"type": "function"} |
| 110 | + write_sdk_config(".", sdk_config) |
| 111 | + result = runner.invoke( |
| 112 | + deploy, |
| 113 | + ["--name", "test-job", "--function-invoke-opt", "option1,option2"], |
| 114 | + ) |
| 115 | + |
| 116 | + assert result.exit_code == 0 |
| 117 | + mock_deploy_full.assert_called_once() |
| 118 | + |
| 119 | + # Check that deploy_full was called with function invoke options |
| 120 | + call_args = mock_deploy_full.call_args |
| 121 | + assert call_args[0][1].functionInvokeOptions == ["option1", "option2"] |
| 122 | + |
98 | 123 | @patch("datacustomcode.credentials.Credentials.from_available") |
99 | 124 | def test_deploy_command_credentials_error(self, mock_credentials): |
100 | 125 | """Test deploy command when credentials are not available.""" |
|
0 commit comments