| 65 | } |
| 66 | |
| 67 | func TestInitWithClickHouse(t *testing.T) { |
| 68 | require := require.New(t) |
| 69 | |
| 70 | repo := makeRepo(t, map[string]string{}) |
| 71 | err := InitEmpty(t.Context(), repo, "test-instance", "Test Project", "clickhouse") |
| 72 | require.NoError(err) |
| 73 | |
| 74 | // Verify the contents of the rill.yaml file |
| 75 | rillYAML, err := repo.Get(t.Context(), "rill.yaml") |
| 76 | require.NoError(err) |
| 77 | require.Contains(rillYAML, "compiler: ") |
| 78 | require.Contains(rillYAML, "display_name: Test Project") |
| 79 | require.Contains(rillYAML, "olap_connector: clickhouse") |
| 80 | |
| 81 | // Verify the contents of the .gitignore file |
| 82 | gitignore, err := repo.Get(t.Context(), ".gitignore") |
| 83 | require.NoError(err) |
| 84 | require.Contains(gitignore, ".DS_Store") |
| 85 | require.Contains(gitignore, "# Rill") |
| 86 | require.Contains(gitignore, ".env") |
| 87 | require.Contains(gitignore, "tmp") |
| 88 | |
| 89 | // Verify the contents of the connectors/clickhouse.yaml file |
| 90 | clickhouseYAML, err := repo.Get(t.Context(), "connectors/clickhouse.yaml") |
| 91 | require.NoError(err) |
| 92 | require.Contains(clickhouseYAML, "type: connector") |
| 93 | require.Contains(clickhouseYAML, "driver: clickhouse") |
| 94 | require.Contains(clickhouseYAML, "managed: true") |
| 95 | |
| 96 | // Verify that duckdb.yaml is NOT created for ClickHouse projects |
| 97 | _, err = repo.Get(t.Context(), "connectors/duckdb.yaml") |
| 98 | require.Error(err) |
| 99 | } |