MCPcopy Index your code
hub / github.com/bytebase/bytebase / TestDataSource

Function TestDataSource

backend/tests/data_source_test.go:14–166  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

12)
13
14func TestDataSource(t *testing.T) {
15 a := require.New(t)
16 ctx := context.Background()
17 ctl := &controller{}
18 ctx, err := ctl.StartServerWithExternalPg(ctx)
19 a.NoError(err)
20 defer ctl.Close(ctx)
21
22 instanceRootDir := t.TempDir()
23 instanceName := "testInstance1"
24 instanceDir, err := ctl.provisionSQLiteInstance(instanceRootDir, instanceName)
25 a.NoError(err)
26
27 instanceResp, err := ctl.instanceServiceClient.CreateInstance(ctx, connect.NewRequest(&v1pb.CreateInstanceRequest{
28 InstanceId: generateRandomString("instance"),
29 Instance: &v1pb.Instance{
30 Title: "test",
31 Engine: v1pb.Engine_SQLITE,
32 Environment: new("environments/prod"),
33 Activation: true,
34 DataSources: []*v1pb.DataSource{{Type: v1pb.DataSourceType_ADMIN, Id: "admin-ds", Host: instanceDir}},
35 },
36 }))
37 instance := instanceResp.Msg
38 a.NoError(err)
39
40 err = ctl.removeLicense(ctx)
41 a.NoError(err)
42 _, err = ctl.instanceServiceClient.AddDataSource(ctx, connect.NewRequest(&v1pb.AddDataSourceRequest{
43 Name: instance.Name,
44 DataSource: &v1pb.DataSource{
45 Id: "readonly-validate-only",
46 Type: v1pb.DataSourceType_READ_ONLY,
47 Host: instanceDir,
48 },
49 ValidateOnly: true,
50 }))
51 a.ErrorContains(err, "TEAM feature, please upgrade to access it")
52
53 _, err = ctl.instanceServiceClient.AddDataSource(ctx, connect.NewRequest(&v1pb.AddDataSourceRequest{
54 Name: instance.Name,
55 DataSource: &v1pb.DataSource{
56 Id: "readonly",
57 Type: v1pb.DataSourceType_READ_ONLY,
58 Username: "ro_ds",
59 Password: "",
60 SslCa: "",
61 SslCert: "",
62 SslKey: "",
63 },
64 }))
65 a.ErrorContains(err, "TEAM feature, please upgrade to access it")
66
67 err = ctl.setLicense(ctx)
68 a.NoError(err)
69 _, err = ctl.instanceServiceClient.AddDataSource(ctx, connect.NewRequest(&v1pb.AddDataSourceRequest{
70 Name: instance.Name,
71 DataSource: &v1pb.DataSource{

Callers

nothing calls this directly

Calls 13

CloseMethod · 0.95
removeLicenseMethod · 0.95
setLicenseMethod · 0.95
generateRandomStringFunction · 0.85
CreateInstanceMethod · 0.65
AddDataSourceMethod · 0.65
GetInstanceMethod · 0.65
EqualMethod · 0.65
UpdateDataSourceMethod · 0.65
UpdateInstanceMethod · 0.65

Tested by

no test coverage detected